Function at 0x4ab580
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 0x4abbaa
test eax, eax
je 0x4ab8ee
mov edi, dword [sym.imp.WS2_32.dll_recv]
cmp dword [esi + 0x21c], ebx
je 0x4ab62f
cmp dword [esi + 0x1238], ebx
jne 0x4ab62f
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 0x4ab5f9
cmp byte [ecx], 0x16
movsx eax, byte [ecx + 5]
jne 0x4ab5f9
cmp byte [ecx + 1], 1
jb 0x4ab5f9
test eax, eax
je 0x4ab625
cmp eax, 1
je 0x4ab625
cmp eax, 2
je 0x4ab625
push dword [esi + 0x21c]
call fcn.00562780
mov eax, dword [esi + 0x1b8]
add esp, 4
mov dword [esi + 0x21c], ebx
test eax, eax
je 0x4ab625
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 0x4ab885
push 0xf
push dword [esi + 0x224]
call fcn.004df5f0
add esp, 8
cmp word [esi + 0x38], 1
jne 0x4ab67a
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 0x4ab6a3
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 0x4ab854
mov eax, dword [esi + 0x22c]
add dword [eax], ebx
cmp dword [esi + 0x1234], 0
jne 0x4ab765
push dword [esi + 0x21c]
call fcn.005626d0
mov ecx, eax
add esp, 4
sub ecx, 0
je 0x4ab737
sub ecx, 1
je 0x4ab702
push eax
push dword [esi + 0x21c]
call fcn.00562a40
add esp, 8
cmp eax, 1
jne 0x4ab84d
mov dword [esi + 0x214], eax
or ebx, 0xffffffff
jmp 0x4ab854
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1234], 1
mov dword [esi + 0x218], 1
test eax, eax
je 0x4ab84d
push dword [esi + 0x1d4]
push 0xffffffffffffffff
push esi
call eax
add esp, 0xc
jmp 0x4ab84d
call fcn.004e1420
test eax, eax
je 0x4ab854
push 0x1000
push 0x62c420
push eax
call fcn.004e1210
add esp, 0xc
call fcn.004e1420
test eax, eax
jne 0x4ab744
jmp 0x4ab854
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.00563130
add esp, 0xc
test eax, eax
jle 0x4ab831
add dword [esi + 0x1ec], eax
mov ecx, dword [esi + 0x1f4]
mov eax, ecx
sub eax, dword [esi + 0x1ec]
jne 0x4ab801
mov eax, dword [esi + 0x208]
add ecx, 0x1000
cmp ecx, eax
jl 0x4ab7c0
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.0059256f
add esp, 8
mov dword [esi + 0x1f0], eax
test eax, eax
je 0x4abbb2
cmp eax, edi
je 0x4ab801
mov ecx, dword [esi + 0x1cc]
test ecx, ecx
je 0x4ab801
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.00563130
add esp, 0xc
test eax, eax
jg 0x4ab793
test eax, eax
jns 0x4ab854
push eax
push dword [esi + 0x21c]
call fcn.00562a40
mov eax, dword [esi + 0x230]
add esp, 8
cmp dword [eax], 0
jbe 0x4ab854
mov ecx, esi
call fcn.004ab400
mov eax, dword [esi + 0x22c]
cmp dword [eax], 0
jne 0x4ab8ee
push 0
push 0
push 1
push dword [esi + 0x224]
call fcn.004df620
mov eax, dword [esi + 0x22c]
add esp, 0x10
mov dword [eax], 0
jmp 0x4ab8ee
cmp word [esi + 0x38], 1
mov ecx, dword [esi + 0x1ec]
jne 0x4ab8ad
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 0x4ab8d3
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 0x4ab8e4
lea ecx, [esi + 0x70]
call fcn.004b4f40
test ebx, ebx
jle 0x4ab8ee
add dword [esi + 0x1ec], ebx
cmp dword [esi + 0x2c], 0xffffffff
je 0x4ab95a
cmp dword [ebp], 0
jg 0x4ab95a
mov edx, dword [esi + 0x1e8]
mov ecx, dword [esi + 0x1ec]
cmp edx, ecx
je 0x4ab95a
test ecx, ecx
je 0x4ab95a
mov edi, dword [esi + 0x1b4]
mov dword [esp + 0x14], 0
test edi, edi
je 0x4ab954
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 0x4ab95a
add dword [esi + 0x1e8], eax
cmp dword [esi + 0x2c], 0xffffffff
jne 0x4ab8f4
mov eax, dword [esi + 0x1e8]
cmp eax, dword [esi + 0x1ec]
jne 0x4ab97c
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
test ebx, ebx
jg 0x4abadb
cmp dword [esp + 0x18], 0
je 0x4abadb
cmp ebx, 0xffffffff
jne 0x4ab9a5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2738
je 0x4abbaa
mov ecx, esi
call fcn.004aa880
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.004aa880
mov edi, dword [esi + 0x21c]
test edi, edi
je 0x4aba09
push edi
call fcn.00562780
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 0x4aba4d
cmp dword [esi + 0x218], 0
jne 0x4aba77
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x4aba42
push dword [esi + 0x1d4]
push 0
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x218], 0
je 0x4aba8d
jmp 0x4aba77
cmp dword [esi + 0x1e4], 0
jg 0x4aba77
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x4aba6e
push dword [esi + 0x1d4]
push 0
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x1e4], 0
jle 0x4aba8d
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x4aba8d
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 0x4abbaa
cmp eax, 0x63d420
je 0x4ababf
push eax
call fcn.0058c812
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 0x4abb39
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.0048d330
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 0x4abb39
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 0x4abbaa
mov eax, dword [esi + 0x208]
test eax, eax
je 0x4abb5c
cmp ecx, eax
jge 0x4abbaa
add ecx, 0x1000
cmp ecx, eax
jl 0x4abb6d
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.0059256f
add esp, 8
mov dword [esi + 0x1f0], eax
test eax, eax
je 0x4abbf3
cmp eax, edi
je 0x4abbaa
mov ecx, dword [esi + 0x1cc]
test ecx, ecx
je 0x4abbaa
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, 0x623898
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x4cb
push 0x6238b8
push 0x6238d8
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x58b
mov edx, 0x6238fc
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x58b
push 0x62391c
push 0x62393c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
int3