Function at 0x43467e
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get socket status
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1678
call fcn.004a1280
push ebx
push edi
lea edi, [esi + 0x4c]
push edi
mov eax, esi
call fcn.00434e2f
test eax, eax
jne 0x4346b5
push edi
mov ecx, esi
call fcn.00434e57
test eax, eax
je 0x4346b5
mov eax, 0x190
jmp 0x434adf
push 0xfff
lea eax, [esp + 0x285]
push 0
push eax
mov byte [esp + 0x28c], 0
call fcn.0049d740
add esp, 0xc
push dword [esi]
mov edi, str.TYPE_A_r_n
call fcn.00434509
pop ecx
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
cmp eax, 0xc8
je 0x434701
mov eax, 0x191
jmp 0x434adf
push dword [esi]
mov edi, str.PASV_r_n
call fcn.00434509
pop ecx
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
cmp eax, 0xe3
je 0x43472e
mov eax, 0x192
jmp 0x434adf
push 0xff
lea eax, [esp + 0x185]
push 0
push eax
mov byte [esp + 0x18c], 0
call fcn.0049d740
xor eax, eax
mov byte [esp + 0x2c], 0
lea edi, [esp + 0x2d]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [esp + 0x3c], 0
lea edi, [esp + 0x3d]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edx, edx
add esp, 0xc
stosb byte es:[edi], al
cmp byte [esp + 0x280], dl
je 0x4347f3
lea ecx, [esp + 0x20]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x180]
lea eax, [esp + 0x280]
lea edi, [esp + 0x30]
mov dword [esp + 8], ecx
movsx ecx, byte [eax]
sub ecx, 0x28
je 0x4347ea
dec ecx
je 0x4347e6
sub ecx, 3
jne 0x4347b1
inc edx
cmp edx, 5
mov byte [eax], 0x2e
jge 0x4347ed
lea ecx, [edx - 1]
cmp ecx, 3
ja 0x4347c7
mov ebx, dword [esp + 8]
mov cl, byte [eax]
inc dword [esp + 8]
mov byte [ebx], cl
jmp 0x4347ed
cmp edx, 5
jne 0x4347da
mov ebx, dword [esp + 0xc]
mov cl, byte [eax]
inc dword [esp + 0xc]
mov byte [ebx], cl
jmp 0x4347ed
cmp edx, 6
jne 0x4347ed
mov cl, byte [eax]
mov byte [edi], cl
inc edi
jmp 0x4347ed
xor edx, edx
jmp 0x4347ed
xor edx, edx
inc edx
inc eax
cmp byte [eax], 0
jne 0x434798
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 4], eax
cmp eax, 0xffffffff
jne 0x434811
mov eax, 0x193
jmp 0x434adf
push 2
pop eax
mov word [esp + 0x10], ax
lea eax, [esp + 0x180]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
call fcn.0049ca34
mov edi, eax
pop ecx
lea eax, [esp + 0x30]
push eax
shl edi, 8
call fcn.0049ca34
pop ecx
add eax, edi
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x12], ax
push 0x10
lea eax, [esp + 0x14]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x434873
mov eax, 0x194
jmp 0x434adf
push dword [esi + 0x3c]
lea eax, [esp + 0x284]
push str.LIST__s_r_n
push eax
call fcn.0049b026
add esp, 0xc
push dword [esi]
lea edi, [esp + 0x284]
call fcn.00434509
pop ecx
push dword [esi]
call fcn.004345b8
pop ecx
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 1
je 0x4348b7
mov eax, 0x195
jmp 0x434adf
push 0x3ff
lea eax, [esp + 0x1285]
push 0
push eax
mov byte [esp + 0x128c], 0
call fcn.0049d740
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
add esp, 0xc
and dword [esp + 8], 0
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 4]
inc edx
mov dword [esp + 0x78], edx
cmp eax, 0xffffffff
je 0x434916
xor ecx, ecx
cmp dword [esp + ecx*4 + 0x7c], eax
je 0x434903
inc ecx
cmp ecx, edx
jb 0x4348f8
cmp ecx, edx
jne 0x434916
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], 2
xor edi, edi
push edi
push edi
push edi
lea eax, [esp + 0x84]
push eax
push edi
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x4349a2
lea eax, [esp + 0x78]
push eax
push dword [esi + 4]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x434970
mov eax, dword [esp + 8]
push edi
mov ecx, 0x400
sub ecx, eax
push ecx
lea eax, [esp + eax + 0x1288]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, edi
jg 0x43496c
push dword [esi + 4]
call ebx
or dword [esi + 4], 0xffffffff
jmp 0x434970
add dword [esp + 8], eax
lea eax, [esp + 0x78]
push eax
push dword [esi]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4348e1
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 1
je 0x4348e1
push dword [esi + 4]
call ebx
or dword [esi + 4], 0xffffffff
cmp dword [esp + 8], 0
jle 0x4349d5
push dword [esp + 8]
lea eax, [esp + 0x1284]
lea ebx, [esp + 0x44]
call fcn.00435464
pop ecx
test eax, eax
je 0x4349d5
mov eax, dword [esp + 0x54]
cdq
jmp 0x434a8a
push dword [esi]
mov edi, str.TYPE_I_r_n
call fcn.00434509
pop ecx
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
cmp eax, 0xc8
je 0x434a02
mov eax, 0x198
jmp 0x434adf
push dword [esi + 0x3c]
lea eax, [esp + 0x284]
push str.SIZE__s_r_n
push eax
call fcn.0049b026
add esp, 0xc
push dword [esi]
lea edi, [esp + 0x284]
call fcn.00434509
pop ecx
push dword [esi]
call fcn.004345b8
pop ecx
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 2
je 0x434a46
mov eax, 0x197
jmp 0x434adf
lea eax, [esp + 0x280]
push eax
xor edi, edi
call fcn.0049db30
pop ecx
test eax, eax
jbe 0x434a7c
lea eax, [esp + edi + 0x280]
cmp byte [eax], 0x20
je 0x434a7c
mov byte [eax], 0x20
lea eax, [esp + 0x280]
push eax
inc edi
call fcn.0049db30
pop ecx
cmp edi, eax
jb 0x434a5a
lea eax, [esp + 0x280]
push eax
call fcn.0049ca3f
pop ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], edx
mov dword [ecx], eax
push dword [esi]
mov edi, str.REST_100_r_n
call fcn.00434509
pop ecx
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 3
je 0x434abe
lea eax, [ecx + 0x64]
jmp 0x434adf
push dword [esi]
mov edi, str.REST_0_r_n
call fcn.00434509
pop ecx
push dword [esi]
lea edi, [esp + 0x284]
call fcn.004345b8
pop ecx
mov eax, 0xce
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4