
wshtcpip.nostrip.dll:     file format pei-i386

Disassembly of section .text:

777c1000 <_DllMainCRTStartup@12>:
777c1000:	55                   	push   %ebp
777c1001:	89 e5                	mov    %esp,%ebp
777c1003:	57                   	push   %edi
777c1004:	56                   	push   %esi
777c1005:	53                   	push   %ebx
777c1006:	83 ec 0c             	sub    $0xc,%esp
777c1009:	8b 7d 0c             	mov    0xc(%ebp),%edi
777c100c:	83 ff 01             	cmp    $0x1,%edi
777c100f:	0f 84 ab 00 00 00    	je     777c10c0 <_DllMainCRTStartup@12+0xc0>
777c1015:	89 7c 24 04          	mov    %edi,0x4(%esp)
777c1019:	8b 5d 10             	mov    0x10(%ebp),%ebx
777c101c:	8b 4d 08             	mov    0x8(%ebp),%ecx
777c101f:	89 5c 24 08          	mov    %ebx,0x8(%esp)
777c1023:	89 0c 24             	mov    %ecx,(%esp)
777c1026:	e8 b5 01 00 00       	call   777c11e0 <_DllMain@12>
777c102b:	89 c6                	mov    %eax,%esi
777c102d:	83 ec 0c             	sub    $0xc,%esp
777c1030:	83 ff 01             	cmp    $0x1,%edi
777c1033:	0f 94 c2             	sete   %dl
777c1036:	31 c0                	xor    %eax,%eax
777c1038:	85 f6                	test   %esi,%esi
777c103a:	0f 94 c0             	sete   %al
777c103d:	85 c2                	test   %eax,%edx
777c103f:	74 5b                	je     777c109c <_DllMainCRTStartup@12+0x9c>
777c1041:	8b 15 00 40 7c 77    	mov    0x777c4000,%edx
777c1047:	85 d2                	test   %edx,%edx
777c1049:	74 45                	je     777c1090 <_DllMainCRTStartup@12+0x90>
777c104b:	8b 1d 10 40 7c 77    	mov    0x777c4010,%ebx
777c1051:	eb 0d                	jmp    777c1060 <_DllMainCRTStartup@12+0x60>
777c1053:	90                   	nop    
777c1054:	90                   	nop    
777c1055:	90                   	nop    
777c1056:	90                   	nop    
777c1057:	90                   	nop    
777c1058:	90                   	nop    
777c1059:	90                   	nop    
777c105a:	90                   	nop    
777c105b:	90                   	nop    
777c105c:	90                   	nop    
777c105d:	90                   	nop    
777c105e:	90                   	nop    
777c105f:	90                   	nop    
777c1060:	83 eb 04             	sub    $0x4,%ebx
777c1063:	39 d3                	cmp    %edx,%ebx
777c1065:	72 19                	jb     777c1080 <_DllMainCRTStartup@12+0x80>
777c1067:	8b 03                	mov    (%ebx),%eax
777c1069:	85 c0                	test   %eax,%eax
777c106b:	74 f3                	je     777c1060 <_DllMainCRTStartup@12+0x60>
777c106d:	ff d0                	call   *%eax
777c106f:	8b 15 00 40 7c 77    	mov    0x777c4000,%edx
777c1075:	83 eb 04             	sub    $0x4,%ebx
777c1078:	39 d3                	cmp    %edx,%ebx
777c107a:	73 eb                	jae    777c1067 <_DllMainCRTStartup@12+0x67>
777c107c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1080:	89 14 24             	mov    %edx,(%esp)
777c1083:	e8 88 09 00 00       	call   777c1a10 <_free>
777c1088:	31 d2                	xor    %edx,%edx
777c108a:	89 15 00 40 7c 77    	mov    %edx,0x777c4000
777c1090:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c1097:	e8 64 09 00 00       	call   777c1a00 <_fflush>
777c109c:	85 ff                	test   %edi,%edi
777c109e:	75 10                	jne    777c10b0 <_DllMainCRTStartup@12+0xb0>
777c10a0:	8b 15 00 40 7c 77    	mov    0x777c4000,%edx
777c10a6:	85 d2                	test   %edx,%edx
777c10a8:	75 46                	jne    777c10f0 <_DllMainCRTStartup@12+0xf0>
777c10aa:	31 f6                	xor    %esi,%esi
777c10ac:	8d 74 26 00          	lea    0x0(%esi),%esi
777c10b0:	89 f0                	mov    %esi,%eax
777c10b2:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c10b5:	5b                   	pop    %ebx
777c10b6:	5e                   	pop    %esi
777c10b7:	5f                   	pop    %edi
777c10b8:	5d                   	pop    %ebp
777c10b9:	c2 0c 00             	ret    $0xc
777c10bc:	8d 74 26 00          	lea    0x0(%esi),%esi
777c10c0:	c7 04 24 80 00 00 00 	movl   $0x80,(%esp)
777c10c7:	e8 64 09 00 00       	call   777c1a30 <_malloc>
777c10cc:	a3 00 40 7c 77       	mov    %eax,0x777c4000
777c10d1:	85 c0                	test   %eax,%eax
777c10d3:	74 6c                	je     777c1141 <_DllMainCRTStartup@12+0x141>
777c10d5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
777c10db:	a3 10 40 7c 77       	mov    %eax,0x777c4010
777c10e0:	e8 9b 05 00 00       	call   777c1680 <__pei386_runtime_relocator>
777c10e5:	e8 26 05 00 00       	call   777c1610 <___main>
777c10ea:	e9 26 ff ff ff       	jmp    777c1015 <_DllMainCRTStartup@12+0x15>
777c10ef:	90                   	nop    
777c10f0:	8b 1d 10 40 7c 77    	mov    0x777c4010,%ebx
777c10f6:	8d 76 00             	lea    0x0(%esi),%esi
777c10f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
777c1100:	83 eb 04             	sub    $0x4,%ebx
777c1103:	39 d3                	cmp    %edx,%ebx
777c1105:	72 19                	jb     777c1120 <_DllMainCRTStartup@12+0x120>
777c1107:	8b 03                	mov    (%ebx),%eax
777c1109:	85 c0                	test   %eax,%eax
777c110b:	74 f3                	je     777c1100 <_DllMainCRTStartup@12+0x100>
777c110d:	ff d0                	call   *%eax
777c110f:	8b 15 00 40 7c 77    	mov    0x777c4000,%edx
777c1115:	83 eb 04             	sub    $0x4,%ebx
777c1118:	39 d3                	cmp    %edx,%ebx
777c111a:	73 eb                	jae    777c1107 <_DllMainCRTStartup@12+0x107>
777c111c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1120:	89 14 24             	mov    %edx,(%esp)
777c1123:	31 ff                	xor    %edi,%edi
777c1125:	e8 e6 08 00 00       	call   777c1a10 <_free>
777c112a:	89 3d 00 40 7c 77    	mov    %edi,0x777c4000
777c1130:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
777c1137:	e8 c4 08 00 00       	call   777c1a00 <_fflush>
777c113c:	e9 6f ff ff ff       	jmp    777c10b0 <_DllMainCRTStartup@12+0xb0>
777c1141:	e8 da 08 00 00       	call   777c1a20 <__errno>
777c1146:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
777c114c:	31 c0                	xor    %eax,%eax
777c114e:	e9 5f ff ff ff       	jmp    777c10b2 <_DllMainCRTStartup@12+0xb2>
777c1153:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c1159:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1160 <_atexit>:
777c1160:	55                   	push   %ebp
777c1161:	ba 10 40 7c 77       	mov    $0x777c4010,%edx
777c1166:	89 e5                	mov    %esp,%ebp
777c1168:	83 ec 18             	sub    $0x18,%esp
777c116b:	b9 00 40 7c 77       	mov    $0x777c4000,%ecx
777c1170:	8b 45 08             	mov    0x8(%ebp),%eax
777c1173:	89 54 24 08          	mov    %edx,0x8(%esp)
777c1177:	89 4c 24 04          	mov    %ecx,0x4(%esp)
777c117b:	89 04 24             	mov    %eax,(%esp)
777c117e:	e8 6d 08 00 00       	call   777c19f0 <___dllonexit>
777c1183:	c9                   	leave  
777c1184:	83 f8 01             	cmp    $0x1,%eax
777c1187:	19 c0                	sbb    %eax,%eax
777c1189:	c3                   	ret    
777c118a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c1190 <__onexit>:
777c1190:	55                   	push   %ebp
777c1191:	b9 10 40 7c 77       	mov    $0x777c4010,%ecx
777c1196:	89 e5                	mov    %esp,%ebp
777c1198:	83 ec 18             	sub    $0x18,%esp
777c119b:	ba 00 40 7c 77       	mov    $0x777c4000,%edx
777c11a0:	8b 45 08             	mov    0x8(%ebp),%eax
777c11a3:	89 4c 24 08          	mov    %ecx,0x8(%esp)
777c11a7:	89 54 24 04          	mov    %edx,0x4(%esp)
777c11ab:	89 04 24             	mov    %eax,(%esp)
777c11ae:	e8 3d 08 00 00       	call   777c19f0 <___dllonexit>
777c11b3:	c9                   	leave  
777c11b4:	c3                   	ret    
777c11b5:	90                   	nop    
777c11b6:	90                   	nop    
777c11b7:	90                   	nop    
777c11b8:	90                   	nop    
777c11b9:	90                   	nop    
777c11ba:	90                   	nop    
777c11bb:	90                   	nop    
777c11bc:	90                   	nop    
777c11bd:	90                   	nop    
777c11be:	90                   	nop    
777c11bf:	90                   	nop    

