Function at 0x481441
Capabilities:
Receive data
Receive data on socket
Terminate process

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov eax, edx
mov esi, ebx
mov dword [esp + 0x18], eax
lea ebp, [edi + 0x1e8]
cmp dword [ebp], ebx
jg 0x481b07
push 2
pop edx
test eax, eax
je 0x48187e
mov esi, dword [sym.imp.WS2_32.dll_recv]
cmp dword [edi + 0x224], ebx
je 0x4814f5
cmp dword [edi + 0x1240], ebx
jne 0x4814f5
push edx
push dword [edi + 0x1fc]
push dword [edi + 0x1f8]
push dword [edi + 0x34]
call esi
mov ecx, dword [edi + 0x1f8]
cmp eax, 5
jl 0x4814c0
cmp byte [ecx], 0x16
movsx eax, byte [ecx + 5]
jne 0x4814c0
cmp byte [ecx + 1], 1
jb 0x4814c0
test eax, eax
je 0x4814ea
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4814ea
cmp eax, 2
je 0x4814ea
push dword [edi + 0x224]
call fcn.00581c60
mov eax, dword [edi + 0x1c0]
mov dword [edi + 0x224], ebx
pop ecx
test eax, eax
je 0x4814ea
push dword [edi + 0x1dc]
push 0xffffffffffffffff
push edi
call eax
add esp, 0xc
xor eax, eax
inc eax
mov dword [edi + 0x1240], eax
jmp 0x4814f8
xor eax, eax
inc eax
mov dword [esp + 0x10], 0x1c
cmp dword [edi + 0x224], ebx
je 0x481751
push 0xf
push dword [edi + 0x22c]
call fcn.004ba9f0
xor eax, eax
inc eax
pop ecx
pop ecx
cmp word [edi + 0x40], ax
jne 0x481543
mov eax, dword [edi + 0x234]
push ebx
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
push eax
lea eax, [edi + 0x23c]
add eax, ecx
push eax
push dword [edi + 0x34]
call esi
jmp 0x48156b
mov ecx, dword [edi + 0x234]
lea eax, [esp + 0x10]
push eax
lea eax, [edi + 0x78]
push eax
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
push ebx
push eax
lea eax, [edi + 0x23c]
add eax, dword [ecx]
push eax
push dword [edi + 0x34]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
test esi, esi
jle 0x481722
mov eax, dword [edi + 0x234]
add dword [eax], esi
cmp dword [edi + 0x123c], ebx
jne 0x48160a
push dword [edi + 0x224]
call fcn.00581840
pop ecx
mov ecx, eax
sub ecx, ebx
je 0x481601
sub ecx, 1
je 0x4815be
push eax
push dword [edi + 0x224]
call fcn.00582460
pop ecx
pop ecx
cmp eax, 1
jne 0x4815e5
mov dword [edi + 0x21c], eax
or esi, 0xffffffff
jmp 0x48160a
xor eax, eax
inc eax
mov dword [edi + 0x123c], eax
mov dword [edi + 0x220], eax
mov eax, dword [edi + 0x1c0]
test eax, eax
je 0x4815e5
push dword [edi + 0x1dc]
push 0xffffffffffffffff
push edi
call eax
add esp, 0xc
mov ecx, edi
call fcn.00481311
jmp 0x48160a
push 0x1000
push 0x751940
push eax
call fcn.004b3b90
add esp, 0xc
call fcn.004b3d70
test eax, eax
jne 0x4815ee
cmp dword [edi + 0x123c], 1
jne 0x481722
mov eax, dword [edi + 0x234]
cmp dword [eax], ebx
jbe 0x481722
mov ecx, dword [edi + 0x1f4]
mov eax, dword [edi + 0x1fc]
sub eax, ecx
push eax
mov eax, dword [edi + 0x1f8]
add eax, ecx
push eax
push dword [edi + 0x224]
call fcn.00583250
add esp, 0xc
test eax, eax
jle 0x481701
add dword [edi + 0x1f4], eax
mov ecx, dword [edi + 0x1fc]
mov eax, ecx
sub eax, dword [edi + 0x1f4]
jne 0x4816cf
mov eax, dword [edi + 0x210]
add ecx, 0x1000
cmp ecx, eax
jl 0x481680
test eax, eax
cmove eax, ecx
mov ecx, eax
mov ebx, dword [edi + 0x1f8]
xor eax, eax
push 0x50f
push 0x73d8c4
inc eax
mov dword [edi + 0x1fc], ecx
push eax
push ecx
push ebx
call fcn.005ed970
add esp, 0x14
mov dword [edi + 0x1f8], eax
test eax, eax
je 0x481b0f
cmp eax, ebx
je 0x4816cf
mov ecx, dword [edi + 0x1d4]
test ecx, ecx
je 0x4816cf
sub eax, ebx
push eax
push dword [edi + 0x1dc]
push edi
call ecx
add esp, 0xc
mov ecx, dword [edi + 0x1f4]
mov eax, dword [edi + 0x1fc]
sub eax, ecx
push eax
mov eax, dword [edi + 0x1f8]
add eax, ecx
push eax
push dword [edi + 0x224]
call fcn.00583250
add esp, 0xc
test eax, eax
jg 0x481653
xor ebx, ebx
test eax, eax
jns 0x481722
push eax
push dword [edi + 0x224]
call fcn.00582460
mov eax, dword [edi + 0x238]
pop ecx
pop ecx
cmp dword [eax], ebx
jbe 0x481722
mov ecx, edi
call fcn.00481311
mov eax, dword [edi + 0x234]
cmp dword [eax], ebx
jne 0x48187e
push ebx
xor eax, eax
push ebx
inc eax
push eax
push dword [edi + 0x22c]
call fcn.004baa20
mov eax, dword [edi + 0x234]
add esp, 0x10
mov dword [eax], ebx
jmp 0x48187e
mov ecx, dword [edi + 0x1f4]
cmp word [edi + 0x40], ax
jne 0x481777
mov eax, dword [edi + 0x1fc]
push ebx
sub eax, ecx
push eax
mov eax, dword [edi + 0x1f8]
add eax, ecx
push eax
push dword [edi + 0x34]
call esi
jmp 0x48179c
lea eax, [esp + 0x10]
push eax
lea eax, [edi + 0x78]
push eax
mov eax, dword [edi + 0x1fc]
push ebx
sub eax, ecx
push eax
mov eax, dword [edi + 0x1f8]
add eax, ecx
push eax
push dword [edi + 0x34]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
xor eax, eax
inc eax
cmp word [edi + 0x40], ax
je 0x4817e9
cmp word [edi + 0x78], 0x17
jne 0x4817e9
mov eax, dword [edi + 0x80]
mov ecx, 0x7410e0
cmp eax, dword [ecx]
jne 0x4817e9
mov eax, dword [edi + 0x84]
cmp eax, dword [ecx + 4]
jne 0x4817e9
mov eax, dword [edi + 0x88]
cmp eax, dword [ecx + 8]
jne 0x4817e9
push dword [edi + 0x8c]
call dword [sym.imp.WS2_32.dll_ntohl]
push 2
mov dword [edi + 0x7c], eax
pop eax
mov word [edi + 0x78], ax
test esi, esi
jle 0x48187e
add dword [edi + 0x1f4], esi
jmp 0x48187e
cmp dword [ebp], ebx
jg 0x481888
mov edx, dword [edi + 0x1f0]
mov ecx, dword [edi + 0x1f4]
cmp edx, ecx
je 0x481888
test ecx, ecx
je 0x481888
mov dword [esp + 0x14], ebx
mov ebx, dword [edi + 0x1bc]
test ebx, ebx
je 0x48187c
push ebp
lea eax, [edi + 0x1dc]
sub ecx, edx
push eax
lea eax, [edi + 0x1cc]
push eax
push ecx
lea eax, [esp + 0x24]
push eax
mov eax, dword [edi + 0x1f8]
add eax, edx
push eax
push edi
call ebx
xor ebx, ebx
add esp, 0x1c
cmp dword [edi + 0x1f8], ebx
je 0x48187e
mov eax, dword [edi + 0x1f4]
mov edx, dword [edi + 0x1f0]
sub eax, edx
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jg 0x48187e
test ecx, ecx
je 0x481888
lea eax, [edx + ecx]
mov dword [edi + 0x1f0], eax
jmp 0x48187e
xor ebx, ebx
cmp dword [edi + 0x34], 0xffffffff
jne 0x4817fc
mov eax, dword [edi + 0x1f0]
cmp eax, dword [edi + 0x1f4]
jne 0x4818a2
mov dword [edi + 0x1f4], ebx
mov dword [edi + 0x1f0], ebx
test esi, esi
jg 0x4819d2
cmp dword [esp + 0x18], 0
je 0x4819d2
cmp esi, 0xffffffff
jne 0x4818cb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2738
je 0x481b07
mov ecx, edi
call fcn.0048063b
push 2
pop eax
push eax
push dword [edi + 0x34]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [edi + 0x34]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [edi + 0x34], 0xffffffff
mov ecx, edi
call fcn.0048063b
mov ebx, dword [edi + 0x224]
test ebx, ebx
je 0x48191d
push ebx
call fcn.00581c60
pop ecx
lea esi, [edi + 0x20c]
mov ecx, esi
call fcn.0044cfd4
xor ebp, ebp
mov dword [edi + 0x224], ebp
mov dword [esi], ebp
jmp 0x48191f
xor ebp, ebp
mov dword [edi + 0x1254], ebp
mov dword [edi + 0x1250], ebp
test ebx, ebx
je 0x481958
cmp dword [edi + 0x220], ebp
jne 0x48197f
mov eax, dword [edi + 0x1c0]
test eax, eax
je 0x48194e
push dword [edi + 0x1dc]
push ebp
push edi
call eax
add esp, 0xc
cmp dword [edi + 0x220], ebp
je 0x481994
jmp 0x48197f
cmp dword [edi + 0x1ec], ebp
jg 0x48197f
mov eax, dword [edi + 0x1c0]
test eax, eax
je 0x481977
push dword [edi + 0x1dc]
push ebp
push edi
call eax
add esp, 0xc
cmp dword [edi + 0x1ec], ebp
jle 0x481994
mov eax, dword [edi + 0x1c4]
test eax, eax
je 0x481994
push dword [edi + 0x1dc]
push edi
call eax
pop ecx
pop ecx
mov eax, dword [edi + 0x1f8]
mov dword [edi + 0x220], ebp
mov dword [edi + 0x1ec], ebp
test eax, eax
je 0x481b07
cmp eax, 0x762940
je 0x4819c1
xor ecx, ecx
inc ecx
push ecx
push eax
call fcn.005ed680
pop ecx
pop ecx
mov dword [edi + 0x1f8], ebp
mov dword [edi + 0x1fc], ebp
jmp 0x481b07
mov ecx, dword [edi + 0x1f0]
test ecx, ecx
je 0x481a58
mov edx, dword [edi + 0x1f8]
mov eax, dword [edi + 0x1f4]
lea esi, [ecx + edx]
sub eax, ecx
je 0x481a29
test edx, edx
jne 0x481a05
call fcn.005ea380
mov dword [eax], 0x16
call fcn.005e8030
jmp 0x481a29
test esi, esi
je 0x4819f3
cmp dword [edi + 0x1fc], eax
jae 0x481a1e
call fcn.005ea380
mov dword [eax], 0x22
jmp 0x4819fe
push eax
push esi
push edx
call fcn.005ba5d0
add esp, 0xc
mov eax, dword [edi + 0x1f0]
sub dword [edi + 0x1f4], eax
mov eax, dword [edi + 0x1d4]
mov dword [edi + 0x1f0], ebx
test eax, eax
je 0x481a58
sub esi, dword [edi + 0x1f8]
push esi
push dword [edi + 0x1dc]
push edi
call eax
add esp, 0xc
mov ecx, dword [edi + 0x1fc]
mov eax, ecx
sub eax, dword [edi + 0x1f4]
cmp eax, 0x400
jge 0x481b07
mov eax, dword [edi + 0x210]
test eax, eax
je 0x481a83
cmp ecx, eax
jge 0x481b07
add ecx, 0x1000
cmp ecx, eax
jl 0x481a94
test eax, eax
cmove eax, ecx
mov ecx, eax
mov esi, dword [edi + 0x1f8]
mov ebx, 0x5d5
push ebx
xor eax, eax
mov dword [edi + 0x1fc], ecx
push 0x73d948
inc eax
push eax
push ecx
push esi
call fcn.005ed970
add esp, 0x14
mov dword [edi + 0x1f8], eax
test eax, eax
jne 0x481aea
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edx, 0x73d968
push esi
push ebx
xor ecx, ecx
call fcn.0048cac3
push ebx
push 0x73d988
push 0x73d9a8
jmp 0x481b39
cmp eax, esi
je 0x481b07
mov ecx, dword [edi + 0x1d4]
test ecx, ecx
je 0x481b07
sub eax, esi
push eax
push dword [edi + 0x1dc]
push edi
call ecx
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x50f
push esi
push edi
mov edx, 0x73d8e4
xor ecx, ecx
call fcn.0048cac3
push edi
push 0x73d904
push 0x73d924
call fcn.00401109
add esp, 0x18
push esi
call fcn.005c8390
int3