Function at 0x4689bd
Capabilities:
Receive data
Receive data on socket
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
mov eax, edx
push edi
mov dword [esp + 0x18], eax
mov edi, ebx
lea ebp, [esi + 0x1e4]
cmp dword [ebp], ebx
jg 0x469061
push 2
pop edx
test eax, eax
je 0x468dcc
mov edi, dword [sym.imp.WS2_32.dll_recv]
cmp dword [esi + 0x220], ebx
je 0x468a71
cmp dword [esi + 0x123c], ebx
jne 0x468a71
push edx
push dword [esi + 0x1f8]
push dword [esi + 0x1f4]
push dword [esi + 0x30]
call edi
mov ecx, dword [esi + 0x1f4]
cmp eax, 5
jl 0x468a3c
cmp byte [ecx], 0x16
movsx eax, byte [ecx + 5]
jne 0x468a3c
cmp byte [ecx + 1], 1
jb 0x468a3c
test eax, eax
je 0x468a66
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x468a66
cmp eax, 2
je 0x468a66
push dword [esi + 0x220]
call fcn.00564b40
mov eax, dword [esi + 0x1bc]
mov dword [esi + 0x220], ebx
pop ecx
test eax, eax
je 0x468a66
push dword [esi + 0x1d8]
push 0xffffffffffffffff
push esi
call eax
add esp, 0xc
xor eax, eax
inc eax
mov dword [esi + 0x123c], eax
jmp 0x468a74
xor eax, eax
inc eax
mov dword [esp + 0x10], 0x1c
cmp dword [esi + 0x220], ebx
je 0x468ccd
push 0xf
push dword [esi + 0x228]
call fcn.0049eab0
xor eax, eax
inc eax
pop ecx
pop ecx
cmp word [esi + 0x3c], ax
jne 0x468abf
mov eax, dword [esi + 0x230]
push ebx
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
push eax
lea eax, [esi + 0x238]
add eax, ecx
push eax
push dword [esi + 0x30]
call edi
jmp 0x468ae7
mov ecx, dword [esi + 0x230]
lea eax, [esp + 0x10]
push eax
lea eax, [esi + 0x74]
push eax
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
push ebx
push eax
lea eax, [esi + 0x238]
add eax, dword [ecx]
push eax
push dword [esi + 0x30]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov edi, eax
test edi, edi
jle 0x468c9e
mov eax, dword [esi + 0x230]
add dword [eax], edi
cmp dword [esi + 0x1238], ebx
jne 0x468b86
push dword [esi + 0x220]
call fcn.005646e0
pop ecx
mov ecx, eax
sub ecx, ebx
je 0x468b7d
sub ecx, 1
je 0x468b3a
push eax
push dword [esi + 0x220]
call fcn.00565310
pop ecx
pop ecx
cmp eax, 1
jne 0x468b61
mov dword [esi + 0x218], eax
or edi, 0xffffffff
jmp 0x468b86
xor eax, eax
inc eax
mov dword [esi + 0x1238], eax
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x468b61
push dword [esi + 0x1d8]
push 0xffffffffffffffff
push esi
call eax
add esp, 0xc
mov ecx, esi
call fcn.00468888
jmp 0x468b86
push 0x1000
push 0x76c080
push eax
call fcn.00497c70
add esp, 0xc
call fcn.00497e50
test eax, eax
jne 0x468b6a
cmp dword [esi + 0x1238], 1
jne 0x468c9e
mov eax, dword [esi + 0x230]
cmp dword [eax], ebx
jbe 0x468c9e
mov ecx, dword [esi + 0x1f0]
mov eax, dword [esi + 0x1f8]
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f4]
add eax, ecx
push eax
push dword [esi + 0x220]
call fcn.005660c0
add esp, 0xc
test eax, eax
jle 0x468c7d
add dword [esi + 0x1f0], eax
mov ecx, dword [esi + 0x1f8]
mov eax, ecx
sub eax, dword [esi + 0x1f0]
jne 0x468c4b
mov eax, dword [esi + 0x20c]
add ecx, 0x1000
cmp ecx, eax
jl 0x468bfc
test eax, eax
cmove eax, ecx
mov ecx, eax
mov ebx, dword [esi + 0x1f4]
xor eax, eax
push 0x4df
push 0x7600cc
inc eax
mov dword [esi + 0x1f8], ecx
push eax
push ecx
push ebx
call fcn.005ce1d0
add esp, 0x14
mov dword [esi + 0x1f4], eax
test eax, eax
je 0x469069
cmp eax, ebx
je 0x468c4b
mov ecx, dword [esi + 0x1d0]
test ecx, ecx
je 0x468c4b
sub eax, ebx
push eax
push dword [esi + 0x1d8]
push esi
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x1f0]
mov eax, dword [esi + 0x1f8]
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f4]
add eax, ecx
push eax
push dword [esi + 0x220]
call fcn.005660c0
add esp, 0xc
test eax, eax
jg 0x468bcf
xor ebx, ebx
test eax, eax
jns 0x468c9e
push eax
push dword [esi + 0x220]
call fcn.00565310
mov eax, dword [esi + 0x234]
pop ecx
pop ecx
cmp dword [eax], ebx
jbe 0x468c9e
mov ecx, esi
call fcn.00468888
mov eax, dword [esi + 0x230]
cmp dword [eax], ebx
jne 0x468dcc
push ebx
xor eax, eax
push ebx
inc eax
push eax
push dword [esi + 0x228]
call fcn.0049eae0
mov eax, dword [esi + 0x230]
add esp, 0x10
mov dword [eax], ebx
jmp 0x468dcc
mov ecx, dword [esi + 0x1f0]
cmp word [esi + 0x3c], ax
jne 0x468cf3
mov eax, dword [esi + 0x1f8]
push ebx
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f4]
add eax, ecx
push eax
push dword [esi + 0x30]
call edi
jmp 0x468d18
lea eax, [esp + 0x10]
push eax
lea eax, [esi + 0x74]
push eax
mov eax, dword [esi + 0x1f8]
push ebx
sub eax, ecx
push eax
mov eax, dword [esi + 0x1f4]
add eax, ecx
push eax
push dword [esi + 0x30]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov edi, eax
xor eax, eax
inc eax
cmp word [esi + 0x3c], ax
je 0x468d62
cmp word [esi + 0x74], 0x17
jne 0x468d62
mov eax, dword [esi + 0x7c]
mov ecx, 0x762fb4
cmp eax, dword [ecx]
jne 0x468d62
mov eax, dword [esi + 0x80]
cmp eax, dword [ecx + 4]
jne 0x468d62
mov eax, dword [esi + 0x84]
cmp eax, dword [ecx + 8]
jne 0x468d62
push dword [esi + 0x88]
call dword [sym.imp.WS2_32.dll_ntohl]
push 2
mov dword [esi + 0x78], eax
pop eax
mov word [esi + 0x74], ax
test edi, edi
jle 0x468dcc
add dword [esi + 0x1f0], edi
jmp 0x468dcc
cmp dword [ebp], ebx
jg 0x468dd6
mov edx, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1f0]
cmp edx, ecx
je 0x468dd6
test ecx, ecx
je 0x468dd6
mov dword [esp + 0x14], ebx
mov ebx, dword [esi + 0x1b8]
test ebx, ebx
je 0x468dc9
push ebp
lea eax, [esi + 0x1d8]
sub ecx, edx
push eax
lea eax, [esi + 0x1c8]
push eax
push ecx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x1f4]
add eax, edx
push eax
push esi
call ebx
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x468dd4
add dword [esi + 0x1ec], eax
push 0
pop ebx
cmp dword [esi + 0x30], 0xffffffff
jne 0x468d6e
jmp 0x468dd6
xor ebx, ebx
mov eax, dword [esi + 0x1ec]
cmp eax, dword [esi + 0x1f0]
jne 0x468df0
mov dword [esi + 0x1f0], ebx
mov dword [esi + 0x1ec], ebx
test edi, edi
jg 0x468f2c
cmp dword [esp + 0x18], 0
je 0x468f2c
cmp edi, 0xffffffff
jne 0x468e19
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2738
je 0x469061
mov ecx, esi
call fcn.00467cfa
push 2
pop eax
push eax
push dword [esi + 0x30]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [esi + 0x30]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [esi + 0x30], 0xffffffff
mov ecx, esi
call fcn.00467cfa
mov edi, dword [esi + 0x220]
test edi, edi
je 0x468e79
push edi
call fcn.00564b40
pop ecx
push 0xffffffffffffffff
push dword [esi + 0x208]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor ebp, ebp
mov dword [esi + 0x220], ebx
push ebx
inc ebp
push ebp
push dword [esi + 0x208]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
jmp 0x468e7c
xor ebp, ebp
inc ebp
mov dword [esi + 0x124c], ebx
mov dword [esi + 0x1248], ebx
test edi, edi
je 0x468eb5
cmp dword [esi + 0x21c], ebx
jne 0x468edc
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x468eab
push dword [esi + 0x1d8]
push ebx
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x21c], ebx
je 0x468ef1
jmp 0x468edc
cmp dword [esi + 0x1e8], ebx
jg 0x468edc
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x468ed4
push dword [esi + 0x1d8]
push ebx
push esi
call eax
add esp, 0xc
cmp dword [esi + 0x1e8], ebx
jle 0x468ef1
mov eax, dword [esi + 0x1c0]
test eax, eax
je 0x468ef1
push dword [esi + 0x1d8]
push esi
call eax
pop ecx
pop ecx
mov eax, dword [esi + 0x1f4]
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x1e8], ebx
test eax, eax
je 0x469061
cmp eax, 0x77d080
je 0x468f1b
push ebp
push eax
call fcn.005cdee0
pop ecx
pop ecx
mov dword [esi + 0x1f4], ebx
mov dword [esi + 0x1f8], ebx
jmp 0x469061
mov ecx, dword [esi + 0x1ec]
test ecx, ecx
je 0x468fb2
mov edx, dword [esi + 0x1f4]
mov eax, dword [esi + 0x1f0]
lea edi, [ecx + edx]
sub eax, ecx
je 0x468f83
test edx, edx
jne 0x468f5f
call fcn.005ca460
mov dword [eax], 0x16
call fcn.005c9810
jmp 0x468f83
test edi, edi
je 0x468f4d
cmp dword [esi + 0x1f8], eax
jae 0x468f78
call fcn.005ca460
mov dword [eax], 0x22
jmp 0x468f58
push eax
push edi
push edx
call fcn.0059d0a0
add esp, 0xc
mov eax, dword [esi + 0x1ec]
sub dword [esi + 0x1f0], eax
mov eax, dword [esi + 0x1d0]
mov dword [esi + 0x1ec], ebx
test eax, eax
je 0x468fb2
sub edi, dword [esi + 0x1f4]
push edi
push dword [esi + 0x1d8]
push esi
call eax
add esp, 0xc
mov ecx, dword [esi + 0x1f8]
mov eax, ecx
sub eax, dword [esi + 0x1f0]
cmp eax, 0x400
jge 0x469061
mov eax, dword [esi + 0x20c]
test eax, eax
je 0x468fdd
cmp ecx, eax
jge 0x469061
add ecx, 0x1000
cmp ecx, eax
jl 0x468fee
test eax, eax
cmove eax, ecx
mov ecx, eax
mov edi, dword [esi + 0x1f4]
mov ebx, 0x59f
push ebx
xor eax, eax
mov dword [esi + 0x1f8], ecx
push 0x760150
inc eax
push eax
push ecx
push edi
call fcn.005ce1d0
add esp, 0x14
mov dword [esi + 0x1f4], eax
test eax, eax
jne 0x469044
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edx, 0x760170
push esi
push ebx
xor ecx, ecx
call fcn.0047145c
push ebx
push 0x760190
push 0x7601b0
jmp 0x469093
cmp eax, edi
je 0x469061
mov ecx, dword [esi + 0x1d0]
test ecx, ecx
je 0x469061
sub eax, edi
push eax
push dword [esi + 0x1d8]
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
mov esi, 0xfe
mov edi, 0x4df
push esi
push edi
mov edx, 0x7600ec
xor ecx, ecx
call fcn.0047145c
push edi
push 0x76010c
push 0x76012c
call fcn.004010b4
add esp, 0x18
push esi
call fcn.005aae60
int3