777c11c0 <___do_sjlj_init>:
777c11c0:	55                   	push   %ebp
777c11c1:	89 e5                	mov    %esp,%ebp
777c11c3:	5d                   	pop    %ebp
777c11c4:	e9 97 05 00 00       	jmp    777c1760 <___w32_sharedptr_initialize>
777c11c9:	90                   	nop    
777c11ca:	90                   	nop    
777c11cb:	90                   	nop    
777c11cc:	90                   	nop    
777c11cd:	90                   	nop    
777c11ce:	90                   	nop    
777c11cf:	90                   	nop    

777c11d0 <_KeBugCheck@4>:

#endif /* DBG */

/* To make the linker happy */
VOID STDCALL KeBugCheck (ULONG	BugCheckCode) {}
777c11d0:	55                   	push   %ebp
777c11d1:	89 e5                	mov    %esp,%ebp
777c11d3:	5d                   	pop    %ebp
777c11d4:	c2 04 00             	ret    $0x4
777c11d7:	89 f6                	mov    %esi,%esi
777c11d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c11e0 <_DllMain@12>:


BOOL
EXPORT
DllMain(HANDLE hInstDll,
        ULONG dwReason,
        PVOID Reserved)
{
777c11e0:	55                   	push   %ebp
777c11e1:	89 e5                	mov    %esp,%ebp
777c11e3:	52                   	push   %edx
777c11e4:	52                   	push   %edx
    WSH_DbgPrint(MIN_TRACE, ("DllMain of wshtcpip.dll\n"));

    switch (dwReason) {
777c11e5:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
777c11e9:	74 09                	je     777c11f4 <_DllMain@12+0x14>
    case DLL_PROCESS_ATTACH:
        /* Don't need thread attach notifications
           so disable them to improve performance */
        DisableThreadLibraryCalls(hInstDll);
        break;

    case DLL_THREAD_ATTACH:
        break;

    case DLL_THREAD_DETACH:
        break;

    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
777c11eb:	b8 01 00 00 00       	mov    $0x1,%eax
777c11f0:	c9                   	leave  
777c11f1:	c2 0c 00             	ret    $0xc
777c11f4:	83 ec 0c             	sub    $0xc,%esp
777c11f7:	8b 45 08             	mov    0x8(%ebp),%eax
777c11fa:	50                   	push   %eax
777c11fb:	e8 40 03 00 00       	call   777c1540 <_DisableThreadLibraryCalls@4>
777c1200:	b8 01 00 00 00       	mov    $0x1,%eax
777c1205:	83 c4 0c             	add    $0xc,%esp
777c1208:	c9                   	leave  
777c1209:	c2 0c 00             	ret    $0xc
777c120c:	8d 74 26 00          	lea    0x0(%esi),%esi

777c1210 <_WSHAddressToString@20>:


INT
EXPORT
WSHAddressToString(
    IN      LPSOCKADDR Address,
    IN      INT AddressLength,
    IN      LPWSAPROTOCOL_INFOW ProtocolInfo    OPTIONAL,
    OUT     LPWSTR AddressString,
    IN OUT  LPDWORD AddressStringLength)
{
777c1210:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1211:	31 c0                	xor    %eax,%eax
777c1213:	89 e5                	mov    %esp,%ebp
777c1215:	5d                   	pop    %ebp
777c1216:	c2 14 00             	ret    $0x14
777c1219:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1220 <_WSHEnumProtocols@16>:


INT
EXPORT
WSHEnumProtocols(
    IN      LPINT lpiProtocols  OPTIONAL,
    IN      LPWSTR lpTransportKeyName,
    IN OUT  LPVOID lpProtocolBuffer,
    IN OUT  LPDWORD lpdwBufferLength)
{
777c1220:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1221:	31 c0                	xor    %eax,%eax
777c1223:	89 e5                	mov    %esp,%ebp
777c1225:	5d                   	pop    %ebp
777c1226:	c2 10 00             	ret    $0x10
777c1229:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1230 <_WSHGetBroadcastSockaddr@12>:


INT
EXPORT
WSHGetBroadcastSockaddr(
    IN  PVOID HelperDllSocketContext,
    OUT PSOCKADDR Sockaddr,
    OUT PINT SockaddrLength)
{
777c1230:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1231:	31 c0                	xor    %eax,%eax
777c1233:	89 e5                	mov    %esp,%ebp
777c1235:	5d                   	pop    %ebp
777c1236:	c2 0c 00             	ret    $0xc
777c1239:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1240 <_WSHGetProviderGuid@8>:


INT
EXPORT
WSHGetProviderGuid(
    IN  LPWSTR ProviderName,
    OUT LPGUID ProviderGuid)
{
777c1240:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1241:	31 c0                	xor    %eax,%eax
777c1243:	89 e5                	mov    %esp,%ebp
777c1245:	5d                   	pop    %ebp
777c1246:	c2 08 00             	ret    $0x8
777c1249:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1250 <_WSHGetSockaddrType@12>:


INT
EXPORT
WSHGetSockaddrType(
    IN  PSOCKADDR Sockaddr,
    IN  DWORD SockaddrLength,
    OUT PSOCKADDR_INFO SockaddrInfo)
{
777c1250:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1251:	31 c0                	xor    %eax,%eax
777c1253:	89 e5                	mov    %esp,%ebp
777c1255:	5d                   	pop    %ebp
777c1256:	c2 0c 00             	ret    $0xc
777c1259:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1260 <_WSHGetSocketInformation@32>:


INT
EXPORT
WSHGetSocketInformation(
    IN  PVOID HelperDllSocketContext,
    IN  SOCKET SocketHandle,
    IN  HANDLE TdiAddressObjectHandle,
    IN  HANDLE TdiConnectionObjectHandle,
    IN  INT Level,
    IN  INT OptionName,
    OUT PCHAR OptionValue,
    OUT INT OptionLength)
{
777c1260:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c1261:	31 c0                	xor    %eax,%eax
777c1263:	89 e5                	mov    %esp,%ebp
777c1265:	5d                   	pop    %ebp
777c1266:	c2 20 00             	ret    $0x20
777c1269:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c1270 <_WSHGetWildcardSockaddr@12>:


INT
EXPORT
WSHGetWildcardSockaddr(
    IN  PVOID HelperDllSocketContext,
    OUT PSOCKADDR Sockaddr,
    OUT PINT SockaddrLength)
{
777c1270:	55                   	push   %ebp
777c1271:	89 e5                	mov    %esp,%ebp
777c1273:	53                   	push   %ebx
777c1274:	53                   	push   %ebx
777c1275:	53                   	push   %ebx
    RtlZeroMemory((PVOID)Sockaddr, *SockaddrLength);
777c1276:	8b 45 10             	mov    0x10(%ebp),%eax
777c1279:	8b 5d 0c             	mov    0xc(%ebp),%ebx
777c127c:	8b 08                	mov    (%eax),%ecx
777c127e:	51                   	push   %ecx
777c127f:	6a 00                	push   $0x0
777c1281:	53                   	push   %ebx
777c1282:	e8 a9 02 00 00       	call   777c1530 <_memset>
    Sockaddr->sa_family = AF_INET;
777c1287:	66 c7 03 02 00       	movw   $0x2,(%ebx)
    return 0;
}
777c128c:	31 c0                	xor    %eax,%eax
777c128e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c1291:	c9                   	leave  
777c1292:	c2 0c 00             	ret    $0xc
777c1295:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1299:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c12a0 <_WSHGetWinsockMapping@8>:


DWORD
EXPORT
WSHGetWinsockMapping(
    OUT PWINSOCK_MAPPING Mapping,
    IN  DWORD MappingLength)
{
777c12a0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c12a1:	31 c0                	xor    %eax,%eax
777c12a3:	89 e5                	mov    %esp,%ebp
777c12a5:	5d                   	pop    %ebp
777c12a6:	c2 08 00             	ret    $0x8
777c12a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c12b0 <_WSHGetWSAProtocolInfo@12>:


INT
EXPORT
WSHGetWSAProtocolInfo(
    IN  LPWSTR ProviderName,
    OUT LPWSAPROTOCOL_INFOW *ProtocolInfo,
    OUT LPDWORD ProtocolInfoEntries)
{
777c12b0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c12b1:	31 c0                	xor    %eax,%eax
777c12b3:	89 e5                	mov    %esp,%ebp
777c12b5:	5d                   	pop    %ebp
777c12b6:	c2 0c 00             	ret    $0xc
777c12b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c12c0 <_WSHIoctl@52>:


INT
EXPORT
WSHIoctl(
    IN  PVOID HelperDllSocketContext,
    IN  SOCKET SocketHandle,
    IN  HANDLE TdiAddressObjectHandle,
    IN  HANDLE TdiConnectionObjectHandle,
    IN  DWORD IoControlCode,
    IN  LPVOID InputBuffer,
    IN  DWORD InputBufferLength,
    IN  LPVOID OutputBuffer,
    IN  DWORD OutputBufferLength,
    OUT LPDWORD NumberOfBytesReturned,
    IN  LPWSAOVERLAPPED Overlapped,
    IN  LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine,
    OUT LPBOOL NeedsCompletion)
{
777c12c0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c12c1:	31 c0                	xor    %eax,%eax
777c12c3:	89 e5                	mov    %esp,%ebp
777c12c5:	5d                   	pop    %ebp
777c12c6:	c2 34 00             	ret    $0x34
777c12c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c12d0 <_WSHJoinLeaf@52>:


INT
EXPORT
WSHJoinLeaf(
    IN  PVOID HelperDllSocketContext,
    IN  SOCKET SocketHandle,
    IN  HANDLE TdiAddressObjectHandle,
    IN  HANDLE TdiConnectionObjectHandle,
    IN  PVOID LeafHelperDllSocketContext,
    IN  SOCKET LeafSocketHandle,
    IN  PSOCKADDR Sockaddr,
    IN  DWORD SockaddrLength,
    IN  LPWSABUF CallerData,
    IN  LPWSABUF CalleeData,
    IN  LPQOS SocketQOS,
    IN  LPQOS GroupQOS,
    IN  DWORD Flags)
{
777c12d0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c12d1:	31 c0                	xor    %eax,%eax
777c12d3:	89 e5                	mov    %esp,%ebp
777c12d5:	5d                   	pop    %ebp
777c12d6:	c2 34 00             	ret    $0x34
777c12d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c12e0 <_WSHNotify@20>:


INT
EXPORT
WSHNotify(
    IN  PVOID HelperDllSocketContext,
    IN  SOCKET SocketHandle,
    IN  HANDLE TdiAddressObjectHandle,
    IN  HANDLE TdiConnectionObjectHandle,
    IN  DWORD NotifyEvent)
{
777c12e0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c12e1:	31 c0                	xor    %eax,%eax
777c12e3:	89 e5                	mov    %esp,%ebp
777c12e5:	5d                   	pop    %ebp
777c12e6:	c2 14 00             	ret    $0x14
777c12e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c12f0 <_WSHOpenSocket2@32>:


INT
EXPORT
WSHOpenSocket(
    IN OUT  PINT AddressFamily,
    IN OUT  PINT SocketType,
    IN OUT  PINT Protocol,
    OUT     PUNICODE_STRING TransportDeviceName,
    OUT     PVOID HelperDllSocketContext,
    OUT     PDWORD NotificationEvents)
/*
 * FUNCTION: Opens a socket
 */
{
    return WSHOpenSocket2(AddressFamily,
                          SocketType,
                          Protocol,
                          0,
                          0,
                          TransportDeviceName,
                          HelperDllSocketContext,
                          NotificationEvents);
}


INT
EXPORT
WSHOpenSocket2(
    OUT PINT AddressFamily,
    IN  OUT PINT SocketType,
    IN  OUT PINT Protocol,
    IN  GROUP Group,
    IN  DWORD Flags,
    OUT PUNICODE_STRING TransportDeviceName,
    OUT PVOID *HelperDllSocketContext,
    OUT PDWORD NotificationEvents)
/*
 * FUNCTION: Opens a socket
 * ARGUMENTS:
 *     AddressFamily          = Address of buffer with address family (updated)
 *     SocketType             = Address of buffer with type of socket (updated)
 *     Protocol               = Address of buffer with protocol number (updated)
 *     Group                  = Socket group
 *     Flags                  = Socket flags
 *     TransportDeviceName    = Address of buffer to place name of transport device
 *     HelperDllSocketContext = Address of buffer to place socket context pointer
 *     NotificationEvents     = Address of buffer to place flags for event notification
 * RETURNS:
 *     Status of operation
 * NOTES:
 *     Mapping tripple is returned in an canonicalized form
 */
{
777c12f0:	55                   	push   %ebp
777c12f1:	89 e5                	mov    %esp,%ebp
777c12f3:	57                   	push   %edi
777c12f4:	56                   	push   %esi
777c12f5:	53                   	push   %ebx
777c12f6:	83 ec 0c             	sub    $0xc,%esp
777c12f9:	8b 75 0c             	mov    0xc(%ebp),%esi
777c12fc:	8b 7d 10             	mov    0x10(%ebp),%edi
777c12ff:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
    PSOCKET_CONTEXT Context;
    UNICODE_STRING String;
    NTSTATUS Status;

    WSH_DbgPrint(MAX_TRACE, ("\n"));

    switch (*SocketType) {
777c1302:	8b 06                	mov    (%esi),%eax
777c1304:	83 f8 02             	cmp    $0x2,%eax
777c1307:	74 47                	je     777c1350 <_WSHOpenSocket2@32+0x60>
777c1309:	7f 18                	jg     777c1323 <_WSHOpenSocket2@32+0x33>
777c130b:	48                   	dec    %eax
777c130c:	0f 84 ee 00 00 00    	je     777c1400 <_WSHOpenSocket2@32+0x110>
    case SOCK_STREAM:
        RtlRosInitUnicodeStringFromLiteral(&String, DD_TCP_DEVICE_NAME);
        break;

    case SOCK_DGRAM:
        RtlRosInitUnicodeStringFromLiteral(&String, DD_UDP_DEVICE_NAME);
        break;

    case SOCK_RAW:
        if ((*Protocol < 0) || (*Protocol > 255))
          return WSAEINVAL;

        RtlRosInitUnicodeStringFromLiteral(&String, DD_RAW_IP_DEVICE_NAME);
        break;

    default:
        return WSAEINVAL;
777c1312:	ba 26 27 00 00       	mov    $0x2726,%edx
    }

    RtlInitUnicodeString(TransportDeviceName, NULL);

    TransportDeviceName->MaximumLength = String.Length +        /* Transport device name */
                                         (4 * sizeof(WCHAR) +   /* Separator and protocol */
                                         sizeof(UNICODE_NULL)); /* Terminating null */

    TransportDeviceName->Buffer = HeapAlloc(
        GetProcessHeap(),
        0,
        TransportDeviceName->MaximumLength);

    if (!TransportDeviceName->Buffer)
        return WSAENOBUFS;

    /* Append the transport device name */
    Status = RtlAppendUnicodeStringToString(TransportDeviceName, &String);

    if (*SocketType == SOCK_RAW) {
        /* Append a separator */
        TransportDeviceName->Buffer[TransportDeviceName->Length / sizeof(WCHAR)] = OBJ_NAME_PATH_SEPARATOR;
        TransportDeviceName->Length += sizeof(WCHAR);
        TransportDeviceName->Buffer[TransportDeviceName->Length / sizeof(WCHAR)] = UNICODE_NULL;

        /* Append the protocol number */
        String.Buffer = TransportDeviceName->Buffer + (TransportDeviceName->Length / sizeof(WCHAR));
        String.Length = 0;
        String.MaximumLength = TransportDeviceName->MaximumLength - TransportDeviceName->Length;

        Status = RtlIntegerToUnicodeString((ULONG)*Protocol, 10, &String);

        TransportDeviceName->Length += String.Length;
    }

    /* Setup a socket context area */

    Context = HeapAlloc(GetProcessHeap(), 0, sizeof(SOCKET_CONTEXT));
    if (!Context) {
        RtlFreeUnicodeString(TransportDeviceName);
        return WSAENOBUFS;
    }

    Context->AddressFamily = *AddressFamily;
    Context->SocketType    = *SocketType;
    Context->Protocol      = *Protocol;
    Context->Flags         = Flags;

    *HelperDllSocketContext = Context;

    return NO_ERROR;
}
777c1317:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c131a:	89 d0                	mov    %edx,%eax
777c131c:	5b                   	pop    %ebx
777c131d:	5e                   	pop    %esi
777c131e:	5f                   	pop    %edi
777c131f:	5d                   	pop    %ebp
777c1320:	c2 20 00             	ret    $0x20
777c1323:	83 f8 03             	cmp    $0x3,%eax
777c1326:	75 ea                	jne    777c1312 <_WSHOpenSocket2@32+0x22>
777c1328:	ba 26 27 00 00       	mov    $0x2726,%edx
777c132d:	81 3f ff 00 00 00    	cmpl   $0xff,(%edi)
777c1333:	77 e2                	ja     777c1317 <_WSHOpenSocket2@32+0x27>
777c1335:	66 c7 45 e8 1a 00    	movw   $0x1a,0xffffffe8(%ebp)
777c133b:	66 c7 45 ea 1c 00    	movw   $0x1c,0xffffffea(%ebp)
777c1341:	c7 45 ec 00 30 7c 77 	movl   $0x777c3000,0xffffffec(%ebp)
777c1348:	eb 19                	jmp    777c1363 <_WSHOpenSocket2@32+0x73>
777c134a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c1350:	66 c7 45 e8 16 00    	movw   $0x16,0xffffffe8(%ebp)
777c1356:	66 c7 45 ea 18 00    	movw   $0x18,0xffffffea(%ebp)
777c135c:	c7 45 ec 1c 30 7c 77 	movl   $0x777c301c,0xffffffec(%ebp)
777c1363:	50                   	push   %eax
777c1364:	50                   	push   %eax
777c1365:	6a 00                	push   $0x0
777c1367:	53                   	push   %ebx
777c1368:	ff 15 f0 60 7c 77    	call   *0x777c60f0
777c136e:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
777c1371:	83 c0 0a             	add    $0xa,%eax
777c1374:	66 89 43 02          	mov    %ax,0x2(%ebx)
777c1378:	25 ff ff 00 00       	and    $0xffff,%eax
777c137d:	89 04 24             	mov    %eax,(%esp)
777c1380:	6a 00                	push   $0x0
777c1382:	51                   	push   %ecx
777c1383:	e8 c8 01 00 00       	call   777c1550 <_GetProcessHeap@0>
777c1388:	89 04 24             	mov    %eax,(%esp)
777c138b:	e8 d0 01 00 00       	call   777c1560 <_HeapAlloc@12>
777c1390:	85 c0                	test   %eax,%eax
777c1392:	89 43 04             	mov    %eax,0x4(%ebx)
777c1395:	5a                   	pop    %edx
777c1396:	ba 47 27 00 00       	mov    $0x2747,%edx
777c139b:	0f 84 76 ff ff ff    	je     777c1317 <_WSHOpenSocket2@32+0x27>
777c13a1:	50                   	push   %eax
777c13a2:	50                   	push   %eax
777c13a3:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
777c13a6:	50                   	push   %eax
777c13a7:	53                   	push   %ebx
777c13a8:	ff 15 e8 60 7c 77    	call   *0x777c60e8
777c13ae:	83 3e 03             	cmpl   $0x3,(%esi)
777c13b1:	5a                   	pop    %edx
777c13b2:	59                   	pop    %ecx
777c13b3:	74 63                	je     777c1418 <_WSHOpenSocket2@32+0x128>
777c13b5:	50                   	push   %eax
777c13b6:	6a 10                	push   $0x10
777c13b8:	6a 00                	push   $0x0
777c13ba:	50                   	push   %eax
777c13bb:	e8 90 01 00 00       	call   777c1550 <_GetProcessHeap@0>
777c13c0:	89 04 24             	mov    %eax,(%esp)
777c13c3:	e8 98 01 00 00       	call   777c1560 <_HeapAlloc@12>
777c13c8:	89 c2                	mov    %eax,%edx
777c13ca:	58                   	pop    %eax
777c13cb:	85 d2                	test   %edx,%edx
777c13cd:	0f 84 b0 00 00 00    	je     777c1483 <_WSHOpenSocket2@32+0x193>
777c13d3:	8b 45 08             	mov    0x8(%ebp),%eax
777c13d6:	8b 00                	mov    (%eax),%eax
777c13d8:	89 02                	mov    %eax,(%edx)
777c13da:	8b 06                	mov    (%esi),%eax
777c13dc:	89 42 04             	mov    %eax,0x4(%edx)
777c13df:	8b 07                	mov    (%edi),%eax
777c13e1:	89 42 08             	mov    %eax,0x8(%edx)
777c13e4:	8b 45 18             	mov    0x18(%ebp),%eax
777c13e7:	89 42 0c             	mov    %eax,0xc(%edx)
777c13ea:	8b 45 20             	mov    0x20(%ebp),%eax
777c13ed:	89 10                	mov    %edx,(%eax)
777c13ef:	31 d2                	xor    %edx,%edx
777c13f1:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c13f4:	89 d0                	mov    %edx,%eax
777c13f6:	5b                   	pop    %ebx
777c13f7:	5e                   	pop    %esi
777c13f8:	5f                   	pop    %edi
777c13f9:	5d                   	pop    %ebp
777c13fa:	c2 20 00             	ret    $0x20
777c13fd:	8d 76 00             	lea    0x0(%esi),%esi
777c1400:	66 c7 45 e8 16 00    	movw   $0x16,0xffffffe8(%ebp)
777c1406:	66 c7 45 ea 18 00    	movw   $0x18,0xffffffea(%ebp)
777c140c:	c7 45 ec 34 30 7c 77 	movl   $0x777c3034,0xffffffec(%ebp)
777c1413:	e9 4b ff ff ff       	jmp    777c1363 <_WSHOpenSocket2@32+0x73>
777c1418:	66 8b 03             	mov    (%ebx),%ax
777c141b:	8b 53 04             	mov    0x4(%ebx),%edx
777c141e:	66 d1 e8             	shr    %ax
777c1421:	25 ff ff 00 00       	and    $0xffff,%eax
777c1426:	66 c7 04 42 5c 00    	movw   $0x5c,(%edx,%eax,2)
777c142c:	66 8b 03             	mov    (%ebx),%ax
777c142f:	83 c0 02             	add    $0x2,%eax
777c1432:	66 89 03             	mov    %ax,(%ebx)
777c1435:	66 d1 e8             	shr    %ax
777c1438:	25 ff ff 00 00       	and    $0xffff,%eax
777c143d:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
777c1443:	66 8b 0b             	mov    (%ebx),%cx
777c1446:	66 c7 45 e8 00 00    	movw   $0x0,0xffffffe8(%ebp)
777c144c:	89 c8                	mov    %ecx,%eax
777c144e:	66 d1 e8             	shr    %ax
777c1451:	25 ff ff 00 00       	and    $0xffff,%eax
777c1456:	8d 04 42             	lea    (%edx,%eax,2),%eax
777c1459:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
777c145c:	66 8b 43 02          	mov    0x2(%ebx),%ax
777c1460:	66 29 c8             	sub    %cx,%ax
777c1463:	66 89 45 ea          	mov    %ax,0xffffffea(%ebp)
777c1467:	50                   	push   %eax
777c1468:	8d 45 e8             	lea    0xffffffe8(%ebp),%eax
777c146b:	50                   	push   %eax
777c146c:	6a 0a                	push   $0xa
777c146e:	8b 07                	mov    (%edi),%eax
777c1470:	50                   	push   %eax
777c1471:	ff 15 f4 60 7c 77    	call   *0x777c60f4
777c1477:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
777c147a:	66 01 03             	add    %ax,(%ebx)
777c147d:	58                   	pop    %eax
777c147e:	e9 32 ff ff ff       	jmp    777c13b5 <_WSHOpenSocket2@32+0xc5>
777c1483:	83 ec 0c             	sub    $0xc,%esp
777c1486:	53                   	push   %ebx
777c1487:	ff 15 ec 60 7c 77    	call   *0x777c60ec
777c148d:	ba 47 27 00 00       	mov    $0x2747,%edx
777c1492:	e9 80 fe ff ff       	jmp    777c1317 <_WSHOpenSocket2@32+0x27>
777c1497:	89 f6                	mov    %esi,%esi
777c1499:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c14a0 <_WSHOpenSocket@24>:
777c14a0:	55                   	push   %ebp
777c14a1:	89 e5                	mov    %esp,%ebp
777c14a3:	51                   	push   %ecx
777c14a4:	51                   	push   %ecx
777c14a5:	8b 45 18             	mov    0x18(%ebp),%eax
777c14a8:	8b 55 1c             	mov    0x1c(%ebp),%edx
777c14ab:	52                   	push   %edx
777c14ac:	50                   	push   %eax
777c14ad:	8b 45 14             	mov    0x14(%ebp),%eax
777c14b0:	50                   	push   %eax
777c14b1:	8b 45 10             	mov    0x10(%ebp),%eax
777c14b4:	6a 00                	push   $0x0
777c14b6:	6a 00                	push   $0x0
777c14b8:	50                   	push   %eax
777c14b9:	8b 45 0c             	mov    0xc(%ebp),%eax
777c14bc:	50                   	push   %eax
777c14bd:	8b 45 08             	mov    0x8(%ebp),%eax
777c14c0:	50                   	push   %eax
777c14c1:	e8 2a fe ff ff       	call   777c12f0 <_WSHOpenSocket2@32>
777c14c6:	c9                   	leave  
777c14c7:	c2 18 00             	ret    $0x18
777c14ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi

777c14d0 <_WSHSetSocketInformation@32>:


INT
EXPORT
WSHSetSocketInformation(
    IN  PVOID HelperDllSocketContext,
    IN  SOCKET SocketHandle,
    IN  HANDLE TdiAddressObjectHandle,
    IN  HANDLE TdiConnectionObjectHandle,
    IN  INT Level,
    IN  INT OptionName,
    IN  PCHAR OptionValue,
    IN  INT OptionLength)
{
777c14d0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c14d1:	31 c0                	xor    %eax,%eax
777c14d3:	89 e5                	mov    %esp,%ebp
777c14d5:	5d                   	pop    %ebp
777c14d6:	c2 20 00             	ret    $0x20
777c14d9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c14e0 <_WSHStringToAddress@20>:


INT
EXPORT
WSHStringToAddress(
    IN      LPWSTR AddressString,
    IN      DWORD AddressFamily,
    IN      LPWSAPROTOCOL_INFOW ProtocolInfo    OPTIONAL,
    OUT     LPSOCKADDR Address,
    IN OUT  LPDWORD AddressStringLength)
{
777c14e0:	55                   	push   %ebp
    UNIMPLEMENTED

    return 0;
}
777c14e1:	31 c0                	xor    %eax,%eax
777c14e3:	89 e5                	mov    %esp,%ebp
777c14e5:	5d                   	pop    %ebp
777c14e6:	c2 14 00             	ret    $0x14
777c14e9:	90                   	nop    
777c14ea:	90                   	nop    
777c14eb:	90                   	nop    
777c14ec:	90                   	nop    
777c14ed:	90                   	nop    
777c14ee:	90                   	nop    
777c14ef:	90                   	nop    

777c14f0 <_RtlInitUnicodeString@8>:
777c14f0:	ff 25 f0 60 7c 77    	jmp    *0x777c60f0
777c14f6:	90                   	nop    
777c14f7:	90                   	nop    
	...

777c1500 <_RtlAppendUnicodeStringToString@8>:
777c1500:	ff 25 e8 60 7c 77    	jmp    *0x777c60e8
777c1506:	90                   	nop    
777c1507:	90                   	nop    
	...

777c1510 <_RtlIntegerToUnicodeString@12>:
777c1510:	ff 25 f4 60 7c 77    	jmp    *0x777c60f4
777c1516:	90                   	nop    
777c1517:	90                   	nop    
	...

777c1520 <_RtlFreeUnicodeString@4>:
777c1520:	ff 25 ec 60 7c 77    	jmp    *0x777c60ec
777c1526:	90                   	nop    
777c1527:	90                   	nop    
	...

777c1530 <_memset>:
777c1530:	ff 25 f8 60 7c 77    	jmp    *0x777c60f8
777c1536:	90                   	nop    
777c1537:	90                   	nop    
	...

777c1540 <_DisableThreadLibraryCalls@4>:
777c1540:	ff 25 d4 60 7c 77    	jmp    *0x777c60d4
777c1546:	90                   	nop    
777c1547:	90                   	nop    
	...

777c1550 <_GetProcessHeap@0>:
777c1550:	ff 25 d8 60 7c 77    	jmp    *0x777c60d8
777c1556:	90                   	nop    
777c1557:	90                   	nop    
	...

777c1560 <_HeapAlloc@12>:
777c1560:	ff 25 dc 60 7c 77    	jmp    *0x777c60dc
777c1566:	90                   	nop    
777c1567:	90                   	nop    
	...

777c1570 <___do_global_dtors>:
777c1570:	55                   	push   %ebp
777c1571:	89 e5                	mov    %esp,%ebp
777c1573:	83 ec 08             	sub    $0x8,%esp
777c1576:	a1 00 20 7c 77       	mov    0x777c2000,%eax
777c157b:	8b 08                	mov    (%eax),%ecx
777c157d:	85 c9                	test   %ecx,%ecx
777c157f:	74 26                	je     777c15a7 <___do_global_dtors+0x37>
777c1581:	eb 0d                	jmp    777c1590 <___do_global_dtors+0x20>
777c1583:	90                   	nop    
777c1584:	90                   	nop    
777c1585:	90                   	nop    
777c1586:	90                   	nop    
777c1587:	90                   	nop    
777c1588:	90                   	nop    
777c1589:	90                   	nop    
777c158a:	90                   	nop    
777c158b:	90                   	nop    
777c158c:	90                   	nop    
777c158d:	90                   	nop    
777c158e:	90                   	nop    
777c158f:	90                   	nop    
777c1590:	ff 10                	call   *(%eax)
777c1592:	8b 0d 00 20 7c 77    	mov    0x777c2000,%ecx
777c1598:	8b 51 04             	mov    0x4(%ecx),%edx
777c159b:	8d 41 04             	lea    0x4(%ecx),%eax
777c159e:	a3 00 20 7c 77       	mov    %eax,0x777c2000
777c15a3:	85 d2                	test   %edx,%edx
777c15a5:	75 e9                	jne    777c1590 <___do_global_dtors+0x20>
777c15a7:	c9                   	leave  
777c15a8:	c3                   	ret    
777c15a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi

777c15b0 <___do_global_ctors>:
777c15b0:	55                   	push   %ebp
777c15b1:	89 e5                	mov    %esp,%ebp
777c15b3:	53                   	push   %ebx
777c15b4:	83 ec 04             	sub    $0x4,%esp
777c15b7:	a1 a0 1a 7c 77       	mov    0x777c1aa0,%eax
777c15bc:	83 f8 ff             	cmp    $0xffffffff,%eax
777c15bf:	74 29                	je     777c15ea <___do_global_ctors+0x3a>
777c15c1:	85 c0                	test   %eax,%eax
777c15c3:	89 c3                	mov    %eax,%ebx
777c15c5:	74 13                	je     777c15da <___do_global_ctors+0x2a>
777c15c7:	89 f6                	mov    %esi,%esi
777c15c9:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi
777c15d0:	ff 14 9d a0 1a 7c 77 	call   *0x777c1aa0(,%ebx,4)
777c15d7:	4b                   	dec    %ebx
777c15d8:	75 f6                	jne    777c15d0 <___do_global_ctors+0x20>
777c15da:	c7 04 24 70 15 7c 77 	movl   $0x777c1570,(%esp)
777c15e1:	e8 7a fb ff ff       	call   777c1160 <_atexit>
777c15e6:	5b                   	pop    %ebx
777c15e7:	5b                   	pop    %ebx
777c15e8:	5d                   	pop    %ebp
777c15e9:	c3                   	ret    
777c15ea:	8b 0d a4 1a 7c 77    	mov    0x777c1aa4,%ecx
777c15f0:	31 c0                	xor    %eax,%eax
777c15f2:	85 c9                	test   %ecx,%ecx
777c15f4:	eb 0a                	jmp    777c1600 <___do_global_ctors+0x50>
777c15f6:	40                   	inc    %eax
777c15f7:	8b 14 85 a4 1a 7c 77 	mov    0x777c1aa4(,%eax,4),%edx
777c15fe:	85 d2                	test   %edx,%edx
777c1600:	75 f4                	jne    777c15f6 <___do_global_ctors+0x46>
777c1602:	eb bd                	jmp    777c15c1 <___do_global_ctors+0x11>
777c1604:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c160a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi

777c1610 <___main>:
777c1610:	55                   	push   %ebp
777c1611:	89 e5                	mov    %esp,%ebp
777c1613:	53                   	push   %ebx
777c1614:	83 ec 04             	sub    $0x4,%esp
777c1617:	a1 20 40 7c 77       	mov    0x777c4020,%eax
777c161c:	85 c0                	test   %eax,%eax
777c161e:	75 36                	jne    777c1656 <___main+0x46>
777c1620:	a1 a0 1a 7c 77       	mov    0x777c1aa0,%eax
777c1625:	bb 01 00 00 00       	mov    $0x1,%ebx
777c162a:	89 1d 20 40 7c 77    	mov    %ebx,0x777c4020
777c1630:	83 f8 ff             	cmp    $0xffffffff,%eax
777c1633:	74 25                	je     777c165a <___main+0x4a>
777c1635:	85 c0                	test   %eax,%eax
777c1637:	89 c3                	mov    %eax,%ebx
777c1639:	74 0f                	je     777c164a <___main+0x3a>
777c163b:	90                   	nop    
777c163c:	8d 74 26 00          	lea    0x0(%esi),%esi
777c1640:	ff 14 9d a0 1a 7c 77 	call   *0x777c1aa0(,%ebx,4)
777c1647:	4b                   	dec    %ebx
777c1648:	75 f6                	jne    777c1640 <___main+0x30>
777c164a:	c7 04 24 70 15 7c 77 	movl   $0x777c1570,(%esp)
777c1651:	e8 0a fb ff ff       	call   777c1160 <_atexit>
777c1656:	5b                   	pop    %ebx
777c1657:	5b                   	pop    %ebx
777c1658:	5d                   	pop    %ebp
777c1659:	c3                   	ret    
777c165a:	8b 0d a4 1a 7c 77    	mov    0x777c1aa4,%ecx
777c1660:	31 c0                	xor    %eax,%eax
777c1662:	85 c9                	test   %ecx,%ecx
777c1664:	eb 0a                	jmp    777c1670 <___main+0x60>
777c1666:	40                   	inc    %eax
777c1667:	8b 14 85 a4 1a 7c 77 	mov    0x777c1aa4(,%eax,4),%edx
777c166e:	85 d2                	test   %edx,%edx
777c1670:	75 f4                	jne    777c1666 <___main+0x56>
777c1672:	eb c1                	jmp    777c1635 <___main+0x25>
777c1674:	90                   	nop    
777c1675:	90                   	nop    
777c1676:	90                   	nop    
777c1677:	90                   	nop    
777c1678:	90                   	nop    
777c1679:	90                   	nop    
777c167a:	90                   	nop    
777c167b:	90                   	nop    
777c167c:	90                   	nop    
777c167d:	90                   	nop    
777c167e:	90                   	nop    
777c167f:	90                   	nop    

777c1680 <__pei386_runtime_relocator>:
777c1680:	55                   	push   %ebp
777c1681:	b9 30 31 7c 77       	mov    $0x777c3130,%ecx
777c1686:	89 e5                	mov    %esp,%ebp
777c1688:	eb 14                	jmp    777c169e <__pei386_runtime_relocator+0x1e>
777c168a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
777c1690:	8b 51 04             	mov    0x4(%ecx),%edx
777c1693:	8b 01                	mov    (%ecx),%eax
777c1695:	83 c1 08             	add    $0x8,%ecx
777c1698:	01 82 00 00 7c 77    	add    %eax,0x777c0000(%edx)
777c169e:	81 f9 30 31 7c 77    	cmp    $0x777c3130,%ecx
777c16a4:	72 ea                	jb     777c1690 <__pei386_runtime_relocator+0x10>
777c16a6:	5d                   	pop    %ebp
777c16a7:	c3                   	ret    
777c16a8:	90                   	nop    
777c16a9:	90                   	nop    
777c16aa:	90                   	nop    
777c16ab:	90                   	nop    
777c16ac:	90                   	nop    
777c16ad:	90                   	nop    
777c16ae:	90                   	nop    
777c16af:	90                   	nop    

777c16b0 <___w32_sharedptr_default_unexpected>:
777c16b0:	55                   	push   %ebp
777c16b1:	a1 70 40 7c 77       	mov    0x777c4070,%eax
777c16b6:	89 e5                	mov    %esp,%ebp
777c16b8:	5d                   	pop    %ebp
777c16b9:	8b 48 04             	mov    0x4(%eax),%ecx
777c16bc:	ff e1                	jmp    *%ecx
777c16be:	89 f6                	mov    %esi,%esi

777c16c0 <___w32_sharedptr_get>:
777c16c0:	55                   	push   %ebp
777c16c1:	ba 42 00 00 00       	mov    $0x42,%edx
777c16c6:	89 e5                	mov    %esp,%ebp
777c16c8:	53                   	push   %ebx
777c16c9:	0f b7 c0             	movzwl %ax,%eax
777c16cc:	83 ec 64             	sub    $0x64,%esp
777c16cf:	89 54 24 08          	mov    %edx,0x8(%esp)
777c16d3:	8d 55 a8             	lea    0xffffffa8(%ebp),%edx
777c16d6:	31 db                	xor    %ebx,%ebx
777c16d8:	89 54 24 04          	mov    %edx,0x4(%esp)
777c16dc:	89 04 24             	mov    %eax,(%esp)
777c16df:	ff 15 0c 61 7c 77    	call   *0x777c610c
777c16e5:	ba 1f 00 00 00       	mov    $0x1f,%edx
777c16ea:	b9 01 00 00 00       	mov    $0x1,%ecx
777c16ef:	83 ec 0c             	sub    $0xc,%esp
777c16f2:	85 c0                	test   %eax,%eax
777c16f4:	75 07                	jne    777c16fd <___w32_sharedptr_get+0x3d>
777c16f6:	eb 46                	jmp    777c173e <___w32_sharedptr_get+0x7e>
777c16f8:	01 c9                	add    %ecx,%ecx
777c16fa:	4a                   	dec    %edx
777c16fb:	78 0e                	js     777c170b <___w32_sharedptr_get+0x4b>
777c16fd:	80 7c 2a a8 41       	cmpb   $0x41,0xffffffa8(%edx,%ebp,1)
777c1702:	75 f4                	jne    777c16f8 <___w32_sharedptr_get+0x38>
777c1704:	09 cb                	or     %ecx,%ebx
777c1706:	01 c9                	add    %ecx,%ecx
777c1708:	4a                   	dec    %edx
777c1709:	79 f2                	jns    777c16fd <___w32_sharedptr_get+0x3d>
777c170b:	83 3b 3c             	cmpl   $0x3c,(%ebx)
777c170e:	75 07                	jne    777c1717 <___w32_sharedptr_get+0x57>
777c1710:	89 d8                	mov    %ebx,%eax
777c1712:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
777c1715:	c9                   	leave  
777c1716:	c3                   	ret    
777c1717:	b9 74 30 7c 77       	mov    $0x777c3074,%ecx
777c171c:	ba ea 00 00 00       	mov    $0xea,%edx
777c1721:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
777c1725:	89 54 24 08          	mov    %edx,0x8(%esp)
777c1729:	c7 04 24 a1 30 7c 77 	movl   $0x777c30a1,(%esp)
777c1730:	b8 c0 30 7c 77       	mov    $0x777c30c0,%eax
777c1735:	89 44 24 04          	mov    %eax,0x4(%esp)
777c1739:	e8 62 02 00 00       	call   777c19a0 <___eprintf>
777c173e:	b8 ec 30 7c 77       	mov    $0x777c30ec,%eax
777c1743:	bb e4 00 00 00       	mov    $0xe4,%ebx
777c1748:	89 44 24 0c          	mov    %eax,0xc(%esp)
777c174c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
777c1750:	eb d7                	jmp    777c1729 <___w32_sharedptr_get+0x69>
777c1752:	8d b4 26 00 00 00 00 	lea    0x0(%esi),%esi
777c1759:	8d bc 27 00 00 00 00 	lea    0x0(%edi),%edi

777c1760 <___w32_sharedptr_initialize>:
777c1760:	55                   	push   %ebp
777c1761:	89 e5                	mov    %esp,%ebp
777c1763:	57                   	push   %edi
777c1764:	56                   	push   %esi
777c1765:	53                   	push   %ebx
777c1766:	81 ec cc 00 00 00    	sub    $0xcc,%esp
777c176c:	8b 0d 70 40 7c 77    	mov    0x777c4070,%ecx
777c1772:	85 c9                	test   %ecx,%ecx
777c1774:	74 08                	je     777c177e <___w32_sharedptr_initialize+0x1e>
777c1776:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c1779:	5b                   	pop    %ebx
777c177a:	5e                   	pop    %esi
777c177b:	5f                   	pop    %edi
777c177c:	5d                   	pop    %ebp
777c177d:	c3                   	ret    
777c177e:	c7 45 98 41 41 41 41 	movl   $0x41414141,0xffffff98(%ebp)
777c1785:	a1 50 30 7c 77       	mov    0x777c3050,%eax
777c178a:	8d 75 98             	lea    0xffffff98(%ebp),%esi
777c178d:	c7 45 9c 41 41 41 41 	movl   $0x41414141,0xffffff9c(%ebp)
777c1794:	c7 45 a0 41 41 41 41 	movl   $0x41414141,0xffffffa0(%ebp)
777c179b:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
777c179e:	a1 54 30 7c 77       	mov    0x777c3054,%eax
777c17a3:	c7 45 a4 41 41 41 41 	movl   $0x41414141,0xffffffa4(%ebp)
777c17aa:	c7 45 a8 41 41 41 41 	movl   $0x41414141,0xffffffa8(%ebp)
777c17b1:	89 45 bc             	mov    %eax,0xffffffbc(%ebp)
777c17b4:	a1 58 30 7c 77       	mov    0x777c3058,%eax
777c17b9:	c7 45 ac 41 41 41 41 	movl   $0x41414141,0xffffffac(%ebp)
777c17c0:	c7 45 b0 41 41 41 41 	movl   $0x41414141,0xffffffb0(%ebp)
777c17c7:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
777c17ca:	a1 5c 30 7c 77       	mov    0x777c305c,%eax
777c17cf:	c7 45 b4 41 41 41 41 	movl   $0x41414141,0xffffffb4(%ebp)
777c17d6:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
777c17d9:	a1 60 30 7c 77       	mov    0x777c3060,%eax
777c17de:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
777c17e1:	a1 64 30 7c 77       	mov    0x777c3064,%eax
777c17e6:	89 45 cc             	mov    %eax,0xffffffcc(%ebp)
777c17e9:	a1 68 30 7c 77       	mov    0x777c3068,%eax
777c17ee:	89 45 d0             	mov    %eax,0xffffffd0(%ebp)
777c17f1:	a1 6c 30 7c 77       	mov    0x777c306c,%eax
777c17f6:	89 45 d4             	mov    %eax,0xffffffd4(%ebp)
777c17f9:	0f b7 05 70 30 7c 77 	movzwl 0x777c3070,%eax
777c1800:	66 89 45 d8          	mov    %ax,0xffffffd8(%ebp)
777c1804:	89 34 24             	mov    %esi,(%esp)
777c1807:	ff 15 08 61 7c 77    	call   *0x777c6108
777c180d:	0f b7 c0             	movzwl %ax,%eax
777c1810:	83 ec 04             	sub    $0x4,%esp
777c1813:	85 c0                	test   %eax,%eax
777c1815:	89 85 44 ff ff ff    	mov    %eax,0xffffff44(%ebp)
777c181b:	0f 85 3b 01 00 00    	jne    777c195c <___w32_sharedptr_initialize+0x1fc>
777c1821:	c7 04 24 3c 00 00 00 	movl   $0x3c,(%esp)
777c1828:	e8 03 02 00 00       	call   777c1a30 <_malloc>
777c182d:	85 c0                	test   %eax,%eax
777c182f:	89 c3                	mov    %eax,%ebx
777c1831:	0f 84 59 01 00 00    	je     777c1990 <___w32_sharedptr_initialize+0x230>
777c1837:	fc                   	cld    
777c1838:	89 c7                	mov    %eax,%edi
777c183a:	8b 85 44 ff ff ff    	mov    0xffffff44(%ebp),%eax
777c1840:	b9 0f 00 00 00       	mov    $0xf,%ecx
777c1845:	f3 ab                	repz stos %eax,%es:(%edi)
777c1847:	c7 43 04 40 1a 7c 77 	movl   $0x777c1a40,0x4(%ebx)
777c184e:	b9 01 00 00 00       	mov    $0x1,%ecx
777c1853:	c7 43 08 b0 16 7c 77 	movl   $0x777c16b0,0x8(%ebx)
777c185a:	a1 40 40 7c 77       	mov    0x777c4040,%eax
777c185f:	c7 03 3c 00 00 00    	movl   $0x3c,(%ebx)
777c1865:	8b 15 44 40 7c 77    	mov    0x777c4044,%edx
777c186b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
777c1872:	89 43 14             	mov    %eax,0x14(%ebx)
777c1875:	a1 10 20 7c 77       	mov    0x777c2010,%eax
777c187a:	89 53 18             	mov    %edx,0x18(%ebx)
777c187d:	8b 15 14 20 7c 77    	mov    0x777c2014,%edx
777c1883:	89 43 1c             	mov    %eax,0x1c(%ebx)
777c1886:	a1 50 40 7c 77       	mov    0x777c4050,%eax
777c188b:	89 53 20             	mov    %edx,0x20(%ebx)
777c188e:	c7 43 30 ff ff ff ff 	movl   $0xffffffff,0x30(%ebx)
777c1895:	89 43 2c             	mov    %eax,0x2c(%ebx)
777c1898:	8b 15 1c 20 7c 77    	mov    0x777c201c,%edx
777c189e:	a1 18 20 7c 77       	mov    0x777c2018,%eax
777c18a3:	89 53 38             	mov    %edx,0x38(%ebx)
777c18a6:	ba 1f 00 00 00       	mov    $0x1f,%edx
777c18ab:	89 43 34             	mov    %eax,0x34(%ebx)
777c18ae:	89 f6                	mov    %esi,%esi
777c18b0:	89 d8                	mov    %ebx,%eax
777c18b2:	21 c8                	and    %ecx,%eax
777c18b4:	83 f8 01             	cmp    $0x1,%eax
777c18b7:	19 c0                	sbb    %eax,%eax
777c18b9:	24 20                	and    $0x20,%al
777c18bb:	01 c9                	add    %ecx,%ecx
777c18bd:	04 41                	add    $0x41,%al
777c18bf:	88 84 2a 48 ff ff ff 	mov    %al,0xffffff48(%edx,%ebp,1)
777c18c6:	4a                   	dec    %edx
777c18c7:	79 e7                	jns    777c18b0 <___w32_sharedptr_initialize+0x150>
777c18c9:	a1 50 30 7c 77       	mov    0x777c3050,%eax
777c18ce:	89 85 68 ff ff ff    	mov    %eax,0xffffff68(%ebp)
777c18d4:	a1 54 30 7c 77       	mov    0x777c3054,%eax
777c18d9:	89 85 6c ff ff ff    	mov    %eax,0xffffff6c(%ebp)
777c18df:	a1 58 30 7c 77       	mov    0x777c3058,%eax
777c18e4:	89 85 70 ff ff ff    	mov    %eax,0xffffff70(%ebp)
777c18ea:	a1 5c 30 7c 77       	mov    0x777c305c,%eax
777c18ef:	89 85 74 ff ff ff    	mov    %eax,0xffffff74(%ebp)
777c18f5:	a1 60 30 7c 77       	mov    0x777c3060,%eax
777c18fa:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
777c1900:	a1 64 30 7c 77       	mov    0x777c3064,%eax
777c1905:	89 85 7c ff ff ff    	mov    %eax,0xffffff7c(%ebp)
777c190b:	a1 68 30 7c 77       	mov    0x777c3068,%eax
777c1910:	89 45 80             	mov    %eax,0xffffff80(%ebp)
777c1913:	a1 6c 30 7c 77       	mov    0x777c306c,%eax
777c1918:	89 45 84             	mov    %eax,0xffffff84(%ebp)
777c191b:	0f b7 05 70 30 7c 77 	movzwl 0x777c3070,%eax
777c1922:	66 89 45 88          	mov    %ax,0xffffff88(%ebp)
777c1926:	8d 85 48 ff ff ff    	lea    0xffffff48(%ebp),%eax
777c192c:	89 04 24             	mov    %eax,(%esp)
777c192f:	ff 15 04 61 7c 77    	call   *0x777c6104
777c1935:	0f b7 f8             	movzwl %ax,%edi
777c1938:	83 ec 04             	sub    $0x4,%esp
777c193b:	85 ff                	test   %edi,%edi
777c193d:	75 42                	jne    777c1981 <___w32_sharedptr_initialize+0x221>
777c193f:	31 d2                	xor    %edx,%edx
777c1941:	85 d2                	test   %edx,%edx
777c1943:	75 1e                	jne    777c1963 <___w32_sharedptr_initialize+0x203>
777c1945:	89 1c 24             	mov    %ebx,(%esp)
777c1948:	e8 c3 00 00 00       	call   777c1a10 <_free>
777c194d:	89 34 24             	mov    %esi,(%esp)
777c1950:	ff 15 08 61 7c 77    	call   *0x777c6108
777c1956:	83 ec 04             	sub    $0x4,%esp
777c1959:	0f b7 c0             	movzwl %ax,%eax
777c195c:	e8 5f fd ff ff       	call   777c16c0 <___w32_sharedptr_get>
777c1961:	89 c3                	mov    %eax,%ebx
777c1963:	89 1d 70 40 7c 77    	mov    %ebx,0x777c4070
777c1969:	8d 43 04             	lea    0x4(%ebx),%eax
777c196c:	a3 60 40 7c 77       	mov    %eax,0x777c4060
777c1971:	8d 43 08             	lea    0x8(%ebx),%eax
777c1974:	a3 80 40 7c 77       	mov    %eax,0x777c4080
777c1979:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
777c197c:	5b                   	pop    %ebx
777c197d:	5e                   	pop    %esi
777c197e:	5f                   	pop    %edi
777c197f:	5d                   	pop    %ebp
777c1980:	c3                   	ret    
777c1981:	89 f8                	mov    %edi,%eax
777c1983:	e8 38 fd ff ff       	call   777c16c0 <___w32_sharedptr_get>
777c1988:	39 d8                	cmp    %ebx,%eax
777c198a:	89 fa                	mov    %edi,%edx
777c198c:	75 b1                	jne    777c193f <___w32_sharedptr_initialize+0x1df>
777c198e:	eb b1                	jmp    777c1941 <___w32_sharedptr_initialize+0x1e1>
777c1990:	e8 ab 00 00 00       	call   777c1a40 <_abort>
777c1995:	90                   	nop    
777c1996:	90                   	nop    
777c1997:	90                   	nop    
777c1998:	90                   	nop    
777c1999:	90                   	nop    
777c199a:	90                   	nop    
777c199b:	90                   	nop    
777c199c:	90                   	nop    
777c199d:	90                   	nop    
777c199e:	90                   	nop    
777c199f:	90                   	nop    

777c19a0 <___eprintf>:
777c19a0:	55                   	push   %ebp
777c19a1:	89 e5                	mov    %esp,%ebp
777c19a3:	83 ec 18             	sub    $0x18,%esp
777c19a6:	8b 45 14             	mov    0x14(%ebp),%eax
777c19a9:	89 44 24 10          	mov    %eax,0x10(%esp)
777c19ad:	8b 45 10             	mov    0x10(%ebp),%eax
777c19b0:	89 44 24 0c          	mov    %eax,0xc(%esp)
777c19b4:	8b 45 0c             	mov    0xc(%ebp),%eax
777c19b7:	89 44 24 08          	mov    %eax,0x8(%esp)
777c19bb:	8b 45 08             	mov    0x8(%ebp),%eax
777c19be:	89 44 24 04          	mov    %eax,0x4(%esp)
777c19c2:	a1 20 61 7c 77       	mov    0x777c6120,%eax
777c19c7:	83 c0 40             	add    $0x40,%eax
777c19ca:	89 04 24             	mov    %eax,(%esp)
777c19cd:	e8 7e 00 00 00       	call   777c1a50 <_fprintf>
777c19d2:	a1 20 61 7c 77       	mov    0x777c6120,%eax
777c19d7:	83 c0 40             	add    $0x40,%eax
777c19da:	89 04 24             	mov    %eax,(%esp)
777c19dd:	e8 1e 00 00 00       	call   777c1a00 <_fflush>
777c19e2:	e8 59 00 00 00       	call   777c1a40 <_abort>
777c19e7:	90                   	nop    
777c19e8:	90                   	nop    
777c19e9:	90                   	nop    
777c19ea:	90                   	nop    
777c19eb:	90                   	nop    
777c19ec:	90                   	nop    
777c19ed:	90                   	nop    
777c19ee:	90                   	nop    
777c19ef:	90                   	nop    

777c19f0 <___dllonexit>:
777c19f0:	ff 25 18 61 7c 77    	jmp    *0x777c6118
777c19f6:	90                   	nop    
777c19f7:	90                   	nop    
	...

777c1a00 <_fflush>:
777c1a00:	ff 25 28 61 7c 77    	jmp    *0x777c6128
777c1a06:	90                   	nop    
777c1a07:	90                   	nop    
	...

777c1a10 <_free>:
777c1a10:	ff 25 30 61 7c 77    	jmp    *0x777c6130
777c1a16:	90                   	nop    
777c1a17:	90                   	nop    
	...

777c1a20 <__errno>:
777c1a20:	ff 25 1c 61 7c 77    	jmp    *0x777c611c
777c1a26:	90                   	nop    
777c1a27:	90                   	nop    
	...

777c1a30 <_malloc>:
777c1a30:	ff 25 34 61 7c 77    	jmp    *0x777c6134
777c1a36:	90                   	nop    
777c1a37:	90                   	nop    
	...

777c1a40 <_abort>:
777c1a40:	ff 25 24 61 7c 77    	jmp    *0x777c6124
777c1a46:	90                   	nop    
777c1a47:	90                   	nop    
	...

777c1a50 <_fprintf>:
777c1a50:	ff 25 2c 61 7c 77    	jmp    *0x777c612c
777c1a56:	90                   	nop    
777c1a57:	90                   	nop    
	...

777c1a60 <_GetAtomNameA@12>:
777c1a60:	ff 25 0c 61 7c 77    	jmp    *0x777c610c
777c1a66:	90                   	nop    
777c1a67:	90                   	nop    
	...

777c1a70 <_FindAtomA@4>:
777c1a70:	ff 25 08 61 7c 77    	jmp    *0x777c6108
777c1a76:	90                   	nop    
777c1a77:	90                   	nop    
	...

777c1a80 <_AddAtomA@4>:
777c1a80:	ff 25 04 61 7c 77    	jmp    *0x777c6104
777c1a86:	90                   	nop    
777c1a87:	90                   	nop    
	...

777c1a90 <___sjlj_init_ctor>:
777c1a90:	55                   	push   %ebp
777c1a91:	89 e5                	mov    %esp,%ebp
777c1a93:	5d                   	pop    %ebp
777c1a94:	e9 27 f7 ff ff       	jmp    777c11c0 <___do_sjlj_init>
777c1a99:	90                   	nop    
777c1a9a:	90                   	nop    
777c1a9b:	90                   	nop    
777c1a9c:	90                   	nop    
777c1a9d:	90                   	nop    
777c1a9e:	90                   	nop    
777c1a9f:	90                   	nop    

777c1aa0 <__CTOR_LIST__>:
777c1aa0:	ff                   	(bad)  
777c1aa1:	ff                   	(bad)  
777c1aa2:	ff                   	(bad)  
777c1aa3:	ff 90 1a 7c 77 00    	call   *0x777c1a(%eax)

777c1aa4 <.ctors>:
777c1aa4:	90                   	nop    
777c1aa5:	1a 7c 77 00          	sbb    0x0(%edi,%esi,2),%bh
777c1aa9:	00 00                	add    %al,(%eax)
	...

777c1aac <__DTOR_LIST__>:
777c1aac:	ff                   	(bad)  
777c1aad:	ff                   	(bad)  
777c1aae:	ff                   	(bad)  
777c1aaf:	ff 00                	incl   (%eax)
777c1ab1:	00 00                	add    %al,(%eax)
	...
