Function at 0x180069670
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x1803490c0]
xor rax, rsp
mov qword [rsp + 0x48], rax
lea rcx, str.opengl32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
xorps xmm0, xmm0
xor eax, eax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rax
movups xmmword [rsp + 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 0x18
lea r8, [rsp + 0x28]
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1800698c4
cmp qword [rsp + 0x28], 0
je 0x1800698c4
lea rdx, str.wglSwapBuffers
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18034cdc8], rax
test rax, rax
je 0x1800698c4
mov ecx, 0x38
call fcn.180096120
mov qword [rsp + 0x20], rax
mov rbx, rax
mov rcx, qword [0x18034cdc8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
mov qword [rbx + 0x30], rax
lea rax, [0x180068130]
mov qword [rbx + 8], rax
mov word [rbx], 1
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov dword [rbx + 0x28], 0x25ff
mov dword [rbx + 0x2c], 0x1010000
mov dword [rbx + 0x30], 0x1010101
mov word [rbx + 0x34], 0x101
call fcn.18006a700
mov rcx, qword [rbx + 0x10]
mov edx, 0xe
mov r8d, 0x40
mov byte [rbx + 1], al
call fcn.18006df30
mov qword [rbx + 0x20], rax
test rax, rax
je 0x180069883
mov rcx, qword [rbx + 8]
mov r9d, 0x40
mov qword [rbx + 0x2e], rcx
mov r8d, 0x3000
movsd xmm0, qword [rbx + 0x28]
movsd qword [rax], xmm0
mov ecx, dword [rbx + 0x30]
mov dword [rax + 8], ecx
movzx ecx, word [rbx + 0x34]
mov word [rax + 0xc], cx
xor ecx, ecx
movzx edx, byte [rbx + 1]
add rdx, 0xe
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x180069883
mov qword [0x18034cde0], rax
movzx r8d, byte [rbx + 1]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x60], rdi
call fcn.1800c3a80
movzx edx, byte [rbx + 1]
lea r9, [rsp + 0x20]
mov rcx, qword [rbx + 0x10]
mov r8d, 0x40
add rcx, rdx
mov qword [rbx + 0x2e], rcx
mov rcx, qword [rbx + 0x18]
movsd xmm0, qword [rbx + 0x28]
movsd qword [rcx + rdx], xmm0
mov eax, dword [rbx + 0x30]
mov dword [rcx + rdx + 8], eax
movzx eax, word [rbx + 0x34]
mov word [rcx + rdx + 0xc], ax
mov edx, 5
mov edi, dword [rbx + 0x20]
sub edi, dword [rbx + 0x10]
mov rcx, qword [rbx + 0x10]
sub edi, 5
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18006987e
mov rax, qword [rbx + 0x10]
lea r9, [rsp + 0x20]
mov edx, 5
mov byte [rax], 0xe9
mov rax, qword [rbx + 0x10]
mov dword [rax + 1], edi
mov r8d, dword [rsp + 0x20]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov byte [rbx], 0
mov rdi, qword [rsp + 0x60]
cmp byte [rbx], 0
mov qword [0x18034cdc0], rbx
jne 0x1800698c4
mov rcx, qword [0x18034cee8]
lea r8, [0x180068050]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov qword [0x18034cdb8], rax
mov al, 1
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.180095fe0
add rsp, 0x50
pop rbx
ret
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.180095fe0
add rsp, 0x50
pop rbx
ret