Function at 0x180002fb0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
mov rax, qword [0x18003d3b0]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rcx, qword [0x18003ed70]
xor ebx, ebx
mov dword [rbp + 0x3f], 0xb000
mov dword [rbp + 0x43], 0xa100
mov dword [rbp + 7], ebx
lea edx, [rbx - 0x10]
mov qword [rbp + 0xf], 1
mov qword [rbp + 0x27], 2
mov dword [rbp - 9], 0x1c
mov dword [rbp + 0xb], 0x20
mov qword [rbp + 0x17], rcx
mov dword [rbp + 3], 1
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
xor r9d, r9d
mov qword [rbp - 5], rbx
shr rax, 0x1f
lea edx, [rbx + 1]
movzx ecx, al
mov dword [rbp + 0x23], ebx
not cl
mov dword [rbp - 0x19], 1
and ecx, 1
mov qword [rbp - 0x15], 1
lea rax, [0x180042820]
mov dword [rbp + 0x1f], ecx
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rax, [rbp + 0x3b]
mov dword [rbp - 0xd], 1
mov qword [rsp + 0x50], rax
xor ecx, ecx
lea rax, [0x180042818]
mov qword [rsp + 0x48], rax
lea rax, [0x180042828]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x19]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x3f]
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
jns 0x1800030d5
mov rcx, qword [0x18003ed70]
lea r9d, [rbx + 0x10]
lea r8, str.Fatal_Error
lea rdx, str.Failed_to_create_device_and_swapchain.
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, 0x80004005
jmp 0x180003284
mov rax, qword [0x180042828]
mov rcx, qword [rax]
mov rax, qword [0x180042818]
mov qword [0x18003ed10], rcx
mov rcx, qword [rax]
mov rax, qword [0x180042820]
mov qword [0x18003ed08], rcx
mov rcx, qword [rax]
mov qword [0x18003ed00], rcx
call fcn.1800294c0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed10]
lea r8, [0x18003ed38]
lea rdx, [0x180002c10]
mov rcx, qword [rcx + 0x40]
call fcn.1800295f0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed10]
mov rcx, qword [rcx + 0x40]
call fcn.180029ad0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed00]
lea r8, [0x18003ed30]
lea rdx, [0x180002ec0]
mov rcx, qword [rcx + 0x60]
call fcn.1800295f0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed00]
mov rcx, qword [rcx + 0x60]
call fcn.180029ad0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed08]
lea r8, [0x18003ed28]
lea rdx, [0x180002ed0]
mov rcx, qword [rcx + 0xc0]
call fcn.1800295f0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed08]
mov rcx, qword [rcx + 0xc0]
call fcn.180029ad0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed00]
lea r8, [0x18003ed20]
lea rdx, [0x180002f20]
mov rcx, qword [rcx + 0x40]
call fcn.1800295f0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed00]
mov rcx, qword [rcx + 0x40]
call fcn.180029ad0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed10]
lea r8, [0x18003ed18]
lea rdx, [0x180002fa0]
mov rcx, qword [rcx + 0x190]
call fcn.1800295f0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed10]
mov rcx, qword [rcx + 0x190]
call fcn.180029ad0
test eax, eax
jne 0x18000327f
mov rcx, qword [0x18003ed38]
lea r9, [rbp + 0x37]
lea edx, [rax + 2]
lea r8d, [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, qword [0x18003ece0]
lea r9, [rbp + 0x37]
mov edx, 2
lea r8d, [rdx + 0x3e]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x180003284
mov eax, 1
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.18002d2d0
mov rbx, qword [rsp + 0xe0]
add rsp, 0xd0
pop rbp
ret