Function at 0x434ae7
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x113c
call fcn.004a1280
push ebx
mov ebx, dword [ebp + 0x18]
push edi
lea edi, [esi + 0x4c]
push edi
mov eax, esi
call fcn.00434e2f
test eax, eax
jne 0x434b1e
push edi
mov ecx, esi
call fcn.00434e57
test eax, eax
je 0x434b1e
mov eax, 0x190
jmp 0x434dd7
cmp dword [ebp + 0x14], 0
je 0x434dd2
cmp dword [esi + 4], 0xffffffff
je 0x434b42
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 8]
jne 0x434b42
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi + 0xc]
je 0x434d8e
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esi + 0xc]
push dword [esi + 8]
push esi
push str._08X_peer_data_conn_closed_or_offset_not_equal__old__I64d__new__I64d_n
call fcn.00413df9
push 0xfff
lea eax, [ebp - 0x113b]
push 0
push eax
mov byte [ebp - 0x113c], 0
call fcn.0049d740
mov eax, dword [esi + 4]
add esp, 0x24
cmp eax, 0xffffffff
je 0x434b93
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push dword [esi]
lea edi, [ebp - 0x113c]
call fcn.004345b8
pop ecx
push dword [esi]
mov edi, str.TYPE_I_r_n
call fcn.00434509
push dword [esi]
lea edi, [ebp - 0x113c]
call fcn.004345b8
pop ecx
pop ecx
cmp eax, 0xc8
je 0x434bca
push 0x53a38c
call fcn.00413df9
pop ecx
mov eax, 0x191
jmp 0x434dd7
push dword [esi]
mov edi, str.PASV_r_n
call fcn.00434509
push dword [esi]
lea edi, [ebp - 0x113c]
call fcn.004345b8
pop ecx
pop ecx
cmp eax, 0xe3
jne 0x434bc0
push 0xff
lea eax, [ebp - 0x13b]
push 0
push eax
mov byte [ebp - 0x13c], 0
call fcn.0049d740
xor eax, eax
mov byte [ebp - 0x3c], 0
lea edi, [ebp - 0x3b]
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 [ebp - 0x1c], 0
lea edi, [ebp - 0x1b]
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 [ebp - 0x113c], dl
je 0x434c9f
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0x13c]
lea eax, [ebp - 0x113c]
lea edi, [ebp - 0x1c]
mov dword [ebp - 8], ecx
movsx ecx, byte [eax]
sub ecx, 0x28
je 0x434c96
dec ecx
je 0x434c92
sub ecx, 3
jne 0x434c62
inc edx
cmp edx, 5
mov byte [eax], 0x2e
jge 0x434c99
lea ecx, [edx - 1]
cmp ecx, 3
ja 0x434c72
mov ebx, dword [ebp - 8]
inc dword [ebp - 8]
jmp 0x434c7d
cmp edx, 5
jne 0x434c86
mov ebx, dword [ebp - 0xc]
inc dword [ebp - 0xc]
mov cl, byte [eax]
mov byte [ebx], cl
mov ebx, dword [ebp + 0x18]
jmp 0x434c99
cmp edx, 6
jne 0x434c99
mov cl, byte [eax]
mov byte [edi], cl
inc edi
jmp 0x434c99
xor edx, edx
jmp 0x434c99
xor edx, edx
inc edx
inc eax
cmp byte [eax], 0
jne 0x434c49
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 4], eax
cmp eax, 0xffffffff
je 0x434b14
push 2
pop eax
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x13c]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0049ca34
mov edi, eax
lea eax, [ebp - 0x1c]
push eax
shl edi, 8
call fcn.0049ca34
pop ecx
pop ecx
add eax, edi
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2a], ax
push 0x10
lea eax, [ebp - 0x2c]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x434b14
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
je 0x434d51
push dword [ebp + 0xc]
lea eax, [ebp - 0x113c]
push dword [ebp + 8]
push str.REST__d_r_n
push eax
call fcn.0049b026
push dword [esi]
lea edi, [ebp - 0x113c]
call fcn.00434509
push dword [esi]
call fcn.004345b8
add esp, 0x18
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 3
jne 0x434bc0
push dword [esi + 0x3c]
lea eax, [ebp - 0x113c]
push str.RETR__s_r_n
push eax
call fcn.0049b026
push dword [esi]
lea edi, [ebp - 0x113c]
call fcn.00434509
push dword [esi]
call fcn.004345b8
add esp, 0x14
push 0x64
cdq
pop ecx
idiv ecx
cmp eax, 1
je 0x434d8e
mov eax, 0x193
jmp 0x434dd7
mov eax, dword [ebp + 8]
and dword [ebx], 0
cmp dword [ebp + 0x14], 0
mov dword [esi + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
jle 0x434dd2
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x14]
push 0
sub ecx, eax
push ecx
mov ecx, dword [ebp + 0x10]
add eax, ecx
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test edi, edi
jle 0x434ddd
cdq
add dword [esi + 8], eax
mov eax, dword [ebp + 0x14]
adc dword [esi + 0xc], edx
add dword [ebx], edi
cmp dword [ebx], eax
jl 0x434da3
mov eax, 0xc8
pop edi
pop ebx
leave
ret 0x14
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [esi + 4], 0xffffffff
mov eax, edi
neg eax
sbb eax, eax
add eax, 0x1f3
jmp 0x434dd7