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

Disassembly:
sub esp, 0x10
mov edx, dword [esp + 0x14]
push ebx
mov ebx, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x24]
push edi
lea ecx, [esp + 0xc]
mov edi, dword [esi]
push eax
push ecx
push 0
push edi
push ebx
push edx
mov dword [esp + 0x40], 0x10
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
mov dword [esi], eax
jne 0x42bd40
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
sub ecx, 0x2736
je 0x42bcdb
sub ecx, 0x10
je 0x42bc76
push eax
push str.Socket_Error
push 0x45fb78
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411f80
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42bc51
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bc51
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bd37
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
push str.Error_connection_reset___host_not_reachable
push 0x45fb78
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42bcba
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bcba
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bd37
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
push str.Error_fd_not_a_socket
push 0x45fb78
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42bd1f
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bd1f
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bd37
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
test eax, eax
jge 0x42bdad
push str.socket_closed__negative_len
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42bd88
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bd88
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bea8
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
jne 0x42be18
push str.socket_closed__zero_len
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42bdf3
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42bdf3
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bea8
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0xe]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push edx
mov word [ecx], ax
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov esi, dword [esi]
lea edx, [esi + 1]
cmp edx, edi
jl 0x42beb1
mov al, byte [esp + 0x34]
test al, al
je 0x42bea8
push str.Received_a_message_that_was_too_large
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x42be90
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x42be90
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x42bea8
mov edx, dword [ecx + 4]
push 0
or edx, edi
push edx
call fcn.004125a0
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x10
ret
mov byte [esi + ebx], 0
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x10
ret