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

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
lea ebp, [esi + 0x1e0]
mov eax, edx
push edi
mov dword [esp + 0x18], eax
cmp dword [ebp], ebx
jg 0x4ab43a
test eax, eax
je 0x4ab17e
mov edi, dword [sym.imp.WS2_32.dll_recv]
cmp dword [esi + 0x21c], ebx
je 0x4aaebf
cmp dword [esi + 0x1238], ebx
jne 0x4aaebf
push 2
push dword [esi + 0x1f4]
push dword [esi + 0x1f0]
push dword [esi + 0x2c]
call edi
mov ecx, dword [esi + 0x1f0]
cmp eax, 5
jl 0x4aae89
cmp byte [ecx], 0x16
movsx eax, byte [ecx + 5]
jne 0x4aae89
cmp byte [ecx + 1], 1
jb 0x4aae89
test eax, eax
je 0x4aaeb5
cmp eax, 1
je 0x4aaeb5
cmp eax, 2
je 0x4aaeb5
push dword [esi + 0x21c]
call fcn.00561ef0
mov eax, dword [esi + 0x1b8]
add esp, 4
mov dword [esi + 0x21c], ebx
test eax, eax
je 0x4aaeb5
push dword [esi + 0x1d4]
push 0xffffffffffffffff
push esi
call eax
add esp, 0xc
mov dword [esi + 0x1238], 1
mov dword [esp + 0x10], 0x1c
cmp dword [esi + 0x21c], ebx
je 0x4ab115
push 0xf
push dword [esi + 0x224]
call fcn.004ded20
add esp, 8
cmp word [esi + 0x38], 1
jne 0x4aaf0a
mov eax, dword [esi + 0x22c]
push 0
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
push eax
lea eax, [esi + 0x234]
add eax, ecx
push eax
push dword [esi + 0x2c]
call edi
jmp 0x4aaf33
mov ecx, dword [esi + 0x22c]
lea eax, [esp + 0x10]
push eax
lea eax, [esi + 0x70]
push eax
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
push 0
push eax
lea eax, [esi + 0x234]
add eax, dword [ecx]
push eax
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov ebx, eax
test ebx, ebx
jle 0x4ab0e4
mov eax, dword [esi + 0x22c]
add dword [eax], ebx
cmp dword [esi + 0x1234], 0
jne 0x4aaff5
push dword [esi + 0x21c]
call fcn.00561e40
mov ecx, eax
add esp, 4
sub ecx, 0
je 0x4aafc7
sub ecx, 1
je 0x4aaf92
push eax
push dword [esi + 0x21c]
call fcn.005621b0
add esp, 8
cmp eax, 1
jne 0x4ab0dd
mov dword [esi + 0x214], eax
or ebx, 0xffffffff
jmp 0x4ab0e4
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1234], 1
mov dword [esi + 0x218], 1
test eax, eax
je 0x4ab0dd
push dword [esi + 0x1d4]
push 0xffffffffffffffff
push esi
call eax
add esp, 0xc
jmp 0x4ab0dd
call fcn.004e0b50
test eax, eax
je 0x4ab0e4
push 0x1000
push 0x6247a0
push eax
call fcn.004e0940
add esp, 0xc
call fcn.004e0b50
test eax, eax
jne 0x4aafd4
jmp 0x4ab0e4
mov ecx, dword [esi + 0x1ec]
mov eax, dword [esi + 0x1f4]
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f0]
add eax, ecx
push eax
push dword [esi + 0x21c]
call fcn.005628a0
add esp, 0xc
test eax, eax
jle 0x4ab0c1
add dword [esi + 0x1ec], eax
mov ecx, dword [esi + 0x1f4]
mov eax, ecx
sub eax, dword [esi + 0x1ec]
jne 0x4ab091
mov eax, dword [esi + 0x208]
add ecx, 0x1000
cmp ecx, eax
jl 0x4ab050
test eax, eax
cmove eax, ecx
mov ecx, eax
mov edi, dword [esi + 0x1f0]
push ecx
push edi
mov dword [esi + 0x1f4], ecx
call fcn.00591c5f
add esp, 8
mov dword [esi + 0x1f0], eax
test eax, eax
je 0x4ab442
cmp eax, edi
je 0x4ab091
mov ecx, dword [esi + 0x1cc]
test ecx, ecx
je 0x4ab091
sub eax, edi
push eax
push dword [esi + 0x1d4]
push esi
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x1ec]
mov eax, dword [esi + 0x1f4]
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f0]
add eax, ecx
push eax
push dword [esi + 0x21c]
call fcn.005628a0
add esp, 0xc
test eax, eax
jg 0x4ab023
test eax, eax
jns 0x4ab0e4
push eax
push dword [esi + 0x21c]
call fcn.005621b0
mov eax, dword [esi + 0x230]
add esp, 8
cmp dword [eax], 0
jbe 0x4ab0e4
mov ecx, esi
call fcn.004aac90
mov eax, dword [esi + 0x22c]
cmp dword [eax], 0
jne 0x4ab17e
push 0
push 0
push 1
push dword [esi + 0x224]
call fcn.004ded50
mov eax, dword [esi + 0x22c]
add esp, 0x10
mov dword [eax], 0
jmp 0x4ab17e
cmp word [esi + 0x38], 1
mov ecx, dword [esi + 0x1ec]
jne 0x4ab13d
mov eax, dword [esi + 0x1f4]
push 0
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f0]
add eax, ecx
push eax
push dword [esi + 0x2c]
call edi
jmp 0x4ab163
lea eax, [esp + 0x10]
push eax
lea eax, [esi + 0x70]
push eax
mov eax, dword [esi + 0x1f4]
push 0
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f0]
add eax, ecx
push eax
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp word [esi + 0x38], 1
mov ebx, eax
je 0x4ab174
lea ecx, [esi + 0x70]
call fcn.004b47a0
test ebx, ebx
jle 0x4ab17e
add dword [esi + 0x1ec], ebx
cmp dword [esi + 0x2c], 0xffffffff
je 0x4ab1ea
cmp dword [ebp], 0
jg 0x4ab1ea
mov edx, dword [esi + 0x1e8]
mov ecx, dword [esi + 0x1ec]
cmp edx, ecx
je 0x4ab1ea
test ecx, ecx
je 0x4ab1ea
mov edi, dword [esi + 0x1b4]
mov dword [esp + 0x14], 0
test edi, edi
je 0x4ab1e4
push ebp
lea eax, [esi + 0x1d4]
sub ecx, edx
push eax
lea eax, [esi + 0x1c4]
push eax
push ecx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x1f0]
add eax, edx
push eax
push esi
call edi
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x4ab1ea
add dword [esi + 0x1e8], eax
cmp dword [esi + 0x2c], 0xffffffff
jne 0x4ab184
mov eax, dword [esi + 0x1e8]
cmp eax, dword [esi + 0x1ec]
jne 0x4ab20c
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
test ebx, ebx
jg 0x4ab36b
cmp dword [esp + 0x18], 0
je 0x4ab36b
cmp ebx, 0xffffffff
jne 0x4ab235
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2738
je 0x4ab43a
mov ecx, esi
call fcn.004aa110
push 2
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, esi
mov dword [esi + 0x2c], 0xffffffff
call fcn.004aa110
mov edi, dword [esi + 0x21c]
test edi, edi
je 0x4ab299
push edi
call fcn.00561ef0
add esp, 4
push 0xffffffffffffffff
push dword [esi + 0x204]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
push 1
push dword [esi + 0x204]
mov dword [esi + 0x21c], 0
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov dword [esi + 0x124c], 0
mov dword [esi + 0x1248], 0
test edi, edi
je 0x4ab2dd
cmp dword [esi + 0x218], 0
jne 0x4ab307
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x4ab2d2
push dword [esi + 0x1d4]
push 0
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x218], 0
je 0x4ab31d
jmp 0x4ab307
cmp dword [esi + 0x1e4], 0
jg 0x4ab307
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x4ab2fe
push dword [esi + 0x1d4]
push 0
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x1e4], 0
jle 0x4ab31d
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x4ab31d
push dword [esi + 0x1d4]
push esi
call eax
add esp, 8
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x218], 0
mov dword [esi + 0x1e4], 0
test eax, eax
je 0x4ab43a
cmp eax, 0x6357a0
je 0x4ab34f
push eax
call fcn.0058bf82
add esp, 4
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x1f4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esi + 0x1e8]
test edx, edx
je 0x4ab3c9
mov ecx, dword [esi + 0x1f0]
mov eax, dword [esi + 0x1ec]
sub eax, edx
push eax
lea edi, [edx + ecx]
mov edx, dword [esi + 0x1f4]
push edi
call fcn.0048e5b0
mov eax, dword [esi + 0x1e8]
add esp, 8
sub dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1cc]
mov dword [esi + 0x1e8], 0
test eax, eax
je 0x4ab3c9
sub edi, dword [esi + 0x1f0]
push edi
push dword [esi + 0x1d4]
push esi
call eax
add esp, 0xc
mov ecx, dword [esi + 0x1f4]
mov eax, ecx
sub eax, dword [esi + 0x1ec]
cmp eax, 0x400
jge 0x4ab43a
mov eax, dword [esi + 0x208]
test eax, eax
je 0x4ab3ec
cmp ecx, eax
jge 0x4ab43a
add ecx, 0x1000
cmp ecx, eax
jl 0x4ab3fd
test eax, eax
cmove eax, ecx
mov ecx, eax
mov edi, dword [esi + 0x1f0]
push ecx
push edi
mov dword [esi + 0x1f4], ecx
call fcn.00591c5f
add esp, 8
mov dword [esi + 0x1f0], eax
test eax, eax
je 0x4ab483
cmp eax, edi
je 0x4ab43a
mov ecx, dword [esi + 0x1cc]
test ecx, ecx
je 0x4ab43a
sub eax, edi
push eax
push dword [esi + 0x1d4]
push esi
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
push 0xfe
push 0x4cb
mov edx, 0x61bc38
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x4cb
push 0x61bc58
push 0x61bc78
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.00587d2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x58b
mov edx, 0x61bc9c
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x58b
push 0x61bcbc
push 0x61bcdc
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.00587d2d
int3