Function at 0x140019090
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x40
mov rbx, rdx
mov rdx, qword [rcx + 0x28]
mov r14, r8
mov rsi, rcx
test rdx, rdx
je 0x1400190ee
mov rcx, qword [rdx + 0x80]
test rcx, rcx
jne 0x1400190f9
cmp qword [0x1400ae418], 8
lea r8, [0x1400ae400]
lea rdx, [0x1400ae5c0]
cmovae r8, qword [0x1400ae400]
cmp qword [0x1400ae5d8], 8
cmovae rdx, qword [0x1400ae5c0]
xor r9d, r9d
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
test r9b, r9b
je 0x1400192df
test rbx, rbx
je 0x1400192df
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rdi
cmp rbx, 0xffffffffffffffff
jne 0x1400191a8
mov rdi, qword [rsi + 0x10]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400192db
nop
mov rdx, qword [rsi + 0x28]
lea rcx, [rbx + 0x20]
add rdx, 0x20
call fcn.14001af90
test eax, eax
je 0x1400191a2
cmp byte [rbx + 0x19], 0
jne 0x140019196
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14001916f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x140019196
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140019161
jmp 0x140019196
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140019193
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x140019193
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140019180
mov rbx, rax
cmp rbx, rdi
jne 0x140019130
xor eax, eax
jmp 0x1400192bb
lea rdi, [rbx + 0x40]
jmp 0x1400191c4
cmp byte [rsi + 0x20], 0
jne 0x1400191b6
mov rcx, rsi
call fcn.14001a2b0
mov rdx, rbx
mov rcx, rsi
call fcn.140019550
mov rdi, rax
test rdi, rdi
je 0x1400192db
cmp qword [rdi + 0x20], 0x10000
ja 0x1400191ea
mov rdx, rdi
mov rcx, rsi
call fcn.14001a390
test al, al
je 0x1400192db
mov rcx, qword [rsi + 0x28]
mov r9d, 0x3000
mov r8, r14
mov rcx, qword [rcx + 0x80]
xor edx, edx
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x60], rax
cmp rax, 0x10000
jbe 0x1400192db
mov r8, rdi
mov rdx, rax
mov rcx, rsi
call fcn.14001a060
test al, al
je 0x1400192ce
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rdx + 8]
mov rbx, rdx
cmp byte [rax + 0x19], 0
jne 0x140019268
nop dword [rax + rax]
cmp qword [rax + 0x20], rcx
jae 0x14001925c
mov rax, qword [rax + 0x10]
jmp 0x140019262
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140019250
cmp rbx, rdx
je 0x140019273
cmp rcx, qword [rbx + 0x20]
jae 0x1400192aa
lea rax, [rsp + 0x60]
lea r8, [rsp + 0x30]
lea rcx, [rdi + 0x40]
mov qword [rsp + 0x30], rax
call fcn.14001b020
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x40]
lea r9, [rax + 0x20]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.14001b060
mov rbx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x28]
sub rax, 0x10
mov qword [rbx + 0x28], rax
mov rax, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1400195d0
xor eax, eax
jmp 0x1400192bb
cmp rbx, 0x10
jne 0x1400192f9
mov rdx, qword [rdx + 0x48]
mov rcx, rsi
add rsp, 0x40
pop r14
pop rsi
pop rbx
jmp 0x140019330
test rbx, rbx
je 0x140019311
mov rdx, rbx
mov rcx, rsi
add rsp, 0x40
pop r14
pop rsi
pop rbx
jmp 0x140019330
xor edx, edx
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rsi, r8
mov rbp, rcx
cmp rdx, 0x7fffffff
jb 0x140019362
lea rbx, [rdx - 0x10000000]
jmp 0x140019364
xor ebx, ebx
lea r14, [rdx + 0x7fffffff]
xor edx, edx
mov rax, rbx
div qword [rcx]
mov rcx, qword [rcx + 0x28]
mov r9d, 0x3000
mov rcx, qword [rcx + 0x80]
sub rbx, rdx
mov dword [rsp + 0x20], 0x40
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
cmp rax, r14
jae 0x1400193df
cmp rbx, r14
jae 0x1400193df
lea rcx, [rdi + rsi]
cmp rcx, rbx
jae 0x140019415
mov rcx, qword [rbp + 0x28]
add rbx, qword [rbp]
mov r9d, 0x3000
mov rcx, qword [rcx + 0x80]
mov r8, rsi
mov rdx, rbx
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
cmp rax, r14
jb 0x1400193a0
test rdi, rdi
je 0x140019415
mov ecx, 0x1e7
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140019411
mov rcx, qword [rcx + 0x80]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor eax, eax
jmp 0x140019418
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret