Function at 0x4052d0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x439040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x43b9cc], 0
movups xmm0, xmmword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
movups xmmword [ebp - 0x118], xmm0
push edi
movups xmm0, xmmword [ebp + 0x20]
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x12c], esi
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x130], 0x10
je 0x405351
imul eax, esi, 0x11e4
push 0x11e4
add eax, 0xebfa60
push eax
push 0x43b9e0
call fcn.00411e20
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
call fcn.00413e68
push eax
push esi
push str._n___u____ld__n
call fcn.00401180
add esp, 0xc
lea eax, [ebp - 0x118]
push 0x10
push eax
push 0
push dword [ebp + 8]
push 0x43a7e8
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jle 0x405ad6
xor edi, edi
nop word [eax + eax]
push 0x11e4
push 0
push 0x43b9e0
call fcn.00411cc0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x128]
push eax
push 0
push 0x1194
push 0x43b9e0
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
cmp esi, 0xffffffff
jle 0x405a82
cmp byte [0x43b9e4], 0
jne 0x405406
mov ecx, dword [0x43ba20]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0x43ba23]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x40540c
mov edx, dword [0x43ba20]
push dword [0x43a828]
movzx eax, byte [0x43b9e1]
push edx
push eax
push str.______u__u__u_n
call fcn.00401180
add esp, 0x10
cmp byte [0x43b9e1], 2
jne 0x4054c3
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x124]
jne 0x4054c3
cmp byte [0x43b9e4], 0
jne 0x40547d
mov ecx, dword [0x43ba20]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0x43ba23]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x405483
mov edx, dword [0x43ba20]
cmp byte [0x43a7ec], 0
jne 0x4054b9
mov ecx, dword [0x43a828]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [0x43a82b]
shl esi, 8
or esi, ecx
or esi, eax
jmp 0x4054bf
mov esi, dword [0x43a828]
cmp edx, esi
je 0x4054cf
inc edi
cmp edi, 3
jl 0x405390
jmp 0x4054dc
push str.Break_n
call fcn.00401180
add esp, 4
push 0x11e4
push 0x43a7e8
push 0xebe870
call fcn.00411e20
xor eax, eax
add esp, 0xc
mov word [0xee62c2], ax
mov al, byte [0x43b9e2]
test al, 4
je 0x40568f
test al, 2
jne 0x40568f
push str.Fragment_1_n
call fcn.00401180
add esp, 4
mov byte [0xebe871], 9
lea eax, [ebp - 0x118]
push 0x10
push eax
push 0
push dword [ebp + 8]
push 0xebe870
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jle 0x405ad6
xor edi, edi
nop dword [eax]
push 0x11e4
push 0
push 0xee6278
call fcn.00411cc0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x128]
push eax
push 0
push 0x1194
push 0xee6278
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jle 0x405798
cmp byte [0xee627c], 0
jne 0x4055c4
mov ecx, dword [0xee62b8]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0xee62bb]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x4055ca
mov edx, dword [0xee62b8]
push dword [0xebe8b0]
movzx eax, byte [0xee6279]
push edx
push eax
push str.______u__u__u_n
call fcn.00401180
add esp, 0x10
cmp byte [0xee6279], 2
jne 0x405685
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x124]
jne 0x405685
cmp byte [0xee627c], 0
jne 0x40563b
mov ecx, dword [0xee62b8]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0xee62bb]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x405641
mov edx, dword [0xee62b8]
cmp byte [0xebe874], 0
jne 0x405677
mov ecx, dword [0xebe8b0]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [0xebe8b3]
shl esi, 8
or esi, ecx
or esi, eax
jmp 0x40567d
mov esi, dword [0xebe8b0]
cmp edx, esi
je 0x405786
inc edi
cmp edi, 3
jl 0x405550
push 0x11e4
push 0x43a7e8
push 0xee76d8
call fcn.00411e20
mov al, byte [0xee627a]
xor ecx, ecx
add esp, 0xc
mov word [0xebc4ea], cx
test al, 4
je 0x405896
test al, 2
jne 0x405896
push str.Fragment_2_n
call fcn.00401180
add esp, 4
mov byte [0xee76d9], 9
mov eax, 1
mov word [0xee7724], ax
mov al, byte [0xee62c7]
push 0x10
mov byte [0xee7727], al
lea eax, [ebp - 0x118]
push eax
push 0
push dword [ebp + 8]
push 0xee76d8
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jle 0x405ad6
xor edi, edi
push 0x11e4
push 0
push 0xebc4a0
call fcn.00411cc0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x128]
push eax
push 0
push 0x1194
push 0xebc4a0
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jle 0x4058b3
cmp byte [0xebc4a4], 0
jne 0x4057bd
mov ecx, dword [0xebc4e0]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0xebc4e3]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x4057c3
push str.Break_n
call fcn.00401180
add esp, 4
jmp 0x40568f
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x274c
jne 0x405b00
cmp dword [ebp - 0x12c], 3
jle 0x405adf
jmp 0x4058d3
mov edx, dword [0xebc4e0]
push dword [0xee7718]
movzx eax, byte [0xebc4a1]
push edx
push eax
push str.______u__u__u_n
call fcn.00401180
add esp, 0x10
cmp byte [0xebc4a1], 2
jne 0x405876
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x124]
jne 0x405876
cmp byte [0xebc4a4], 0
jne 0x405830
mov ecx, dword [0xebc4e0]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0xebc4e3]
shl edx, 8
or edx, ecx
or edx, eax
jmp 0x405836
mov edx, dword [0xebc4e0]
cmp byte [0xee76dc], 0
jne 0x40586c
mov ecx, dword [0xee7718]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [0xee771b]
shl esi, 8
or esi, ecx
or esi, eax
jmp 0x405872
mov esi, dword [0xee7718]
cmp edx, esi
je 0x405882
inc edi
cmp edi, 3
jl 0x405712
jmp 0x40588f
push str.Break_n
call fcn.00401180
add esp, 4
mov cx, word [0xebc4ea]
cmp byte [0x43b9e4], 0
jne 0x4058f4
movzx eax, word [0x43ba2a]
movzx esi, al
shl esi, 8
shr eax, 8
or esi, eax
jmp 0x4058fb
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x274c
jne 0x405b00
cmp dword [ebp - 0x12c], 3
jle 0x405adf
push str._No_answer_to_async._req._after_EPM
call fcn.00401180
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
movzx esi, word [0x43ba2a]
cmp byte [0xee627c], 0
jne 0x405918
movzx eax, word [0xee62c2]
movzx edi, al
shl edi, 8
shr eax, 8
or edi, eax
jmp 0x40591f
movzx edi, word [0xee62c2]
cmp byte [0xebc4a4], 0
jne 0x405938
movzx eax, cx
movzx ebx, al
shl ebx, 8
shr eax, 8
or ebx, eax
jmp 0x40593b
movzx ebx, cx
push ebx
push edi
push esi
push str._nFrag._Len__u___Frag._Len_1__u___Frag._Len_2__u__n
call fcn.00401180
add esp, 0x10
cmp esi, 0x5aa
ja 0x405b3b
cmp edi, 0x5aa
ja 0x405b3b
cmp ebx, 0x5aa
ja 0x405b3b
test esi, esi
je 0x4059a7
test edi, edi
je 0x4059a7
push edi
lea eax, [esi + 0x43ba30]
push 0xee62c8
push eax
call fcn.00411e20
add esp, 0xc
test ebx, ebx
je 0x4059a7
push ebx
lea eax, [esi + 0x43ba30]
add eax, edi
push 0xebc4f0
push eax
call fcn.00411e20
add esp, 0xc
mov al, byte [0x43b9e4]
cmp al, byte [0x43a7ec]
je 0x405a1b
mov ecx, dword [0x43b9f8]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
and ecx, 0xff00
movzx eax, byte [0x43b9fb]
shl edx, 8
or edx, ecx
mov ecx, dword [0x43b9fc]
or edx, eax
shl ecx, 8
movzx eax, byte [0x43b9fd]
or cx, ax
mov dword [0x43b9f8], edx
movzx eax, byte [0x43b9ff]
mov word [0x43b9fc], cx
mov cx, word [0x43b9fe]
shl cx, 8
or cx, ax
mov word [0x43b9fe], cx
mov ecx, 0x43a800
mov edx, 0x43b9f8
mov esi, 0xc
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x405b2b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x405a30
imul eax, dword [ebp - 0x12c], 0x11e4
push 0x11e4
push 0x43b9e0
add eax, 0xebfa60
push eax
call fcn.00411e20
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
cmp eax, 0x274c
jne 0x405acb
cmp dword [ebp - 0x12c], 3
jle 0x405b58
call fcn.00413e68
push eax
push dword [ebp - 0x12c]
push str._No_answer_to_async._req._after_EPM____d__ld
call fcn.00401180
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
or eax, 0xffffffff
pop edi
pop esi
pop ebx
call fcn.004106cd
mov esp, ebp
pop ebp
ret
call edi
push eax
push dword [ebp - 0x12c]
jmp 0x405b0a
mov edx, ebx
mov ecx, str.E_Error_sending_dtg_n
jmp 0x405b26
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push str._No_answer_EPM__Fragment_
call fcn.00401180
add esp, 4
push 0
call fcn.00413c51
call esi
push eax
mov eax, dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0x108]
push str._d_recvfrom_failed_with_error__d_n
push eax
call fcn.004011c0
add esp, 0x10
lea ecx, [ebp - 0x108]
mov edx, ebx
call fcn.00403460
mov edx, dword [ebp - 0x134]
mov ecx, str.E_Error_ifu
call fcn.00403460
push str.E_Error_Max_Frag_len
call fcn.00401180
mov edx, dword [ebp - 0x134]
add esp, 4
mov ecx, str.E_Error_Max_Frag_len
call fcn.00403460
call edi
push ebx
mov edi, eax
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x12c], 3
jne 0x405b8b
call fcn.00413e68
push eax
push edi
push esi
push 3
push str._No_answer_to_async._req._after_EPM___Real_ID____d__d__d__ld
call fcn.00401180
add esp, 0x14
jmp 0x405b98
push str._No_answer_EPM
call fcn.00401180
add esp, 4
push 0
call fcn.00413c51
int3