Function at 0x140012210
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], r9
mov qword [rbp - 8], r8
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov edx, dword [0x140188f14]
cmp dword [0x140188d58], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012262
jmp 0x140012bb8
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp - 8]
mov r10, qword [rbp]
mov rsi, qword [rbp + 8]
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x60], rcx
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r11, rsp
mov rcx, r11
mov qword [rbp - 0x58], rcx
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov rdx, rcx
mov qword [rbp - 0x50], rdx
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rdx, rsp
mov rdi, rdx
mov qword [rbp - 0x48], rdi
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rdi, rsp
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rdi, rsp
mov qword [rbp - 0x30], rdi
mov qword [r11], rsi
mov qword [rcx], r10
mov qword [rdx], r9
mov qword [rax], r8
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov r8, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_memcmp
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x20]
mov r8d, dword [0x140184738]
mov r11d, dword [0x14018473c]
mov r10d, r8d
not r10d
mov r9d, r10d
or r9d, r11d
add r8d, r9d
add r8d, r10d
mov r9d, r10d
and r9d, r11d
xor r10d, r11d
or r9d, r10d
sub r8d, r9d
add r8d, 1
sub edx, r8d
setne byte [rcx]
call fcn.14001aad0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov dword [rax], 0x8892fc8c
mov edx, dword [0x140189258]
cmp dword [0x140189074], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400123a8
jmp 0x140012bb8
jmp 0x1400123ad
mov edx, dword [0x140188708]
cmp dword [0x140188ed4], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400123dd
jmp 0x140012cab
mov rax, qword [rbp - 0x18]
mov eax, dword [rax]
mov dword [rbp - 0x64], eax
mov edx, dword [0x1401891a0]
cmp dword [0x14018867c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012416
jmp 0x140012cab
mov eax, dword [rbp - 0x64]
sub eax, 0x8892fc8c
je 0x140012526
jmp 0x140012429
mov eax, dword [rbp - 0x64]
sub eax, 0x998c6422
je 0x140012aeb
jmp 0x14001243c
mov eax, dword [rbp - 0x64]
sub eax, 0x9dbd1708
je 0x140012698
jmp 0x14001244f
mov eax, dword [rbp - 0x64]
sub eax, 0xb030c660
je 0x14001288d
jmp 0x140012462
mov eax, dword [rbp - 0x64]
sub eax, 0xf1844120
je 0x140012a0d
jmp 0x140012475
mov eax, dword [rbp - 0x64]
sub eax, 0x30f5f7e0
je 0x1400125a9
jmp 0x140012488
mov eax, dword [rbp - 0x64]
sub eax, 0x51c73876
je 0x140012629
jmp 0x14001249b
mov eax, dword [rbp - 0x64]
sub eax, 0x688bd27a
je 0x140012a7c
jmp 0x1400124ae
mov eax, dword [rbp - 0x64]
sub eax, 0x6db5457d
je 0x14001281e
jmp 0x1400124c1
mov edx, dword [0x140188e4c]
cmp dword [0x140188760], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400124f1
jmp 0x140012cb0
mov edx, dword [0x1401885a8]
cmp dword [0x14018921c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012521
jmp 0x140012cb0
jmp 0x140012b53
mov edx, dword [0x1401886c0]
cmp dword [0x1401884f0], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012556
jmp 0x140012cb5
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x60]
mov r8b, byte [rcx]
mov ecx, 0x998c6422
mov edx, 0x30f5f7e0
test r8b, 1
cmovne ecx, edx
mov dword [rax], ecx
mov edx, dword [0x1401883fc]
cmp dword [0x140189184], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400125a4
jmp 0x140012cb5
jmp 0x140012b53
mov edx, dword [0x140188844]
cmp dword [0x1401886ac], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400125d9
jmp 0x140012cd8
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x58]
mov ecx, 0x9dbd1708
mov edx, 0x51c73876
cmp qword [r8], 0
cmovne ecx, edx
mov dword [rax], ecx
mov edx, dword [0x140188c58]
cmp dword [0x140188a4c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012624
jmp 0x140012cd8
jmp 0x140012b53
mov edx, dword [0x140188ee4]
cmp dword [0x140188d3c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012659
jmp 0x140012cf8
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x9dbd1708
mov edx, dword [0x1401891b8]
cmp dword [0x140188fbc], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012693
jmp 0x140012cf8
jmp 0x140012b53
mov edx, dword [0x140188e70]
cmp dword [0x140188a1c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400126c8
jmp 0x140012d07
mov r9, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8d, 0x40
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x18]
mov edx, dword [0x140184740]
mov r10d, dword [str.D_aUD]
mov ecx, edx
xor ecx, 0xffffffff
mov r9d, r10d
xor r9d, 0xffffffff
or ecx, r9d
xor ecx, 0xffffffff
and ecx, 0xffffffff
shl ecx, 0
add ecx, 0xd41a0b62
add ecx, 0x2be5f49e
mov r9d, edx
and r9d, r10d
mov r11d, edx
xor r11d, r10d
or r9d, r11d
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xe6b64e9
and r9d, 0xf1949b16
or r11d, r9d
xor r11d, 0xf1949b16
shl r11d, 0
xor r9d, r9d
sub r9d, r11d
sub ecx, r9d
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0xb014817f
and edx, 0x4feb7e80
or r9d, edx
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xb014817f
and r10d, 0x4feb7e80
or edx, r10d
xor r9d, edx
mov edx, r9d
xor edx, 0xffffffff
and edx, 0xffffffff
and r9d, 0
or edx, r9d
imul r9d, edx, 0xffffffff
xor edx, edx
sub edx, r9d
sub ecx, edx
imul ecx, ecx, 0xbc5a2c77
sub ecx, 0x2d0cda45
imul r9d, ecx, 0x79296d47
add r9d, 0xfe6b3c4b
add r9d, 0x898cea23
sub r9d, 0xfe6b3c4b
mov ecx, 0x6db5457d
mov edx, 0xb030c660
cmp r8d, r9d
cmovne ecx, edx
mov dword [rax], ecx
mov edx, dword [0x140189104]
cmp dword [0x14018893c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012819
jmp 0x140012d07
jmp 0x140012b53
mov edx, dword [0x140188804]
cmp dword [0x140188374], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x14001284e
jmp 0x140012e2d
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x998c6422
mov edx, dword [0x140188934]
cmp dword [0x14018915c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012888
jmp 0x140012e2d
jmp 0x140012b53
mov edx, dword [0x14018845c]
cmp dword [0x140188c1c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x1400128bd
jmp 0x140012e3c
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov r8, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov r9, qword [rbp - 0x30]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8d, dword [r9]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x18]
mov r10d, dword [0x140184748]
mov r9d, dword [0x14018474c]
mov ecx, r10d
xor ecx, 0xffffffff
mov edx, r9d
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
and ecx, 0xffffffff
shl ecx, 0
add ecx, 0x2cbed883
sub ecx, 0x2cbed883
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xffffffff
mov r11d, r10d
and r11d, 0
or edx, r11d
shl edx, 0
add ecx, 0x7e174a97
add ecx, edx
sub ecx, 0x7e174a97
mov edx, r10d
xor edx, 0xffffffff
and edx, 0x9f9db6e
and r10d, 0xf6062491
or edx, r10d
xor edx, 0xf6062491
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
xor edx, 0xffffffff
and edx, 0xffffffff
imul r9d, edx, 0xffffffff
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, r9d
add edx, ecx
xor ecx, ecx
sub ecx, edx
imul ecx, ecx, 0x428f438f
add ecx, 0xb478f442
add ecx, 0x80401104
sub ecx, 0xb478f442
imul r9d, ecx, 0xe4d47b6f
sub r9d, 0xb444cbc
mov ecx, 0xf1844120
mov edx, 0x688bd27a
cmp r8d, r9d
cmovne ecx, edx
mov dword [rax], ecx
mov edx, dword [0x140188b7c]
cmp dword [0x140188a90], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012a08
jmp 0x140012e3c
jmp 0x140012b53
mov edx, dword [0x140188320]
cmp dword [0x140188a20], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012a3d
jmp 0x140012f5c
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x688bd27a
mov edx, dword [0x140188644]
cmp dword [0x140188560], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012a77
jmp 0x140012f5c
jmp 0x140012b53
mov edx, dword [0x140188d1c]
cmp dword [0x140188a10], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012aac
jmp 0x140012f6b
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x998c6422
mov edx, dword [0x140188944]
cmp dword [0x140189164], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012ae6
jmp 0x140012f6b
jmp 0x140012b53
mov edx, dword [0x140188d68]
cmp dword [0x140188f2c], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012b1b
jmp 0x140012f7a
mov edx, dword [0x140188550]
cmp dword [0x1401883e4], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012b4b
jmp 0x140012f7a
lea rsp, [rbp + 0x10]
pop rdi
pop rsi
pop rbp
ret
mov edx, dword [0x1401889fc]
cmp dword [0x1401887dc], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012b83
jmp 0x140012f7f
mov edx, dword [0x140188928]
cmp dword [0x140188d34], 0xa
setl al
mov ecx, edx
add ecx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
or al, cl
test al, 1
jne 0x140012bb3
jmp 0x140012f7f
jmp 0x1400123ad
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp - 8]
mov r10, qword [rbp]
mov rsi, qword [rbp + 8]
mov eax, 0x10
mov qword [rbp - 0x70], rax
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
mov qword [rbp - 0x78], rcx
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r11, rsp
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rdx, rsp
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rdi, rsp
mov qword [rbp - 0x80], rdi
call fcn.14001aad0
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov qword [r11], rsi
mov qword [rcx], r10
mov qword [rdx], r9
mov qword [rax], r8
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov r8, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_memcmp
mov rcx, qword [rbp - 0x78]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x70]
mov r8d, dword [0x140184738]
mov r11d, dword [0x14018473c]
mov r10d, r8d
not r10d
mov r9d, r10d
or r9d, r11d
add r8d, r9d
add r8d, r10d
mov r9d, r10d
and r9d, r11d
xor r10d, r11d
or r9d, r10d
sub r8d, r9d
add r8d, 1
sub edx, r8d
setne byte [rcx]
call fcn.14001aad0
sub rsp, rax
mov rax, rsp
mov dword [rax], 0x8892fc8c
jmp 0x140012262
jmp 0x1400123dd
jmp 0x1400124f1
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x60]
mov r8b, byte [rcx]
mov ecx, 0x998c6422
mov edx, 0x30f5f7e0
test r8b, 1
cmovne ecx, edx
mov dword [rax], ecx
jmp 0x140012556
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x58]
mov ecx, 0x9dbd1708
mov edx, 0x51c73876
cmp qword [r8], 0
cmovne ecx, edx
mov dword [rax], ecx
jmp 0x1400125d9
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x9dbd1708
jmp 0x140012659
mov r9, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8d, 0x40
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x18]
mov edx, dword [0x140184740]
mov r10d, dword [str.D_aUD]
mov ecx, edx
xor ecx, 0xffffffff
mov r9d, r10d
xor r9d, 0xffffffff
or ecx, r9d
xor ecx, 0xffffffff
and ecx, 0xffffffff
shl ecx, 0
add ecx, 0xd41a0b62
add ecx, 0x2be5f49e
mov r9d, edx
and r9d, r10d
mov r11d, edx
xor r11d, r10d
or r9d, r11d
mov r11d, r9d
xor r11d, 0xffffffff
and r11d, 0xe6b64e9
and r9d, 0xf1949b16
or r11d, r9d
xor r11d, 0xf1949b16
shl r11d, 0
xor r9d, r9d
sub r9d, r11d
sub ecx, r9d
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0xb014817f
and edx, 0x4feb7e80
or r9d, edx
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xb014817f
and r10d, 0x4feb7e80
or edx, r10d
xor r9d, edx
mov edx, r9d
xor edx, 0xffffffff
and edx, 0xffffffff
and r9d, 0
or edx, r9d
imul r9d, edx, 0xffffffff
xor edx, edx
sub edx, r9d
sub ecx, edx
imul ecx, ecx, 0xbc5a2c77
sub ecx, 0x2d0cda45
imul r9d, ecx, 0x79296d47
add r9d, 0xfe6b3c4b
add r9d, 0x898cea23
sub r9d, 0xfe6b3c4b
mov ecx, 0x6db5457d
mov edx, 0xb030c660
cmp r8d, r9d
cmovne ecx, edx
mov dword [rax], ecx
jmp 0x1400126c8
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x998c6422
jmp 0x14001284e
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov r8, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov r9, qword [rbp - 0x30]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8d, dword [r9]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x18]
mov r10d, dword [0x140184748]
mov r9d, dword [0x14018474c]
mov ecx, r10d
xor ecx, 0xffffffff
mov edx, r9d
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
and ecx, 0xffffffff
shl ecx, 0
add ecx, 0x2cbed883
sub ecx, 0x2cbed883
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xffffffff
mov r11d, r10d
and r11d, 0
or edx, r11d
shl edx, 0
add ecx, 0x7e174a97
add ecx, edx
sub ecx, 0x7e174a97
mov edx, r10d
xor edx, 0xffffffff
and edx, 0x9f9db6e
and r10d, 0xf6062491
or edx, r10d
xor edx, 0xf6062491
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
xor edx, 0xffffffff
and edx, 0xffffffff
imul r9d, edx, 0xffffffff
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, r9d
add edx, ecx
xor ecx, ecx
sub ecx, edx
imul ecx, ecx, 0x428f438f
add ecx, 0xb478f442
add ecx, 0x80401104
sub ecx, 0xb478f442
imul r9d, ecx, 0xe4d47b6f
sub r9d, 0xb444cbc
mov ecx, 0xf1844120
mov edx, 0x688bd27a
cmp r8d, r9d
cmovne ecx, edx
mov dword [rax], ecx
jmp 0x1400128bd
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x688bd27a
jmp 0x140012a3d
mov rax, qword [rbp - 0x18]
mov dword [rax], 0x998c6422
jmp 0x140012aac
jmp 0x140012b1b
jmp 0x140012b83