Function at 0x180083d30
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rax, qword [0x18012f010]
xor rax, rsp
mov qword [rsp + 0x28], rax
xor ebx, ebx
mov edi, 1
xor eax, eax
lock cmpxchg dword [0x18014b68c], edi
je 0x180083d82
cmp rbx, 0x20
jae 0x180083d6b
xor ecx, ecx
jmp 0x180083d6d
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18014b68c], edi
jne 0x180083d61
cmp qword [0x18014b698], 0
jne 0x180083da0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x18014b698], rax
xor eax, eax
lea r8, [0x180150f68]
xchg dword [0x18014b68c], eax
mov rbx, qword [0x1801513f0]
lea rdx, [0x180083910]
lea rcx, [rbx + 0x6a08a0]
call fcn.180045680
lea rcx, [rbx + 0x6a08a0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fc0]
lea rdx, [0x180083b90]
lea rcx, [rbx + 0x6a2770]
call fcn.180045680
lea rcx, [rbx + 0x6a2770]
call fcn.1800459b0
mov rax, qword [0x1801513f0]
lea rcx, [0x1800520e0]
add rax, 0x1d2bd2
mov dword [rsp + 0x20], 0
mov qword [0x180149100], rax
lea r9, [rsp + 0x20]
mov rax, qword [0x180149118]
mov r8d, 0x40
mov qword [rax + 2], rcx
mov rdx, qword [0x180149108]
mov rcx, qword [0x180149100]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180083ea5
mov r8, qword [0x180149108]
mov rdx, qword [0x180149100]
mov rcx, qword [0x180149110]
call fcn.180098870
mov r8, qword [0x180149108]
mov rdx, qword [0x180149118]
mov rcx, qword [0x180149100]
call fcn.180098870
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, qword [0x180149108]
mov rcx, qword [0x180149100]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rsi, qword [0x1801513e0]
mov rdi, qword [0x1801513d8]
cmp rdi, rsi
je 0x180083ee4
nop dword [rax + rax]
mov rbx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov rdx, qword [rdi + 8]
call fcn.180045680
mov rcx, rbx
call fcn.1800459b0
add rdi, 0x18
cmp rdi, rsi
jne 0x180083ec0
mov rsi, qword [0x180151398]
mov rdi, qword [0x180151390]
cmp rdi, rsi
je 0x180083f24
nop word [rax + rax]
mov rbx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov rdx, qword [rdi + 8]
call fcn.180045680
mov rcx, rbx
call fcn.1800459b0
add rdi, 0x18
cmp rdi, rsi
jne 0x180083f00
mov rsi, qword [0x1801513c8]
mov rbx, qword [0x1801513c0]
cmp rbx, rsi
je 0x180083f64
nop word [rax + rax]
mov rdi, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rdi
mov rdx, qword [rbx + 8]
call fcn.180045680
mov rcx, rdi
call fcn.1800459b0
add rbx, 0x18
cmp rbx, rsi
jne 0x180083f40
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f80]
lea rdx, [0x1800543f0]
lea rcx, [rbx + 0xa36b90]
call fcn.180045680
lea rcx, [rbx + 0xa36b90]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f98]
lea rdx, [0x180054410]
lea rcx, [rbx + 0xba6e0]
call fcn.180045680
lea rcx, [rbx + 0xba6e0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f70]
lea rdx, [0x180054450]
lea rcx, [rbx + 0x364da0]
call fcn.180045680
lea rcx, [rbx + 0x364da0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f50]
lea rdx, [0x180054470]
lea rcx, [rbx + 0x476dc0]
call fcn.180045680
lea rcx, [rbx + 0x476dc0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f78]
lea rdx, [0x1800544a0]
lea rcx, [rbx + 0x55e8c0]
call fcn.180045680
lea rcx, [rbx + 0x55e8c0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fb8]
lea rdx, [0x18005d1b0]
lea rcx, [rbx + 0x414b60]
call fcn.180045680
lea rcx, [rbx + 0x414b60]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fc8]
lea rdx, [0x18005cfa0]
lea rcx, [rbx + 0x410a90]
call fcn.180045680
lea rcx, [rbx + 0x410a90]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fb0]
lea rdx, [0x18005d040]
lea rcx, [rbx + 0x412240]
call fcn.180045680
lea rcx, [rbx + 0x412240]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fa0]
lea rdx, [0x18005d2d0]
lea rcx, [rbx + 0x1e9ef0]
call fcn.180045680
lea rcx, [rbx + 0x1e9ef0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f60]
lea rdx, [0x180083cb0]
lea rcx, [rbx + 0x307ec0]
call fcn.180045680
lea rcx, [rbx + 0x307ec0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150f88]
lea rdx, [0x18005d370]
lea rcx, [rbx + 0x4e22d0]
call fcn.180045680
lea rcx, [rbx + 0x4e22d0]
call fcn.1800459b0
mov rbx, qword [0x1801513f0]
lea r8, [0x180150fa8]
lea rdx, [0x18005d3a0]
lea rcx, [rbx + 0x49e860]
call fcn.180045680
lea rcx, [rbx + 0x49e860]
call fcn.1800459b0
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.180092eb0
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret