Function at 0x140037358
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140086040]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r15d, 0x50
lea rax, [0x140037d78]
xor r13d, r13d
mov dword [rbp + 0xa0], r15d
xor ecx, ecx
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], r13
lea esi, [r15 - 0x10]
mov dword [rbp + 0xa4], esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xa0]
lea rax, str.XO_BASE
movdqa xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
mov qword [rbp + 0xe0], rax
movdqa xmmword [rbp + 0xd0], xmm1
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov rax, qword [rbp + 0xb8]
lea r8, str.Eulen
mov rdx, qword [rbp + 0xe0]
mov r9d, 0x80000000
mov qword [rsp + 0x58], r13
xor ecx, ecx
mov qword [rsp + 0x50], rax
lea eax, [rsi - 0x3b]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [rsi - 0x20]
mov qword [0x140086990], rax
mov rdi, rax
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov qword [0x140086998], rax
mov rbx, rax
lea r14d, [r15 - 0x4f]
test rax, rax
je 0x140037cc2
lea r12, [0x140086950]
mov r8d, esi
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov dword [0x140086978], r14d
lea rcx, [0x140086948]
mov qword [rsp + 0x30], rcx
mov r9, rdi
mov dword [0x140086968], r14d
mov rcx, rbx
mov dword [0x140086958], r13d
mov r8d, r14d
mov dword [0x14008697c], r14d
xor edx, edx
mov dword [0x140086980], r15d
mov dword [0x14008698c], r14d
mov rax, qword [rbx]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], esi
call qword [rax + 0x80]
test eax, eax
js 0x140037cbb
mov rcx, qword [0x140086990]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x140086990]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [0x140086940]
test rax, rax
je 0x140037558
add dword [rax + 0x3b0], r14d
mov ecx, 0x3e48
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140037574
xor edx, edx
mov rcx, rax
call fcn.140001418
jmp 0x140037577
mov rax, r13
cmp qword [0x140086940], r13
jne 0x140037587
mov qword [0x140086940], rax
mov rcx, rax
call fcn.140006d88
mov rdi, qword [0x140086940]
lea rdx, [0x14005e3c0]
movss xmm6, dword [0x140080e40]
xor eax, eax
and dword [rbp - 0x6c], eax
xorps xmm0, xmm0
and dword [rbp - 0x5c], eax
mov ecx, 0xffff
and dword [rbp - 0x58], eax
mov esi, 0x400
and dword [rbp - 0x54], eax
movaps xmm3, xmm6
and dword [rbp - 0x50], eax
mov r8d, 0x225bc
and dword [rbp - 0x40], eax
or dword [rdi + 8], esi
and dword [rbp + 0x24], r13d
and dword [rbp + 0x34], r13d
and dword [rbp + 0x38], r13d
and dword [rbp + 0x3c], r13d
and dword [rbp + 0x40], r13d
and dword [rbp + 0x50], r13d
movss xmm7, dword [0x140080dd4]
mov qword [rbp + 0x86], rax
mov qword [rbp - 0xa], rax
lea rax, [rbp - 0x80]
mov word [rbp + 0x64], cx
mov word [rbp - 0x2c], cx
mov rcx, qword [rdi + 0xa8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x10], r13
mov dword [rbp + 0x18], r13d
mov byte [rbp + 0x1c], r14b
mov dword [rbp + 0x20], r13d
mov qword [rbp + 0x48], r13
mov dword [rbp + 0x54], 0x7f7fffff
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x60], 0x3f800000
movups xmmword [rbp + 0x66], xmm0
mov qword [rbp + 0x90], r13
movups xmmword [rbp + 0x76], xmm0
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x28], r13
mov byte [rbp + 0x58], r14b
mov byte [rbp + 0x30], r14b
mov dword [rbp + 0x28], 3
mov dword [rbp + 0x2c], 3
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x78], r13d
mov dword [rbp - 0x70], r13d
mov dword [rbp - 0x68], 3
mov dword [rbp - 0x64], r14d
mov byte [rbp - 0x60], r13b
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x3c], 0x7f7fffff
mov byte [rbp - 0x38], r13b
mov dword [rbp - 0x34], r13d
mov dword [rbp - 0x30], 0x3f800000
movups xmmword [rbp - 0x2a], xmm0
mov qword [rbp], r13
movups xmmword [rbp - 0x1a], xmm0
mov byte [rbp - 0x74], r13b
call fcn.140026534
mov rcx, qword [rdi + 0xa8]
lea rax, [0x140080bd8]
mov qword [rsp + 0x28], rax
lea rdx, [0x14003fd20]
lea rax, [rbp + 0x10]
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
call fcn.140026718
mov rcx, qword [rdi + 0xa8]
call fcn.140026270
mov rax, qword [0x140086940]
test dword [rdi + 8], esi
je 0x14003770b
mov dword [rax + 0x164c], r13d
mov dword [rax + 0x1728], 0x3f800000
call fcn.14002b49c
mov rcx, qword [0x140086948]
lea rax, str.imgui_impl_dx9
mov rbx, qword [0x140086940]
mov qword [0x1400869d0], rcx
or dword [rbx + 0xc], 0x1008
mov qword [rbx + 0xe8], rax
mov rax, qword [rcx]
call qword [rax + 8]
test dword [rbx + 8], esi
je 0x140037792
mov rax, qword [0x140086940]
lea rcx, [fcn.14002b1a8]
mov qword [rax + 0x15f0], rcx
lea rcx, [fcn.14002b27c]
mov qword [rax + 0x15f8], rcx
lea rcx, [0x14002b2e0]
mov qword [rax + 0x1600], rcx
lea rcx, [0x14002b330]
mov qword [rax + 0x1608], rcx
lea rcx, [0x14002b470]
mov qword [rax + 0x1610], rcx
movdqa xmm8, xmmword [0x1400811d0]
xorps xmm0, xmm0
movdqa xmm11, xmmword [0x140081100]
movdqa xmm15, xmmword [0x140081070]
movdqa xmm6, xmmword [0x1400810d0]
movdqa xmm10, xmmword [0x140081020]
movdqa xmm14, xmmword [0x1400810c0]
movdqa xmm12, xmmword [0x1400810f0]
movdqa xmm13, xmmword [0x140081090]
movdqa xmm9, xmmword [0x1400810b0]
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rcx, [rbp + 0xf0]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140037837
lea rcx, [rbp + 0xf0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0xf0]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x140037bc5
cmp qword [0x1400869c0], r13
jne 0x140037845
call fcn.14002b068
call fcn.14002bb48
call fcn.140005ebc
mov rax, qword [0x140086940]
lea rdx, [rsp + 0x60]
xorps xmm0, xmm0
mov dword [rsp + 0x60], 0x41400000
mov ecx, r14d
mov dword [rsp + 0x64], 0x40c00000
mov dword [rax + 0x1654], 0x43c80000
mov dword [rax + 0x1658], 0x43a28000
mov qword [rax + 0x164c], 0x40c00000
mov dword [rax + 0x1668], 0x40c00000
mov dword [rax + 0x1680], 0x40c00000
mov dword [rax + 0x16ac], 0x40c00000
movdqu xmmword [rax + 0x174c], xmm0
movdqa xmm0, xmmword [0x140081140]
movdqu xmmword [rax + 0x170c], xmm0
movdqu xmmword [rax + 0x179c], xmm9
movdqu xmmword [rax + 0x17ac], xmm9
movdqu xmmword [rax + 0x17bc], xmm9
movdqu xmmword [rax + 0x171c], xmm13
movdqu xmmword [rax + 0x176c], xmm6
movdqu xmmword [rax + 0x178c], xmm6
movdqu xmmword [rax + 0x177c], xmm6
movdqu xmmword [rax + 0x184c], xmm6
movdqu xmmword [rax + 0x186c], xmm12
movdqu xmmword [rax + 0x185c], xmm12
movdqu xmmword [rax + 0x18ac], xmm14
movdqu xmmword [rax + 0x18dc], xmm10
movdqu xmmword [rax + 0x18fc], xmm10
movdqu xmmword [rax + 0x18ec], xmm10
movdqu xmmword [rax + 0x172c], xmm6
movdqu xmmword [rax + 0x17dc], xmm15
movdqu xmmword [rax + 0x17ec], xmm8
movdqu xmmword [rax + 0x180c], xmm8
movdqu xmmword [rax + 0x187c], xmm11
movdqu xmmword [rax + 0x189c], xmm11
movdqu xmmword [rax + 0x188c], xmm11
movdqu xmmword [rax + 0x181c], xmm8
movdqu xmmword [rax + 0x16fc], xmm8
call fcn.14000312c
mov rax, qword [0x140086940]
lea rcx, [rsp + 0x68]
movdqu xmm0, xmmword [rax + 0x170c]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1640]
movss dword [rsp + 0x74], xmm0
call fcn.140002c3c
mov edx, eax
xor ecx, ecx
call fcn.140002f50
call fcn.1400371f0
mov rdx, rax
lea rcx, str.EulenWindow
mov r8d, 0x22
call fcn.14000b9ec
mov ecx, r14d
call fcn.140003074
call fcn.1400386a0
call fcn.14000df00
mov ecx, r14d
call fcn.1400031b8
call fcn.1400371f0
cmp byte [rax], r13b
je 0x140037cb2
call fcn.140007e04
mov rcx, qword [0x140086948]
mov r9d, 3
mov dword [rsp + 0x30], r13d
xor r8d, r8d
movss dword [rsp + 0x28], xmm7
xor edx, edx
mov dword [rsp + 0x20], r13d
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x140086948]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x140037a90
call fcn.140008264
mov rax, qword [0x140086940]
mov rcx, qword [rax + 0x1d40]
mov rdx, qword [rcx]
add rdx, 0xb0
mov al, byte [rdx]
neg al
sbb rcx, rcx
and rcx, rdx
call fcn.14002a93c
mov rcx, qword [0x140086948]
mov rax, qword [rcx]
call qword [rax + 0x150]
test dword [rdi + 8], esi
je 0x140037b70
call fcn.140015310
mov rbx, qword [0x140086940]
mov r12d, r14d
mov eax, dword [rbx + 0x1630]
lea rsi, [rbx + 0x1638]
cmp eax, r14d
jle 0x140037b0c
mov r15d, 8
mov rax, qword [rsi]
mov r14, qword [r15 + rax]
test byte [r14 + 4], 0x80
jne 0x140037af4
mov rax, qword [rbx + 0x15c0]
test rax, rax
je 0x140037ae1
xor edx, edx
mov rcx, r14
call rax
mov rax, qword [rbx + 0x1608]
test rax, rax
je 0x140037af4
xor edx, edx
mov rcx, r14
call rax
mov eax, dword [rbx + 0x1630]
mov r14d, 1
add r12d, r14d
add r15, 8
cmp r12d, eax
jl 0x140037ac0
mov r12d, r14d
cmp eax, r14d
jle 0x140037b64
mov r14d, 8
mov rax, qword [rsi]
mov r15, qword [r14 + rax]
test byte [r15 + 4], 0x80
jne 0x140037b4e
mov rax, qword [rbx + 0x15c8]
test rax, rax
je 0x140037b3b
xor edx, edx
mov rcx, r15
call rax
mov rax, qword [rbx + 0x1610]
test rax, rax
je 0x140037b4e
xor edx, edx
mov rcx, r15
call rax
inc r12d
add r14, 8
cmp r12d, dword [rbx + 0x1630]
jl 0x140037b1a
mov r14d, 1
lea r12, [0x140086950]
mov esi, 0x400
mov rcx, qword [0x140086948]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r13
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x140037bc5
mov rcx, qword [0x140086948]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x140037bc5
call fcn.14002b0dc
mov rcx, qword [0x140086948]
mov rdx, r12
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.14002b068
cmp dword [rbp + 0xf8], 0x12
jne 0x1400377fa
call fcn.1400158a4
call fcn.14002b0dc
mov rcx, qword [0x1400869d0]
test rcx, rcx
je 0x140037bf5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400869d0], r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, rax
lea rcx, str.ImGui_Platform
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov rbx, qword [0x140086940]
mov rcx, rbx
mov qword [0x1400869e8], r13
call fcn.140006f34
cmp qword [0x140086940], rbx
jne 0x140037c33
mov qword [0x140086940], r13
test rbx, rbx
je 0x140037c5b
mov rcx, rbx
call fcn.14001cedc
mov rax, qword [0x140086940]
test rax, rax
je 0x140037c52
dec dword [rax + 0x3b0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x140086948]
test rcx, rcx
je 0x140037c74
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140086948], r13
mov rcx, qword [0x140086998]
test rcx, rcx
je 0x140037c8d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140086998], r13
mov rcx, qword [0x140086990]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
xor eax, eax
jmp 0x140037d0e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rbx, qword [0x140086998]
mov rcx, qword [0x140086948]
test rcx, rcx
je 0x140037ce2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [0x140086998]
mov qword [0x140086948], r13
test rbx, rbx
je 0x140037cf7
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov qword [0x140086998], r13
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov eax, r14d
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140039610
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret