Function at 0x296320
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 0x2d2101
mov eax, dword fs:[0]
push eax
sub esp, 0x678
mov eax, dword [0x2ec068]
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 - 0x678], eax
mov edi, ecx
mov dword [ebp - 0x670], edi
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x680], edi
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0xf
mov byte [ebp - 0x474], 0
mov dword [ebp - 4], 0
cmp dword [eax + 0x10], 0
je 0x296bd2
lea eax, [ebp - 0x66c]
mov byte [ebp - 4], 1
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x296bd2
mov ecx, dword [0x2eca40]
lea esi, [ebp - 0x17]
mov dword [ebp - 0x670], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4dc], eax
movlpd qword [ebp - 0x4cc], xmm0
movlpd qword [ebp - 0x4c4], xmm0
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], 1
mov dword [ebp - 0x4d0], 6
mov dword [ebp - 0x674], ecx
test ecx, ecx
jns 0x296450
neg ecx
mov dword [ebp - 0x674], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x674]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x674], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x674], ecx
test ecx, ecx
jne 0x296410
dec esi
mov byte [esi], 0x2d
jmp 0x296486
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x674]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x674], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x674], ecx
test ecx, ecx
jne 0x296450
lea ecx, [ebp - 0x17]
mov dword [ebp - 0x44c], 0
mov byte [ebp - 0x45c], 0
mov eax, 0xf
mov dword [ebp - 0x448], eax
cmp esi, ecx
je 0x2964c0
mov eax, ecx
lea ecx, [ebp - 0x45c]
sub eax, esi
push eax
push esi
call fcn.0029a020
mov eax, dword [ebp - 0x448]
cmp eax, 0x10
lea edx, [ebp - 0x670]
push edx
lea ecx, [ebp - 0x45c]
mov eax, 0x2ef550
cmovae ecx, dword [ebp - 0x45c]
lea edx, [ebp - 0x4dc]
cmp dword [0x2ef564], 0x10
push edx
cmovae eax, dword [0x2ef550]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov edx, dword [ebp - 0x448]
mov esi, eax
cmp edx, 0x10
jb 0x296535
mov ecx, dword [ebp - 0x45c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x29652b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c15
push edx
push ecx
call fcn.002a70f2
add esp, 8
test esi, esi
je 0x296544
call dword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x296bd2
mov esi, dword [ebp - 0x670]
nop word [eax + eax]
mov dword [ebp - 0x674], 0xffffffff
test esi, esi
je 0x29659b
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x674], eax
cmp eax, 0xffffffff
je 0x296539
push dword [esi + 0x10]
push dword [esi + 0x18]
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x29659b
push dword [ebp - 0x674]
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, dword [esi + 0x1c]
jmp 0x296550
push dword [ebp - 0x670]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp dword [ebp - 0x674], 0xffffffff
je 0x296539
push dword [ebp - 0x678]
lea ecx, [ebp - 0x45c]
call fcn.00298d70
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x44c]
add eax, 5
mov dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x67c], 0x1e
call fcn.0029c0d0
push str.data:
lea ecx, [ebp - 0x2c]
call fcn.00298bb0
cmp dword [ebp - 0x448], 0x10
lea edx, [ebp - 0x45c]
mov eax, dword [ebp - 0x18]
cmovae edx, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x1c]
sub eax, esi
mov ecx, dword [ebp - 0x44c]
push ecx
push edx
cmp ecx, eax
ja 0x296650
cmp dword [ebp - 0x18], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
add esi, eax
push esi
call fcn.002be3b0
mov eax, dword [ebp - 0x44c]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x296666
mov byte [ebp - 0x678], 0
push dword [ebp - 0x678]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0029b790
mov esi, dword [ebp - 0x45c]
lea ecx, [ebp - 0x2c]
push str.:main
call fcn.00298bb0
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x444], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x434], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x2966ed
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2966e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c1a
push edx
push ecx
call fcn.002a70f2
add esp, 8
cmp dword [ebp - 0x430], 0x10
lea eax, [ebp - 0x444]
push 0
push dword [ebp - 0x434]
cmovae eax, dword [ebp - 0x444]
push eax
push dword [ebp - 0x674]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x2967fc
push dword [ebp - 0x674]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
movups xmm0, xmmword [ebp - 0x474]
mov edx, dword [ebp - 0x430]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x464]
movq qword [edi + 0x10], xmm0
cmp edx, 0x10
jb 0x2967a2
mov ecx, dword [ebp - 0x444]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296798
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c1f
push edx
push ecx
call fcn.002a70f2
add esp, 8
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xf
mov byte [ebp - 0x444], 0
cmp eax, 0x10
jb 0x296bf7
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x2967ed
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c24
push ecx
push esi
call fcn.002a70f2
add esp, 8
jmp 0x296bf7
xor ecx, ecx
mov dword [ebp - 0x678], ecx
push 0
mov eax, 0x400
sub eax, ecx
push eax
lea eax, [ebp - 0x42c]
add eax, ecx
push eax
push dword [ebp - 0x674]
call dword [sym.imp.WS2_32.dll_recv]
mov ecx, eax
test ecx, ecx
je 0x296ace
jns 0x296921
push dword [ebp - 0x674]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea eax, [ebp - 0x474]
mov ecx, edi
push eax
call fcn.00298cf0
mov edx, dword [ebp - 0x430]
cmp edx, 0x10
jb 0x29688d
mov ecx, dword [ebp - 0x444]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296883
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c29
push edx
push ecx
call fcn.002a70f2
add esp, 8
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xf
mov byte [ebp - 0x444], 0
cmp eax, 0x10
jb 0x2968de
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x2968d4
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c2e
push ecx
push esi
call fcn.002a70f2
add esp, 8
mov edx, dword [ebp - 0x460]
cmp edx, 0x10
jb 0x296bf7
mov ecx, dword [ebp - 0x474]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296912
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c33
push edx
push ecx
call fcn.002a70f2
add esp, 8
jmp 0x296bf7
mov eax, dword [ebp - 0x678]
add eax, ecx
mov dword [ebp - 0x47c], 0
push eax
mov dword [ebp - 0x678], eax
lea ecx, [ebp - 0x48c]
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x478], 0xf
push eax
mov byte [ebp - 0x48c], 0
call fcn.0029a020
sub esp, 8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48c]
call fcn.00298ae0
cmp eax, 0xffffffff
je 0x296b16
sub esp, 8
lea ecx, [ebp - 0x48c]
call fcn.00298ae0
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0xf
mov byte [ebp - 0x4bc], 0
lea edx, [eax + 8]
mov eax, dword [ebp - 0x47c]
cmp eax, edx
jb 0x296c38
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x478], 0x10
lea eax, [ebp - 0x48c]
cmovae eax, dword [ebp - 0x48c]
push ecx
add eax, edx
lea ecx, [ebp - 0x4bc]
push eax
call fcn.0029a020
lea eax, [ebp - 0x4bc]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00298d70
mov byte [ebp - 4], 8
lea eax, [ebp - 0x4a4]
cmp dword [ebp - 0x490], 0x10
lea ecx, [ebp - 0x474]
push dword [ebp - 0x494]
cmovae eax, dword [ebp - 0x4a4]
push eax
call fcn.0029a020
mov edx, dword [ebp - 0x490]
cmp edx, 0x10
jb 0x296a5a
mov ecx, dword [ebp - 0x4a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296a50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c3d
push edx
push ecx
call fcn.002a70f2
add esp, 8
mov edx, dword [ebp - 0x4a8]
cmp edx, 0x10
jb 0x296a94
mov ecx, dword [ebp - 0x4bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296a8a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c42
push edx
push ecx
call fcn.002a70f2
add esp, 8
mov edx, dword [ebp - 0x478]
cmp edx, 0x10
jb 0x296ace
mov ecx, dword [ebp - 0x48c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296ac4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c47
push edx
push ecx
call fcn.002a70f2
add esp, 8
push dword [ebp - 0x674]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov edx, dword [ebp - 0x430]
cmp edx, 0x10
jb 0x296b73
mov ecx, dword [ebp - 0x444]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296b69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c4c
jmp 0x296b69
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x678]
cmp edx, 0x10
jb 0x296804
mov ecx, dword [ebp - 0x48c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x296b54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c51
push edx
push ecx
call fcn.002a70f2
mov ecx, dword [ebp - 0x678]
add esp, 8
jmp 0x296804
push edx
push ecx
call fcn.002a70f2
add esp, 8
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xf
mov byte [ebp - 0x444], 0
cmp eax, 0x10
jb 0x296bd2
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x296bba
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x296c56
push ecx
push esi
call fcn.002a70f2
add esp, 8
jmp 0x296bd2
movups xmm0, xmmword [ebp - 0x474]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x464]
movq qword [edi + 0x10], xmm0
mov eax, edi
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.002a6d13
mov esp, ebp
pop ebp
ret
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.0029ad20
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
call fcn.002c243f
int3