Function at 0x140002db7
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rdx
movzx eax, byte [0x140018048]
movsx r12d, al
call fcn.14000199a
movsx eax, al
add eax, r12d
mov r13d, eax
call fcn.140001963
movsx r12d, al
call fcn.14000194d
movsx eax, al
imul eax, r12d
add eax, r13d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400039e4
lea rdx, [rbp - 0x2c]
mov rax, qword [rbp + 0x48]
mov r9, rdx
mov r8d, 0x40
mov rdx, rax
mov rcx, qword [rbp + 0x40]
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rax
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd qword [rbp - 8], xmm0
xor rax, rax
je 0x140002e60
add byte [rdi], cl
mov dh, 5
fist word [rcx + 1]
add byte [rdi], cl
mov esi, 0xef0f66c0
leave
movzx eax, byte [0x140018046]
movsx eax, al
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
movzx eax, byte [0x140018042]
movsx eax, al
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movapd xmm2, xmm0
addsd xmm2, xmm0
subsd xmm1, xmm2
movapd xmm0, xmm1
mulsd xmm0, qword [rbp - 8]
movsd qword [rbp - 0x58], xmm0
movzx eax, byte [0x140018048]
movsx r12d, al
call fcn.14000199a
movsx eax, al
add eax, r12d
mov r13d, eax
call fcn.140001963
movsx r12d, al
call fcn.14000194d
movsx eax, al
mov edx, r12d
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, r13d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x140002f4a
movzx eax, byte [0x140018042]
movsx r12d, al
call fcn.14000198f
movsx eax, al
add eax, r12d
mov r12d, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add r12d, eax
call fcn.1400019b0
movsx eax, al
cmp r12d, eax
je 0x140002f4a
mov edi, 6
jmp 0x14000303c
movzx eax, byte [0x140018048]
movsx r12d, al
call fcn.14000199a
movsx eax, al
add eax, r12d
mov r13d, eax
call fcn.140001963
movsx r12d, al
call fcn.14000194d
movsx eax, al
mov edx, r12d
imul edx, eax
mov eax, edx
shl eax, 3
add eax, edx
add eax, r13d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x14000303b
nop
movzx eax, byte [0x140018048]
movsx edi, al
call fcn.14000199a
movsx eax, al
add eax, edi
mov r12d, eax
call fcn.140001963
movsx edi, al
call fcn.14000194d
movsx eax, al
imul edi, eax
mov edx, edi
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, r12d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
test rax, rax
js 0x140003013
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jmp 0x14000302c
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [rbp - 0x58]
mulsd xmm0, xmm1
cvttsd2si edi, xmm0
jmp 0x14000303c
nop
mov r12d, edi
movzx eax, byte [0x140018048]
movsx edi, al
call fcn.14000199a
movsx eax, al
add eax, edi
mov r13d, eax
call fcn.140001963
movsx edi, al
call fcn.14000194d
movsx eax, al
imul edi, eax
mov edx, edi
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, r13d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov ecx, eax
movzx eax, byte [0x140018040]
movsx edx, al
mov eax, ecx
sub eax, edx
imul eax, r12d
test eax, eax
je 0x1400030cb
mov rax, qword [rbp + 0x40]
call rax
mov edx, dword [rbp - 0x2c]
lea rcx, [rbp - 0x2c]
mov rax, qword [rbp + 0x48]
mov r9, rcx
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x40]
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rax
jmp 0x1400039e4
movzx eax, byte [0x140018048]
movsx edi, al
call fcn.14000199a
movsx eax, al
add eax, edi
mov r12d, eax
call fcn.140001963
movsx edi, al
call fcn.14000194d
movsx eax, al
imul edi, eax
mov edx, edi
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, r12d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400039e4
movzx eax, byte [0x140018042]
movsx edi, al
call fcn.14000198f
movsx eax, al
add eax, edi
mov edi, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul eax, edx
add edi, eax
call fcn.1400019b0
movsx eax, al
sub edi, eax
mov edx, edi
mov eax, edx
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
movsd qword [rbp - 0x10], xmm0
xor rax, rax
je 0x140003176
add byte [rdi], cl
mov dh, 5
leave
add qword [rax], r8
movzx eax, byte [0x140018046]
movsx eax, al
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
movzx eax, byte [0x140018042]
movsx eax, al
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movapd xmm2, xmm0
addsd xmm2, xmm0
subsd xmm1, xmm2
movapd xmm0, xmm1
mulsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x50], xmm0
movzx eax, byte [0x140018048]
movsx edi, al
call fcn.14000199a
movsx eax, al
add eax, edi
mov r12d, eax
call fcn.140001963
movsx edi, al
call fcn.14000194d
movsx eax, al
imul edi, eax
mov edx, edi
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, r12d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x140003257
movzx eax, byte [0x140018042]
movsx edi, al
call fcn.14000198f
movsx eax, al
add eax, edi
mov edi, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add edi, eax
call fcn.1400019b0
movsx eax, al
cmp edi, eax
je 0x140003257
mov esi, 6
jmp 0x140003343
movzx eax, byte [0x140018048]
movsx edi, al
call fcn.14000199a
movsx eax, al
add eax, edi
mov r12d, eax
call fcn.140001963
movsx edi, al
call fcn.14000194d
movsx eax, al
imul edi, eax
mov edx, edi
mov eax, edx
shl eax, 3
add eax, edx
add eax, r12d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x140003342
nop
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
test rax, rax
js 0x14000331a
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jmp 0x140003333
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [rbp - 0x50]
mulsd xmm0, xmm1
cvttsd2si esi, xmm0
jmp 0x140003343
nop
mov edi, esi
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov r12d, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul eax, esi
add eax, r12d
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov ecx, eax
movzx eax, byte [0x140018040]
movsx edx, al
mov eax, ecx
sub eax, edx
imul eax, edi
test eax, eax
je 0x1400039d5
movsd xmm0, qword [0x1402421e8]
movsd qword [rbp - 0x18], xmm0
xor rax, rax
je 0x1400033b1
add byte [rdi], cl
mov dh, 5
mov cs, word [rcx + rax]
movzx eax, byte [0x140018046]
movsx eax, al
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
movzx eax, byte [0x140018042]
movsx eax, al
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movapd xmm2, xmm0
addsd xmm2, xmm0
subsd xmm1, xmm2
movapd xmm0, xmm1
mulsd xmm0, qword [rbp - 0x18]
movsd qword [rbp - 0x48], xmm0
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x14000348a
movzx eax, byte [0x140018042]
movsx esi, al
call fcn.14000198f
movsx eax, al
add eax, esi
mov esi, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add esi, eax
call fcn.1400019b0
movsx eax, al
cmp esi, eax
jne 0x140003541
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
shl eax, 3
add eax, edx
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x140003544
nop
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
test rax, rax
movsd xmm0, qword [rbp - 0x48]
jmp 0x140003545
nop
jmp 0x140003545
nop
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul eax, esi
shl eax, 2
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400039e3
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
shl eax, 3
add eax, edx
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
movsd qword [rbp - 0x20], xmm0
xor rax, rax
je 0x140003601
add byte [rdi], cl
mov dh, 5
add qword ds:[rax], rax
movzx eax, byte [0x140018046]
movsx eax, al
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
movzx eax, byte [0x140018042]
movsx eax, al
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movapd xmm2, xmm0
addsd xmm2, xmm0
subsd xmm1, xmm2
movapd xmm0, xmm1
mulsd xmm0, qword [rbp - 0x20]
movsd qword [rbp - 0x40], xmm0
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400036e0
movzx eax, byte [0x140018042]
movsx esi, al
call fcn.14000198f
movsx eax, al
add eax, esi
mov esi, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add esi, eax
call fcn.1400019b0
movsx eax, al
cmp esi, eax
je 0x1400036e0
mov ebx, 6
jmp 0x1400037ca
movzx eax, byte [0x140018048]
movsx esi, al
call fcn.14000199a
movsx eax, al
add eax, esi
mov edi, eax
call fcn.140001963
movsx esi, al
call fcn.14000194d
movsx eax, al
imul esi, eax
mov edx, esi
mov eax, edx
shl eax, 3
add eax, edx
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400037c9
nop
movzx eax, byte [0x140018048]
movsx ebx, al
call fcn.14000199a
movsx eax, al
add eax, ebx
mov esi, eax
call fcn.140001963
movsx ebx, al
call fcn.14000194d
movsx eax, al
imul ebx, eax
mov edx, ebx
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, esi
movzx edx, byte [0x140018047]
movsx ebx, dl
mov edx, 0
div ebx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
test rax, rax
js 0x1400037a1
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jmp 0x1400037ba
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [rbp - 0x40]
mulsd xmm0, xmm1
cvttsd2si ebx, xmm0
jmp 0x1400037ca
nop
mov esi, ebx
movzx eax, byte [0x140018048]
movsx ebx, al
call fcn.14000199a
movsx eax, al
add eax, ebx
mov edi, eax
call fcn.140001963
movsx ebx, al
call fcn.14000194d
movsx eax, al
imul ebx, eax
mov edx, ebx
mov eax, edx
shl eax, 2
add eax, edx
add eax, edi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov ecx, eax
movzx eax, byte [0x140018040]
movsx edx, al
mov eax, ecx
sub eax, edx
imul eax, esi
test eax, eax
je 0x1400039e3
movsd xmm0, qword [0x1402421f0]
movsd qword [rbp - 0x28], xmm0
xor rax, rax
je 0x14000383f
add byte [rdi], cl
mov dh, 5
add byte [rax + 1], cl
add byte [rdi], cl
mov esi, 0xef0f66c0
leave
movzx eax, byte [0x140018046]
movsx eax, al
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
movzx eax, byte [0x140018042]
movsx eax, al
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movapd xmm2, xmm0
addsd xmm2, xmm0
subsd xmm1, xmm2
movapd xmm0, xmm1
mulsd xmm0, qword [rbp - 0x28]
movsd qword [rbp - 0x38], xmm0
movzx eax, byte [0x140018048]
movsx ebx, al
call fcn.14000199a
movsx eax, al
add eax, ebx
mov esi, eax
call fcn.140001963
movsx ebx, al
call fcn.14000194d
movsx eax, al
imul ebx, eax
mov edx, ebx
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add eax, esi
movzx edx, byte [0x140018047]
movsx ebx, dl
mov edx, 0
div ebx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x140003918
movzx eax, byte [0x140018042]
movsx ebx, al
call fcn.14000198f
movsx eax, al
add eax, ebx
mov ebx, eax
call fcn.14000196e
movsx edx, al
movzx eax, byte [0x140246040]
movsx eax, al
imul edx, eax
mov eax, edx
add eax, eax
add eax, edx
add eax, eax
add ebx, eax
call fcn.1400019b0
movsx eax, al
cmp ebx, eax
jne 0x1400039cf
movzx eax, byte [0x140018048]
movsx ebx, al
call fcn.14000199a
movsx eax, al
add eax, ebx
mov esi, eax
call fcn.140001963
movsx ebx, al
call fcn.14000194d
movsx eax, al
imul ebx, eax
mov edx, ebx
mov eax, edx
shl eax, 3
add eax, edx
add eax, esi
movzx edx, byte [0x140018047]
movsx ecx, dl
mov edx, 0
div ecx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
cmp edx, eax
je 0x1400039d2
nop
movzx eax, byte [0x140018048]
movsx ebx, al
call fcn.14000199a
movsx eax, al
add eax, ebx
mov esi, eax
call fcn.140001963
movsx ebx, al
call fcn.14000194d
movsx eax, al
imul ebx, eax
mov edx, ebx
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, esi
movzx edx, byte [0x140018047]
movsx ebx, dl
mov edx, 0
div ebx
mov edx, eax
movzx eax, byte [0x140018040]
movsx eax, al
sub edx, eax
mov eax, edx
test rax, rax
movsd xmm0, qword [rbp - 0x38]
jmp 0x1400039d3
nop
jmp 0x1400039e3
nop
jmp 0x1400039e3
lea rcx, str.Failed_to_change_memory_protection._n
call fcn.140001540
jmp 0x1400039e4
nop
nop
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret