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

Disassembly:
sub esp, 0x20
mov eax, dword [0x5d7050]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
push ebp
push esi
push 0x134c
push 0
push edi
call sub.MSVCR80.dll_memset
lea esi, [edi + 0x1334]
add esp, 0xc
mov dword [esi], 0x10
call dword [sym.imp.MSVCR80.dll__errno]
push esi
lea ebx, [edi + 0x1324]
push ebx
push 0
push 0x800
mov dword [eax], 0
mov eax, dword [0x5ec9b8]
lea ebp, [edi + 8]
push ebp
push eax
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [edi + 0x133c], eax
call dword [sym.imp.MSVCR80.dll__errno]
mov esi, eax
call sub.WS2_32.dll_WSAGetLastError
mov dword [esi], eax
cmp dword [edi + 0x133c], 0
jle 0x5037a6
mov dword [edi], ebp
movzx ecx, word [ebp]
push ecx
lea edx, [esp + 0x20]
push 0x5a7c30
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
lea eax, [esp + 0x28]
add esp, 0xc
push eax
call fcn.00507b00
mov esi, eax
xor ebp, ebp
add esp, 4
cmp esi, ebp
je 0x5037a6
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0xc]
je 0x5037a6
mov al, byte [esi + 0x13]
cmp al, 0x7d
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
jae 0x5033f1
movzx eax, byte [0x5eeb48]
mov edx, dword [edi + 0x1328]
cmp edx, dword [eax*4 + 0x5ee950]
je 0x503437
xor al, al
mov edi, edi
movzx ecx, al
mov ecx, dword [ecx*4 + 0x5ee950]
cmp ecx, ebp
je 0x503437
cmp ecx, edx
je 0x5033ea
add al, 1
cmp al, 0x7d
jb 0x5033d0
jmp 0x503437
mov byte [0x5eeb48], al
jmp 0x503437
cmp al, 0x80
jb 0x503437
cmp al, 0xc0
jae 0x503437
mov ecx, dword [edi + 0x1328]
movzx eax, al
sub eax, 0x80
cdq
sub eax, edx
sar eax, 1
imul eax, eax, 0x110
add eax, 0x5f0038
cmp dword [eax + 0x104], ecx
jne 0x503428
mov byte [eax + 0x10c], 0
jmp 0x503437
cmp dword [eax + 0x108], ecx
jne 0x503437
mov byte [eax + 0x10c], 1
cmp byte [esi + 0x11], 0x16
jne 0x5037a6
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov dword [ebx], edx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi + 0x20]
lea edx, [edi + 0x1008]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x503463
mov cl, byte [esi + 0x12]
mov eax, dword [edi]
mov byte [edi + 0x1347], cl
mov dl, byte [esi + 0x13]
lea ecx, [eax + 0xc]
mov byte [edi + 0x1348], dl
mov dword [edi + 4], ecx
movzx edx, word [eax + 4]
push edx
mov esi, 1
call sub.WS2_32.dll_ntohs
cmp ax, si
jb 0x503789
lea ebx, [edi + 0x1108]
lea esp, [esp]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
push eax
push ebx
call fcn.004feb60
movzx ecx, ax
add dword [edi + 4], ecx
mov eax, dword [edi + 4]
movzx edx, word [eax]
add esp, 8
push edx
call sub.WS2_32.dll_ntohs
add dword [edi + 4], 4
movzx ebp, ax
mov eax, dword [edi]
movzx ecx, word [eax + 4]
push ecx
add esi, 1
call sub.WS2_32.dll_ntohs
movzx edx, ax
cmp esi, edx
jle 0x5034b0
cmp bp, 1
je 0x5034fe
cmp bp, 0xc
jne 0x503789
mov eax, dword [edi]
test dword [eax], 0xf020000
jne 0x503789
movzx eax, word [eax + 6]
xor ecx, ecx
cmp ax, cx
je 0x503789
push eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov byte [esp + 0x13], cl
mov dword [esp + 0x1c], 1
call sub.WS2_32.dll_ntohs
cmp ax, 1
jb 0x503789
mov eax, dword [edi]
mov ecx, dword [edi + 4]
push eax
push 0x5e7b78
call fcn.004feb60
movzx ecx, ax
add dword [edi + 4], ecx
mov eax, dword [edi + 4]
movzx edx, word [eax]
add esp, 8
push edx
call sub.WS2_32.dll_ntohs
movzx eax, ax
cmp ax, 1
jne 0x50359a
mov byte [esp + 0xf], al
lea eax, [edi + 0x1208]
mov ebp, eax
mov ecx, ebx
sub ebp, ebx
lea ecx, [ecx]
mov dl, byte [ecx]
mov byte [ecx + ebp], dl
add ecx, 1
test dl, dl
jne 0x503580
call fcn.005077f0
mov esi, eax
call fcn.00507900
jmp 0x5035f0
cmp ax, 0xc
jne 0x5035f0
lea eax, [edi + 0x1208]
mov esi, eax
mov ecx, ebx
sub esi, ebx
lea esp, [esp]
mov dl, byte [ecx]
mov byte [esi + ecx], dl
add ecx, 1
test dl, dl
jne 0x5035b0
call fcn.005077f0
push str..in_addr.arpa
push eax
call dword [sym.imp.MSVCR80.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x5035f0
push str..in_addr.arpa
push esi
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
jne 0x5035f0
mov byte [esi], al
mov byte [esp + 0xf], 1
mov ebp, dword [esp + 0x10]
mov esi, 4
add dword [edi + 4], esi
mov eax, dword [edi + 4]
mov ecx, ebp
or ecx, dword [esp + 0x14]
je 0x503613
mov edx, dword [eax]
push edx
call sub.WS2_32.dll_ntohl
cmp eax, ebp
jae 0x50362a
mov eax, dword [edi + 4]
mov eax, dword [eax]
push eax
call sub.WS2_32.dll_ntohl
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
add dword [edi + 4], esi
mov eax, dword [edi + 4]
movzx ecx, word [eax]
push ecx
call sub.WS2_32.dll_ntohs
mov esi, dword [esp + 0x18]
movzx eax, ax
add eax, 2
add dword [edi + 4], eax
mov edx, dword [edi]
movzx eax, word [edx + 6]
add esi, 1
push eax
mov dword [esp + 0x1c], esi
call sub.WS2_32.dll_ntohs
movzx ecx, ax
cmp esi, ecx
jle 0x50353f
cmp byte [esp + 0xf], 0
je 0x503789
mov dx, word [edi + 4]
mov ax, word [0x5effc4]
sub dx, di
sub dx, 8
test ax, ax
movzx ebp, dx
je 0x5036a2
movzx eax, ax
cdq
cmp dword [esp + 0x14], edx
jg 0x5036a2
jl 0x50369a
cmp dword [esp + 0x10], eax
jae 0x5036a2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ax, word [0x5effc6]
test ax, ax
je 0x5036c7
movzx eax, ax
cdq
cmp dword [esp + 0x14], edx
jl 0x5036c7
jg 0x5036bf
cmp dword [esp + 0x10], eax
jbe 0x5036c7
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov edx, dword [0x619728]
mov esi, dword [0x61972c]
mov ebx, dword [esp + 0x14]
mov ecx, SysReAllocString
sub ecx, edx
mov eax, 0
sbb eax, esi
cmp ebx, eax
jg 0x5036f9
jl 0x5036f1
cmp dword [esp + 0x10], ecx
jae 0x5036f9
add dword [esp + 0x10], edx
adc ebx, esi
jmp 0x50370d
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], SysReAllocString
xor eax, eax
mov dword [0x5e753c], eax
mov dword [0x5e7540], eax
mov dword [0x5e7558], eax
mov dword [0x5e755c], eax
mov dword [0x5e7544], eax
mov dword [0x5e7548], eax
mov dword [0x5e754c], eax
mov dword [0x5e7550], eax
mov dword [0x5e7554], eax
movzx ecx, bp
lea eax, [edi + 0x1208]
mov dword [0x5e753c], eax
mov byte [0x5e755c], 0x14
mov dword [0x5e7558], ecx
mov edx, dword [edi]
mov eax, 0x5e753c
mov dword [0x5e7540], edx
call fcn.005098a0
test eax, eax
je 0x503789
movzx edx, byte [0x5e96e9]
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
push edx
mov ecx, eax
mov dword [eax + 0xc], ebx
call fcn.00507cb0
add esp, 4
mov esi, edi
call fcn.004fedb0
mov ax, 1
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.00569ed6
add esp, 0x20
ret
mov ecx, dword [esp + 0x24]
pop esi
pop ebp
pop ebx
xor ecx, esp
xor ax, ax
call fcn.00569ed6
add esp, 0x20
ret