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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
push ebx
mov eax, dword [ebp + 8]
and eax, 0xffff
imul eax, eax, 0xb8
mov ecx, dword [0x4477e4]
add ecx, eax
mov dword [ebp - 0x5b8], ecx
lea edx, [ebp - 0x5a0]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x5a4], 0x10
lea eax, [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x5b4]
push ecx
push 0
push 0x583
lea edx, [ebp - 0x5a0]
push edx
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [eax + 2]
push ecx
call sub.WSOCK32.dll_recvfrom
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x40a9dd
cmp dword [ebp - 4], 0
jne 0x40aa3b
mov edx, dword [ebp - 4]
push edx
mov ax, word [ebp - 0x5b2]
push eax
call fcn.00415227
add esp, 4
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x5b0]
push ecx
call fcn.00417663
add esp, 4
push eax
mov edx, dword [ebp + 8]
and edx, 0xffff
push edx
push str.Comm_UDP_Service__d__recv_from_IP__s__Port__d___ReceLen_d_error_
push 0x24d
push 0x42d034
mov eax, dword [0x437d14]
push eax
call fcn.0040c291
add esp, 0x20
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40af1b
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0040a961
add esp, 4
and eax, 0xffff
test eax, eax
jne 0x40aa99
mov dx, word [ebp - 0x5b2]
push edx
call fcn.00415227
add esp, 4
and eax, 0xffff
push eax
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.00417663
add esp, 4
push eax
push 0x42d050
push 0x253
push 0x42d074
mov ecx, dword [0x437d14]
push ecx
call fcn.0040c291
add esp, 0x18
jmp 0x40af1b
mov edx, dword [ebp - 0xc]
push edx
call fcn.004056b0
add esp, 4
mov eax, dword [0x447d10]
xor ecx, ecx
mov cl, byte [eax]
test ecx, ecx
je 0x40ab05
mov edx, dword [ebp - 0xc]
xor eax, eax
mov al, byte [edx + 0xc]
push eax
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov dx, word [ecx + 0xa]
push edx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov cx, word [eax + 6]
push ecx
mov edx, dword [ebp - 0xc]
xor eax, eax
mov ax, word [edx + 4]
push eax
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov dx, word [ecx + 2]
push edx
push str.Recv
push str._s_:_seq__d__ack__d__len__d__Module__d__Post__d_
push 0x25a
push 0x42d0cc
mov eax, dword [0x437d14]
push eax
call fcn.0040c291
add esp, 0x28
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov dx, word [ecx + 6]
mov eax, dword [ebp - 4]
sub eax, 0xd
mov ecx, dword [ebp - 0xc]
xor ebx, ebx
mov bl, byte [ecx + 1]
sub eax, ebx
cmp edx, eax
jne 0x40ab32
mov edx, dword [ebp - 0xc]
xor eax, eax
mov ax, word [edx + 6]
cmp eax, 0x578
jle 0x40ab7a
mov cx, word [ebp - 0x5b2]
push ecx
call fcn.00415227
add esp, 4
and eax, 0xffff
push eax
mov edx, dword [ebp - 0x5b0]
push edx
call fcn.00417663
add esp, 4
push eax
push 0x42d0e8
push 0x25f
push 0x42d110
mov eax, dword [0x437d14]
push eax
call fcn.0040c291
add esp, 0x18
jmp 0x40af1b
lea ecx, [ebp - 0x18]
push ecx
push 4
mov dx, word [ebp - 0x5b2]
push edx
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0040c113
add esp, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x40aea1
mov ecx, dword [0x447b78]
push ecx
push 4
mov dx, word [ebp - 0x5b2]
push edx
call fcn.00415227
add esp, 4
push eax
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0040535c
add esp, 0x10
mov word [ebp - 0x5bc], ax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
cmp ecx, 0xffff
jne 0x40ac31
mov dx, word [ebp - 0x5b2]
push edx
call fcn.00415227
add esp, 4
and eax, 0xffff
push eax
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.00417663
add esp, 4
push eax
push 0x42d12c
push 0x26c
push 0x42d168
mov ecx, dword [0x437d14]
push ecx
call fcn.0040c291
add esp, 0x18
jmp 0x40af1b
mov edx, dword [ebp - 0x5bc]
and edx, 0xffff
imul edx, edx, 0x18
mov eax, dword [0x447b78]
add eax, edx
push eax
call fcn.00415bf6
add esp, 4
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [ebp - 0x5b8]
mov eax, dword [eax + 2]
mov dword [edx + ecx + 2], eax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [ebp - 0x5b8]
mov eax, dword [eax + 0xf]
mov dword [edx + ecx + 0xf], eax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [ebp - 0x5b8]
mov ax, word [eax + 0x13]
mov word [edx + ecx + 0x13], ax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov ax, word [0x447b80]
mov word [edx + ecx + 0xd], ax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov al, byte [0x447b82]
mov byte [edx + ecx + 0xc], al
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [edx + ecx + 0x17]
mov ecx, dword [ebp - 0xc]
mov dx, word [ecx + 0xa]
mov word [eax + 1], dx
mov eax, dword [ebp - 0x5bc]
and eax, 0xffff
imul eax, eax, 0xb8
mov ecx, dword [0x4477e4]
mov edx, dword [ecx + eax + 0x17]
mov eax, dword [ebp - 0xc]
mov cl, byte [eax + 0xc]
mov byte [edx], cl
mov edx, dword [ebp - 0x5bc]
and edx, 0xffff
imul edx, edx, 0xb8
mov eax, dword [0x4477e4]
mov ecx, dword [ebp - 0x5b0]
mov dword [eax + edx + 6], ecx
mov edx, dword [ebp - 0x5bc]
and edx, 0xffff
imul edx, edx, 0xb8
mov eax, dword [0x4477e4]
mov cx, word [ebp - 0x5b2]
mov word [eax + edx + 0xa], cx
mov edx, dword [ebp - 0x5bc]
and edx, 0xffff
imul edx, edx, 0xb8
mov eax, dword [0x4477e4]
mov byte [eax + edx + 0x51], 0
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [edx + ecx + 0x17]
mov byte [eax + 4], 4
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov ax, word [0x447b8d]
mov word [edx + ecx + 0x52], ax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
mov eax, dword [edx + ecx + 0x17]
mov byte [eax + 3], 0xff
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0xb8
mov edx, dword [0x4477e4]
add edx, ecx
mov dword [ebp - 8], edx
push 1
mov eax, dword [ebp - 8]
push eax
call fcn.0040771d
add esp, 8
mov ecx, dword [ebp - 8]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp - 8]
mov cx, word [eax + 0xa]
push ecx
call sub.WSOCK32.dll_ntohs
and eax, 0xffff
push eax
mov edx, dword [ebp - 8]
mov eax, dword [edx + 6]
push eax
call fcn.00417663
add esp, 4
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x17]
xor eax, eax
mov al, byte [edx]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x17]
xor eax, eax
mov ax, word [edx + 1]
push eax
push 0x42d184
push 0x289
push 0x42d1d4
mov ecx, dword [0x437d14]
push ecx
call fcn.0040c291
add esp, 0x24
jmp 0x40aeeb
mov edx, dword [ebp - 0x1c]
mov ax, word [edx + 7]
mov word [ebp - 0x5bc], ax
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0x18
mov edx, dword [0x447b78]
add edx, ecx
push edx
call fcn.00415bf6
add esp, 4
mov eax, dword [ebp - 0x5bc]
and eax, 0xffff
imul eax, eax, 0xb8
mov ecx, dword [0x4477e4]
add ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00406682
add esp, 8
mov ecx, dword [ebp - 0x5bc]
and ecx, 0xffff
imul ecx, ecx, 0x18
mov edx, dword [0x447b78]
add edx, ecx
push edx
call fcn.00415c05
add esp, 4
pop ebx
mov esp, ebp
pop ebp
ret