Function at 0x1800245e0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
xor r14d, r14d
mov rbp, r9
mov r13, r8
mov r12, rdx
mov rdi, rcx
mov ebx, r14d
test r8, r8
je 0x18002460d
mov qword [r8], r14
test rbp, rbp
je 0x180024615
mov qword [r9], r14
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
je 0x180024625
mov qword [rsi], r14
test r12, r12
jne 0x18002463e
lea eax, [r12 + 0x57]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x180269808], eax
je 0x180024660
mov eax, 0x10dd
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [0x18026980c]
test eax, eax
jne 0x1800249d8
test rdi, rdi
jne 0x180024685
lea eax, [rdi + 6]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1800246b0
mov ebx, 6
mov qword [0x180269810], rdi
mov dword [0x18026980c], ebx
mov eax, ebx
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor edx, edx
mov qword [rsp + 0x48], r15
mov rdi, r14
call fcn.180024bf0
xor edx, edx
mov rcx, r12
mov r15, rax
call fcn.180024bf0
mov qword [rsp + 0x38], rax
cmp rax, r15
jne 0x1800246e7
cmp dword [0x180269800], ebx
jne 0x1800249c2
jmp 0x180024968
test rbp, rbp
je 0x1800246f0
mov qword [rbp], r15
test rsi, rsi
je 0x1800246f8
mov qword [rsi], rax
mov ecx, 0x30
call fcn.18015de64
mov r14, rax
test rax, rax
jne 0x180024712
lea ebx, [rax + 8]
jmp 0x180024968
mov rcx, r15
call fcn.180025350
mov rdi, rax
test rax, rax
jne 0x18002472a
lea ebx, [rax + 8]
jmp 0x180024968
test r13, r13
je 0x180024733
mov qword [r13], rdi
xor eax, eax
mov qword [rsp + 0xa8], rdi
mov qword [rdi + 0x40], rax
mov rbp, r15
lea rax, [rdi + 0x1e]
mov r10, rdi
mov qword [rsp + 0x30], rax
xor r12d, r12d
lea rax, [rsp + 0x98]
mov dword [rsp + 0x98], 0
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rbp
lea rdx, [rsp + 0x30]
mov rcx, r10
mov rsi, rbp
call fcn.180025940
mov r10, qword [rsp + 0xa8]
mov rbp, rax
movsxd rax, dword [rsp + 0x98]
mov ebx, ebp
sub rax, rsi
sub ebx, r15d
add rax, rbp
add r10, rax
movzx eax, bl
and al, 7
mov qword [rsp + 0xa8], r10
movzx r8d, r10b
sub r8b, dil
movzx ecx, r8b
mov byte [rsp + 0xb0], r8b
shl cl, 3
or cl, al
mov byte [r12 + rdi + 0x40], cl
inc r12d
cmp r12d, 8
jae 0x180024834
movzx ecx, byte [rsi]
lea eax, [rcx + 0x3e]
cmp al, 0x29
ja 0x1800247ef
movabs rdx, 0x28040000403
bt rdx, rax
jb 0x180024834
cmp cl, 0xf3
jne 0x1800247fa
cmp byte [rsi + 1], 0xc3
jmp 0x180024827
cmp cl, 0xff
jne 0x180024805
cmp byte [rsi + 1], 0x25
jmp 0x180024827
sub cl, 0x26
cmp cl, 0x3f
ja 0x180024829
movabs rax, 0xc000000001010101
bt rax, rcx
jae 0x180024829
cmp byte [rsi + 1], 0xff
jne 0x180024829
cmp byte [rsi + 2], 0x25
je 0x180024834
cmp ebx, 5
jb 0x180024753
jmp 0x180024877
cmp ebx, 5
jae 0x180024877
nop dword [rax]
mov rcx, rbp
call fcn.180025760
test eax, eax
je 0x18002485d
cdqe
add rbp, rax
mov ebx, ebp
sub ebx, r15d
cmp ebx, 5
jb 0x180024840
jmp 0x180024866
cmp ebx, 5
jb 0x18002495a
movzx r8d, byte [rsp + 0xb0]
mov r10, qword [rsp + 0xa8]
cmp r12d, 8
ja 0x18002495a
cmp r10, qword [rsp + 0x30]
jbe 0x180024889
int3
mov byte [rdi + 0x1e], r8b
lea rcx, [rdi + 0x20]
mov r8, rbx
mov byte [rdi + 0x3e], bl
mov rdx, r15
call fcn.18017c7f0
cmp rbx, 0x19
jbe 0x1800248af
mov ebx, 6
jmp 0x180024968
movzx r8d, byte [rdi + 0x1e]
lea rax, [rbx + r15]
mov qword [rdi + 0x48], rax
add r8, rdi
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x50], rax
mov eax, edi
lea rcx, [r8 + 6]
mov word [r8], 0x25ff
sub eax, ecx
lea rcx, [r8 + 6]
add eax, 0x48
mov dword [r8 + 2], eax
mov rdx, qword [rsp + 0x30]
call fcn.180025710
lea r9, [rsp + 0xa0]
mov dword [rsp + 0xa0], 0
mov r8d, 0x40
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18002491e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x180024968
mov rax, qword [rsp + 0x90]
mov qword [r14 + 0x10], rax
mov dword [r14 + 8], 0
mov qword [r14 + 0x20], rdi
mov qword [r14 + 0x18], r15
mov eax, dword [rsp + 0xa0]
mov dword [r14 + 0x28], eax
mov rax, qword [0x180269820]
mov qword [r14], rax
xor eax, eax
mov qword [0x180269820], r14
jmp 0x1800249d3
cmp dword [0x180269800], 0
mov ebx, 9
jne 0x18002496e
mov dword [0x18026980c], ebx
test rdi, rdi
je 0x1800249b0
xorps xmm0, xmm0
mov rcx, rdi
movups xmmword [rdi], xmm0
and rcx, 0xffffffffffff0000
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x48], rax
mov qword [rcx + 0x10], rdi
test r13, r13
je 0x1800249b0
mov qword [r13], 0
test r14, r14
je 0x1800249c2
mov edx, 0x30
mov rcx, r14
call fcn.18015dea8
mov rax, qword [rsp + 0x90]
mov qword [0x180269810], rax
mov eax, ebx
mov r15, qword [rsp + 0x48]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret