Function at 0x438d51
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push edi
push esi
push ebx
mov ebx, dword [ebp + 8]
nop
mov edx, dword [ebx + 8]
mov dword [edx + 4], 0
mov edx, 0x4da3d7
mov eax, dword [ebx + 8]
mov dword [eax], edx
nop
cmp byte [ebx + 0x10], 0
je 0x438d9a
mov byte [ebx + 0x18], 1
nop
cmp dword [ebp + 0xc], 0
je 0x438d94
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0xc]
je 0x438d94
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
jmp 0x438fa1
cmp byte [ebx + 0x19], 0
jne 0x438dbd
nop
cmp dword [ebp + 0xc], 0
je 0x438db7
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0xc]
je 0x438db7
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
jmp 0x438fa1
mov eax, dword [ebx + 0xc40]
add eax, dword [ebx + 0xc44]
add eax, 0x400
cmp eax, dword [ebx + 0xc4c]
jl 0x438e68
mov edx, dword [ebx + 0xc44]
mov eax, dword [ebx + 0xc48]
lea eax, [eax + edx*2]
mov dword [ebx + 0xc4c], eax
push dword [ebx + 0xc4c]
call fcn.0041d4a5
add esp, 4
mov dword [ebp - 8], eax
push dword [ebx + 0xc44]
mov eax, dword [ebx + 0xc50]
add eax, dword [ebx + 0xc40]
push eax
push dword [ebp - 8]
call fcn.004a86b0
add esp, 0xc
push dword [ebx + 0xc50]
call fcn.0041d4bc
add esp, 4
mov dword [ebx + 0xc40], 0
mov edi, dword [ebp - 8]
mov dword [ebx + 0xc50], edi
mov eax, dword [ebx + 0xc4c]
cmp eax, dword [ebx + 0xc48]
jge 0x438e68
push 0
push 0x755
push str..._src_shared_stp_transport_stp_transport.cc
push 0x4da3d5
push 0
call fcn.00409813
sub esp, 0xffffffec
cmp byte [ebx + 0xc74], 0
jne 0x438f73
mov edi, dword [ebx + 0xc4c]
mov dword [ebp - 0x10], edi
mov edi, dword [ebx + 0xc44]
sub dword [ebp - 0x10], edi
mov edx, dword [ebx + 0xc40]
sub dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0
push 0
push dword [ebp - 0x10]
mov edi, dword [ebx + 0xc40]
add edi, dword [ebx + 0xc44]
add edi, dword [ebx + 0xc50]
push edi
push dword [ebx + 0x1c]
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x438eda
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
cmp eax, 0x2733
jne 0x438eda
call fcn.00439ec0
jmp 0x438f7c
cmp dword [ebp - 0xc], 0
jge 0x438f22
call fcn.00438bf7
mov dword [ebp - 4], eax
push 0
push ebx
call fcn.004376ab
sub esp, 0xfffffff8
mov edx, dword [ebx + 8]
mov dword [edx + 4], 1
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 8]
mov dword [eax], edx
nop
cmp dword [ebp + 0xc], 0
je 0x438f1c
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0xc]
je 0x438f1c
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
jmp 0x438fa1
cmp dword [ebp - 0xc], 0
jne 0x438f61
push 0
push ebx
call fcn.004376ab
sub esp, 0xfffffff8
mov eax, dword [ebx + 8]
mov dword [eax + 4], 5
mov edx, str._handleRead_:_peer_has_closed_connection
mov eax, dword [ebx + 8]
mov dword [eax], edx
nop
cmp dword [ebp + 0xc], 0
je 0x438f5e
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0xc]
je 0x438f5e
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
jmp 0x438fa1
mov byte [ebx + 0xc54], 0
mov eax, dword [ebp - 0xc]
add dword [ebx + 0xc44], eax
jmp 0x438f7c
push ebx
call fcn.00439af5
add esp, 4
push dword [ebp + 0xc]
push ebx
call fcn.00438fa6
sub esp, 0xfffffff8
nop
cmp dword [ebp + 0xc], 0
je 0x438f9f
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0xc]
je 0x438f9f
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
nop
pop ebx
pop esi
pop edi
leave
ret