Function at 0x46dd18
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x46dd20
push ecx
push ebx
push esi
push edi
mov eax, 0x46db08
call fcn.004061f8
mov ebx, 0x471e2c
mov esi, 0x471c3c
xor eax, eax
push ebp
push 0x46e765
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cvtpi2ps xmm0, qword [eax]
mov eax, 0x16c1a
call fcn.00402da8
add eax, 0x13a12
mov dword [0x471e28], eax
mov eax, 0xc7a7
dec eax
jne 0x46dd70
mov dword [esi], 0x2edc3a09
mov dword [ebx], 0x8776
mov eax, 0x21
inc eax
cmp eax, 0x34b592
jne 0x46dd84
mov eax, 0xc
inc eax
cmp eax, 0x814e98
jne 0x46dd91
mov eax, 0xed64
call fcn.00402da8
add eax, 0xf792
mov dword [0x471e30], eax
push 0x471c04
call sub.kernel32.dll_GetSystemTime
mov dword [0x471e28], 0xd2ba
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1da3
mov dword [0x471e30], eax
lea edx, [ebp - 0x14]
mov eax, dword [0x470694]
call fcn.0046a810
mov edx, dword [ebp - 0x14]
mov eax, 0x470694
call fcn.004041b0
lea edx, [ebp - 0x18]
mov eax, dword [0x470698]
call fcn.0046a810
mov edx, dword [ebp - 0x18]
mov eax, 0x470698
call fcn.004041b0
lea edx, [ebp - 0x1c]
mov eax, dword [0x47069c]
call fcn.0046a810
mov edx, dword [ebp - 0x1c]
mov eax, 0x47069c
call fcn.004041b0
mov dword [esi], 0xa9c0f47
lea edx, [ebp - 0x20]
mov eax, dword [0x4706a0]
call fcn.0046a810
mov edx, dword [ebp - 0x20]
mov eax, 0x4706a0
call fcn.004041b0
lea edx, [ebp - 0x24]
mov eax, dword [0x4706a4]
call fcn.0046a810
mov edx, dword [ebp - 0x24]
mov eax, 0x4706a4
call fcn.004041b0
mov eax, 0x7a04
call fcn.00402da8
add eax, 0x5246
mov dword [ebx], eax
lea edx, [ebp - 0x28]
mov eax, dword [0x4706a8]
call fcn.0046a810
mov edx, dword [ebp - 0x28]
mov eax, 0x4706a8
call fcn.004041b0
lea edx, [ebp - 0x2c]
mov eax, dword [0x4706ac]
call fcn.0046a810
mov edx, dword [ebp - 0x2c]
mov eax, 0x4706ac
call fcn.004041b0
lea edx, [ebp - 0x30]
mov eax, dword [0x4706b0]
call fcn.0046a810
mov edx, dword [ebp - 0x30]
mov eax, 0x4706b0
call fcn.004041b0
lea edx, [ebp - 0x34]
mov eax, dword [0x4706b4]
call fcn.0046a810
mov edx, dword [ebp - 0x34]
mov eax, 0x4706b4
call fcn.004041b0
mov dword [esi], 0x19650ab0
lea edx, [ebp - 0x38]
mov eax, dword [0x4706b8]
call fcn.0046a810
mov edx, dword [ebp - 0x38]
mov eax, 0x4706b8
call fcn.004041b0
lea edx, [ebp - 0x3c]
mov eax, dword [0x4706bc]
call fcn.0046a810
mov edx, dword [ebp - 0x3c]
mov eax, 0x4706bc
call fcn.004041b0
lea edx, [ebp - 0x40]
mov eax, dword [0x4706c0]
call fcn.0046a810
mov edx, dword [ebp - 0x40]
mov eax, 0x4706c0
call fcn.004041b0
mov dword [esi], 0x4861ce2
lea edx, [ebp - 0x44]
mov eax, dword [0x470704]
call fcn.0046a810
mov edx, dword [ebp - 0x44]
mov eax, 0x470704
call fcn.004041b0
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1b29
mov dword [ebx], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x4706c4]
call fcn.0046a810
mov edx, dword [ebp - 0x48]
mov eax, 0x4706c4
call fcn.004041b0
lea edx, [ebp - 0x4c]
mov eax, dword [0x4706c8]
call fcn.0046a810
mov edx, dword [ebp - 0x4c]
mov eax, 0x4706c8
call fcn.004041b0
lea edx, [ebp - 0x50]
mov eax, dword [0x4706cc]
call fcn.0046a810
mov edx, dword [ebp - 0x50]
mov eax, 0x4706cc
call fcn.004041b0
lea edx, [ebp - 0x54]
mov eax, dword [0x4706d0]
call fcn.0046a810
mov edx, dword [ebp - 0x54]
mov eax, 0x4706d0
call fcn.004041b0
lea edx, [ebp - 0x58]
mov eax, dword [0x4706d4]
call fcn.0046a810
mov edx, dword [ebp - 0x58]
mov eax, 0x4706d4
call fcn.004041b0
lea edx, [ebp - 0x5c]
mov eax, dword [0x4706d8]
call fcn.0046a810
mov edx, dword [ebp - 0x5c]
mov eax, 0x4706d8
call fcn.004041b0
lea edx, [ebp - 0x60]
mov eax, dword [0x4706dc]
call fcn.0046a810
mov edx, dword [ebp - 0x60]
mov eax, 0x4706dc
call fcn.004041b0
mov dword [esi], 0x137f84d2
mov eax, 0x1017e
call fcn.00402da8
add eax, 0x15f22
mov dword [0x471e28], eax
lea edx, [ebp - 0x64]
mov eax, dword [0x4706e0]
call fcn.0046a810
mov edx, dword [ebp - 0x64]
mov eax, 0x4706e0
call fcn.004041b0
lea edx, [ebp - 0x68]
mov eax, dword [0x4706e4]
call fcn.0046a810
mov edx, dword [ebp - 0x68]
mov eax, 0x4706e4
call fcn.004041b0
lea edx, [ebp - 0x6c]
mov eax, dword [0x4706e8]
call fcn.0046a810
mov edx, dword [ebp - 0x6c]
mov eax, 0x4706e8
call fcn.004041b0
lea edx, [ebp - 0x70]
mov eax, dword [0x4706ec]
call fcn.0046a810
mov edx, dword [ebp - 0x70]
mov eax, 0x4706ec
call fcn.004041b0
mov eax, 0xae52
call fcn.00402da8
add eax, 0x4876
mov dword [0x471e28], eax
lea edx, [ebp - 0x74]
mov eax, dword [0x4706f0]
call fcn.0046a810
mov edx, dword [ebp - 0x74]
mov eax, 0x4706f0
call fcn.004041b0
lea edx, [ebp - 0x78]
mov eax, dword [0x4706f4]
call fcn.0046a810
mov edx, dword [ebp - 0x78]
mov eax, 0x4706f4
call fcn.004041b0
mov eax, 0x17cc6
call fcn.00402da8
add eax, 0xa8c8
mov dword [0x471e28], eax
mov dword [0x471e40], 0x4f28a
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2267
mov dword [ebx], eax
lea edx, [ebp - 0x7c]
mov eax, dword [0x4706f8]
call fcn.0046a810
mov edx, dword [ebp - 0x7c]
mov eax, 0x4706f8
call fcn.004041b0
mov dword [esi], 0x299845a7
lea edx, [ebp - 0x80]
mov eax, dword [0x4706fc]
call fcn.0046a810
mov edx, dword [ebp - 0x80]
mov eax, 0x4706fc
call fcn.004041b0
mov eax, 0x65a1
call fcn.00402da8
add eax, 0x13bb1
mov dword [0x471e28], eax
lea edx, [ebp - 0x84]
mov eax, dword [0x470700]
call fcn.0046a810
mov edx, dword [ebp - 0x84]
mov eax, 0x470700
call fcn.004041b0
call fcn.0046a074
mov eax, 0xc961
call fcn.00402da8
add eax, 0xab2a
mov dword [0x471e30], eax
cmp word [0x471c04], 0x7d8
jbe 0x46e1ee
call fcn.0046a8e4
test al, al
je 0x46e1ee
call sub.kernel32.dll_GetTickCount_1
mov eax, 0xc885
call fcn.00402da8
add eax, 0xb65
mov dword [ebx], eax
push 0
call sub.kernel32.dll_ExitProcess_1
mov eax, 0x5d25
call fcn.00402da8
add eax, 0x929
mov dword [0x471e44], eax
mov dword [esi], 0x184815e6
mov dword [ebx], 0x6bed
call sub.kernel32.dll_GetTickCount_1
call sub.kernel32.dll_GetTickCount_1
add eax, 0xa3e0
mov dword [ebx], eax
jmp 0x46e747
mov dword [ebx], 0x1436f
push 0x46e774
push 0xffffffffffffffff
push 0
call fcn.00406408
mov dword [ebx], 0xc902
call sub.kernel32.dll_GetLastError_1
test eax, eax
je 0x46e249
mov eax, 0x1599e
call fcn.00402da8
add eax, 0xfc25
mov dword [0x471e28], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0xc95
mov dword [ebx], eax
mov dword [esi], 0x61dfdc7
push 0
call sub.kernel32.dll_ExitProcess_1
mov dword [esi], 0x331bf9b
jmp 0x46e747
call sub.kernel32.dll_GetTickCount_1
add eax, 0xfdb8
mov dword [0x471e30], eax
push 0x668a0
call sub.kernel32.dll_Sleep_1
call sub.kernel32.dll_GetTickCount_1
add eax, 0x14d45
mov dword [ebx], eax
push 0
call sub.ole32.dll_CoInitialize
mov eax, 0xfaba
call fcn.00402da8
add eax, 0x8357
mov dword [0x471e28], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x7a1
mov dword [ebx], eax
mov dword [0x471e30], 0x17c98
xor eax, eax
mov dword [0x471e20], eax
mov dword [esi], 0x1a5e2548
mov byte [0x471c14], 0
mov byte [0x471c15], 1
mov dword [ebx], 0x14b57
mov byte [0x471c16], 0
mov dword [0x471e28], 0x184ca
mov byte [0x471c17], 0
mov dl, 1
mov eax, dword [0x415558]
call fcn.00403360
mov dword [0x471c20], eax
mov dl, 1
mov eax, dword [0x415558]
call fcn.00403360
mov dword [0x471c24], eax
mov dword [0x471e30], 0x4126
mov dl, 1
mov eax, dword [0x415558]
call fcn.00403360
mov dword [0x471c28], eax
mov dl, 1
mov eax, dword [0x41eee8]
call fcn.00424998
mov dword [0x471c2c], eax
mov dl, 6
mov eax, dword [0x471c2c]
call fcn.00425f10
mov dl, 1
mov eax, dword [0x427250]
call fcn.00427504
mov dword [0x471c30], eax
mov dword [esi], 0x33eb911d
mov eax, 0xd40c
call fcn.00402da8
add eax, 0x4e2e
mov dword [0x471e30], eax
mov dl, 1
mov eax, dword [0x415268]
call fcn.00403360
mov dword [0x471c48], eax
push 0
call sub.user32.dll_GetDC
mov dword [0x471c34], eax
lea eax, [ebp - 0x88]
call fcn.0046c52c
mov edx, dword [ebp - 0x88]
mov eax, 0x471c40
call fcn.004041b0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xe1cd
mov dword [0x471e28], eax
mov dword [esi], 0x2a83df85
lea edx, [ebp - 0x90]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.004089bc
mov edx, dword [ebp - 0x8c]
mov eax, 0x471c64
call fcn.004041b0
lea eax, [ebp - 0x94]
call fcn.0046add0
mov edx, dword [ebp - 0x94]
mov eax, 0x471c68
call fcn.004041b0
mov dword [esi], 0x19e2c1fb
call sub.kernel32.dll_GetTickCount_1
add eax, 0x13a80
mov dword [0x471e28], eax
lea edx, [ebp - 0x98]
mov eax, dword [0x471c68]
call fcn.00408014
mov edx, dword [ebp - 0x98]
mov eax, 0x46e790
call fcn.00404760
test eax, eax
setne byte [0x471c54]
lea edx, [ebp - 0x9c]
mov eax, dword [0x471c68]
call fcn.00408014
mov edx, dword [ebp - 0x9c]
mov eax, 0x46e7a0
call fcn.00404760
test eax, eax
setne byte [0x471c55]
mov dword [0x471e30], 0x20c2
push 0x471c6c
push 0x101
call sub.wsock32.dll_WSAStartup
mov dword [esi], 0x1e1d4fdc
mov dword [0x471e34], 0x18a669
mov eax, 0x18171
call fcn.00402da8
add eax, 0x801a
mov dword [0x471e30], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x157
mov dword [ebx], eax
cmp word [0x471c04], 0x7d8
jbe 0x46e4ba
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1d11
mov dword [ebx], eax
call fcn.0046bb4c
mov dword [ebx], 0x92b4
cmp word [0x471c04], 0x7d8
jbe 0x46e549
call sub.kernel32.dll_GetTickCount_1
add eax, 0x5790
mov dword [0x471e30], eax
mov dword [0x471e28], 0x3f6f
mov eax, 0xa3d7
call fcn.00402da8
add eax, 0x14b08
mov dword [0x471e30], eax
mov dword [esi], 0x2267c51
push 0
push 0
push 0x471dfc
mov ecx, 0x46cc04
xor edx, edx
xor eax, eax
call fcn.00404118
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1187d
mov dword [0x471e28], eax
mov dword [esi], 0x2cce8c35
mov eax, 0xc3a9
call fcn.00402da8
add eax, 0x114ba
mov dword [0x471e30], eax
mov dword [ebx], 0x6a7
cmp word [0x471c04], 0x7d8
jbe 0x46e5e8
mov dword [0x471e30], 0xd271
mov dword [0x471e3c], 0x46cef8
call sub.kernel32.dll_GetTickCount_1
add eax, 0xe2c1
mov dword [ebx], eax
push 0x46e7a4
call sub.kernel32.dll_LoadLibraryA
mov edi, eax
mov eax, 0xdeb8
call fcn.00402da8
add eax, 0x1776d
mov dword [0x471e30], eax
push 0x46e7b0
push edi
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x471e38], eax
mov dword [0x471e28], 0x6035
mov eax, dword [0x471e3c]
push eax
push 0x22b
push 0
push 0
call dword [0x471e38]
mov eax, 0xd9f4
call fcn.00402da8
add eax, 0x8a33
mov dword [ebx], eax
push edi
call sub.kernel32.dll_FreeLibrary_1
mov dword [0x471e30], 0xc3dd
call sub.kernel32.dll_GetTickCount_1
add eax, 0x85ad
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0xb0a4
mov dword [0x471e30], eax
mov dword [esi], 0x1a1c7e74
mov dword [ebx], 0xdad3
cmp word [0x471c04], 0x7d8
jbe 0x46e682
call sub.kernel32.dll_GetTickCount_1
add eax, 0xa811
mov dword [0x471e30], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x137a4
mov dword [0x471e30], eax
push 0
push 0
push 0x471dfc
mov ecx, 0x469704
xor edx, edx
xor eax, eax
call fcn.00404118
mov eax, 0x7b0
call fcn.00402da8
add eax, 0xf255
mov dword [0x471e30], eax
mov dword [0x471e30], 0x344a
call sub.kernel32.dll_GetTickCount_1
add eax, 0xa31d
mov dword [0x471e30], eax
mov dword [esi], 0x1c9f8205
mov dword [esi], 0x250186b1
jmp 0x46e69e
push 0x471e00
call sub.user32.dll_TranslateMessage
push 0x471e00
call sub.user32.dll_DispatchMessageA
push 0
push 0
push 0
push 0x471e00
call sub.user32.dll_GetMessageA
test eax, eax
je 0x46e6bb
cmp byte [0x471c15], 0
jne 0x46e68a
call sub.kernel32.dll_GetTickCount_1
add eax, 0xf5b7
mov dword [0x471e28], eax
mov eax, dword [0x471c20]
call fcn.00403390
call sub.kernel32.dll_GetTickCount_1
add eax, 0xa6bc
mov dword [0x471e30], eax
mov dword [esi], 0x217ab2fe
mov eax, dword [0x471c24]
call fcn.00403390
mov eax, 0x14384
call fcn.00402da8
add eax, 0xa605
mov dword [ebx], eax
mov eax, dword [0x471c28]
call fcn.00403390
mov eax, 0x117fa
call fcn.00402da8
add eax, 0x17a31
mov dword [ebx], eax
mov eax, dword [0x471c48]
call fcn.00403390
mov dword [esi], 0x1fcecc9d
mov eax, 0xe963
call fcn.00402da8
add eax, 0x11a71
mov dword [ebx], eax
push 0
call sub.kernel32.dll_ExitProcess_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46e76c
lea eax, [ebp - 0x9c]
mov edx, 0x23
call fcn.00404180
ret