Function at 0x1002b7b0
Capabilities:
Initialize winsock library

Disassembly:
mov eax, 0x10948
call fcn.1003a3a0
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x3fff
xor eax, eax
lea edi, [esp + 0x959]
mov byte [esp + 0x958], bl
mov dword [esp + 0x10], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x14]
mov dword [esp + 0x60], ebx
rep stosd dword es:[edi], eax
mov ecx, 0xb
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x1095c]
mov ecx, 0x1cd
lea edi, [esp + 0x94]
mov dword [esp + 0x90], ebx
rep stosd dword es:[edi], eax
or edi, 0xffffffff
lea esi, [ebp + 0x630]
push edi
lea eax, [ebp + 0x52c]
push esi
push eax
call fcn.1002a200
add esp, 0xc
cmp eax, edi
jne 0x1002b838
mov dword [esi], ebx
jmp 0x1002b83f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 4]
push 0x1004a08c
mov dword [esp + 0x6c], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x60], ecx
call fcn.10001000
push str._Entering_FtpThreadProc
call fcn.10001000
push 0x1004a0ac
call fcn.10001000
lea edx, [ebp + 0x428]
lea eax, [esp + 0x9c]
push edx
push eax
call fcn.1002b0b0
add esp, 0x14
test eax, eax
jne 0x1002b89e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10948
ret
mov ecx, dword [esp + 0x1096c]
lea edx, [esp + 0x90]
push ecx
push edx
call fcn.1002b3e0
add esp, 8
test eax, eax
jne 0x1002b8c5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10948
ret
mov eax, dword [esp + 0x10970]
mov edi, dword [esp + 0x10960]
mov dword [esp + 0x90], eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1a2]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2a6]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10964]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x3aa]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10968]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [esp + 0x98], ebx
jne 0x1002b980
mov eax, dword [esp + 0x90]
cmp eax, ebx
mov eax, 0x1004a0b0
jne 0x1002b972
mov eax, 0x1004a0b4
push eax
push str._ConnectionType:_DIRECT_PASV:__s
call fcn.10001000
add esp, 8
mov eax, dword [esp + 0x98]
mov edi, 1
cmp eax, edi
jne 0x1002b99d
push str._ConnectionType:_HTTPPROXY
call fcn.10001000
add esp, 4
cmp dword [esp + 0x98], 4
jne 0x1002b9b4
push str._ConnectionType:_SOCKS4
call fcn.10001000
add esp, 4
cmp dword [esp + 0x98], ebx
je 0x1002b9f6
mov eax, dword [esp + 0x90]
cmp eax, ebx
mov eax, 0x1004a118
jne 0x1002b9d2
mov eax, 0x1004a11c
mov ecx, dword [esp + 0x9c]
push eax
and ecx, 0xffff
lea edx, [esp + 0xa2]
push ecx
push edx
push str._HTTPProxy_Socks_Server:__s_Port:__i_PASV:__s
call fcn.10001000
add esp, 0x10
lea eax, [esp + 0x7c8]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1002ba2b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str._Fail_to_initialize_Winsock_interface._Err_i
call fcn.10001000
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10948
ret
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push ebx
push ebx
push ebx
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x50], eax
je 0x1002baa3
push ebx
push ebx
push ebx
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x54], eax
je 0x1002baa3
push ebx
push ebx
push ebx
push ebx
call esi
cmp eax, ebx
mov dword [esp + 0x58], eax
je 0x1002baa3
push 0x1000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [esp + 0x30], eax
je 0x1002baa3
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
lea edx, [esp + 0x4ba]
push ecx
push edx
call fcn.1002acb0
add esp, 0x14
cmp eax, 0xffffffff
mov dword [esp + 0x64], eax
jne 0x1002baa5
xor edi, edi
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x958]
cmp edi, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], 0x10000
mov dword [esp + 0x38], ecx
je 0x1002bb4c
mov esi, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp dword [esp + 0x10], 3
je 0x1002bb48
push 0xffffffffffffffff
lea edx, [esp + 0x54]
push ebx
push edx
push 4
call esi
cmp eax, 3
ja case.default.0x1002bae6
jmp dword [eax*4 + 0x1002bc28]
lea eax, [esp + 0x10]
push ebp
lea ecx, [esp + 0x94]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.1002a320
jmp 0x1002bb39
lea eax, [esp + 0x10]
push ebp
lea ecx, [esp + 0x94]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.1002a790
jmp 0x1002bb39
lea eax, [esp + 0x10]
push ebp
lea ecx, [esp + 0x94]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
call fcn.1002a930
add esp, 0x10
mov edi, eax
cmp edi, ebx
je 0x1002bb4c
jmp 0x1002bace
xor edi, edi
jmp 0x1002bb4c
cmp edi, ebx
jne 0x1002bba7
mov eax, dword [esp + 0x10]
push eax
push str._ABORT_Request:_state___08X
call fcn.10001000
mov eax, dword [esp + 0x18]
add esp, 8
cmp eax, ebx
je 0x1002bba7
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
je 0x1002bba7
mov ecx, dword [esp + 0x98]
push ebx
cmp ecx, 1
push eax
je 0x1002bb94
mov esi, dword [sym.imp.WS2_32.dll_shutdown]
call esi
mov ecx, dword [esp + 0x68]
push ebx
push ecx
call esi
push 0x1004a1a8
jmp 0x1002bb9f
call dword [sym.imp.WS2_32.dll_shutdown]
push str._ABORT_shutdown_controlsocket.
call fcn.10001000
add esp, 4
push str._Exiting_FtpThreadProc.
call fcn.10001000
mov eax, dword [esp + 0x68]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
add esp, 4
cmp eax, 0xffffffff
je 0x1002bbc6
push eax
call esi
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x1002bbd2
push eax
call esi
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
je 0x1002bbde
push eax
call esi
mov edx, dword [esp + 0x50]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [esp + 0x54]
push eax
call esi
mov ecx, dword [esp + 0x58]
push ecx
call esi
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x1002bc08
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x1002bc14
push eax
call esi
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10948
ret