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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov dword [ebp - 0x18], 0
cmp dword [ebp + 0x1c], 0
sete al
movzx eax, al
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 8], 0
je 0x469737
cmp dword [ebp + 0xc], 0
jne 0x4697c6
mov dword [ebp - 0x10], 0x80203bfd
cmp dword [ebp + 0x14], 0
je 0x4697bb
cmp dword [ebp + 0x14], 0xffffe7e0
je 0x4697bb
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x4697bb
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
cmp dword [ebp + 8], 0
je 0x469795
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
jmp 0x46979c
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketReceiveBuffer_sock_d_buf_p_len_d_errno_d__d
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046157e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], eax
jmp 0x469ae9
cmp dword [ebp + 0x14], 0
je 0x469835
cmp dword [ebp + 0x14], 0xffffe7e0
je 0x469835
mov dword [esp + 4], 0x20
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x469835
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketReceiveBuffer_sock_d_buffer_p_bytesToReceive_d_logMgr_p_bytesReceived_p_remoteAddress_p_
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461652
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0
je 0x4698c4
mov dword [ebp - 0x10], 0x80203bfd
cmp dword [ebp + 0x14], 0
je 0x4698b9
cmp dword [ebp + 0x14], 0xffffe7e0
je 0x4698b9
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x4698b9
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketReceiveBuffer_sock_d_buf_p_len_d_errno_d__d
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046157e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], eax
jmp 0x469ae9
cmp dword [ebp - 0x1c], 0
je 0x4698f3
mov dword [esp + 0xc], 0
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.WS2_32.DLL_recv
sub esp, 0x10
mov dword [ebp - 0x14], eax
jmp 0x469963
mov dword [ebp - 0x3c], 0x10
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x3c]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x38]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.WS2_32.DLL_recvfrom
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.004676b6
cmp dword [ebp - 0x14], 0
js 0x469992
cmp dword [ebp + 0x18], 0
je 0x469977
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x14]
mov dword [edx], eax
cmp dword [ebp - 0x14], 0
jne 0x4699cb
cmp dword [ebp - 0x1c], 0
je 0x4699cb
cmp dword [ebp + 0x10], 0
je 0x4699cb
mov dword [ebp - 0x10], 0x802039ff
jmp 0x4699cb
call sub.WS2_32.DLL_WSAGetLastError
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x2738
jne 0x4699ac
mov dword [ebp - 0x10], 0x80203bf2
jmp 0x4699bc
cmp dword [ebp - 0x18], 0x2733
je 0x4699bc
mov dword [ebp - 0x10], 0x80203bff
cmp dword [ebp + 0x18], 0
je 0x4699cb
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
cmp dword [ebp - 0x10], 0
jne 0x469a75
cmp dword [ebp + 0x1c], 0
je 0x4699f7
lea eax, [ebp - 0x58]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x10
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
call fcn.0046c960
jmp 0x4699fb
mov byte [ebp - 0x58], 0
cmp dword [ebp + 0x14], 0
je 0x469a75
cmp dword [ebp + 0x14], 0xffffe7e0
je 0x469a75
mov dword [esp + 4], 0x40
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x469a75
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
call fcn.0046ca42
movzx edx, ax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
lea eax, [ebp - 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketReceiveBuffer_sock_d_addr_s:_d_buf_p_len_d_received_d_0
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461687
cmp dword [ebp - 0x10], 0
je 0x469ae3
cmp dword [ebp + 0x14], 0
je 0x469ae3
cmp dword [ebp + 0x14], 0xffffe7e0
je 0x469ae3
mov dword [esp + 4], 0x10
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x469ae3
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketReceiveBuffer_sock_d_buf_p_len_d_errno_d__d
mov eax, dword [ebp + 0x14]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046161d
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
leave
ret