Function at 0x140001a50
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 0x678]
sub rsp, 0x778
mov edx, 0x3000000
mov ecx, 0x1000000
call fcn.140036f54
mov edx, 0x8001f
lea ecx, [rdx - 0x18]
call fcn.140036f54
lea rax, [0x1400148d0]
mov qword [0x140252240], 0x200000
mov qword [0x1402522f8], rax
lea rdx, [0x14005c55c]
lea rax, [0x1400148f0]
xor edi, edi
lea rcx, str.log.txt
mov qword [0x140252298], rax
mov qword [0x1402522a0], rdi
call fcn.14002af8c
mov qword [0x140252ad8], rax
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, 0x20
mov qword [rbp - 8], rbx
mov dword [rax + rbx], edi
mov eax, 0x10
cmp byte [rax + rbx], dil
jne 0x140001afb
call fcn.140023368
mov eax, 0x30
lea rcx, [0x14005b268]
mov dword [rax + rbx], edi
mov dword [rax + rbx + 0x104], edi
call fcn.140014910
lea rcx, str.startup
call fcn.1400152f0
lea r9, str.Release
mov r8d, 0x40
lea rdx, str.Windows
lea rcx, str.build:__s__i_bit__s
call fcn.140014910
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14000487f
mov rax, qword [rbp + 0x6b0]
lea rcx, [rbp + 0x6b8]
mov qword [0x140253428], rax
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000487f
mov rax, qword [rbp + 0x6b8]
mov qword [0x140253430], rax
mov dword [0x140253420], edi
call fcn.140024c24
mov edx, eax
mov ebx, eax
lea rcx, str.global_rand_seed___u
call fcn.140014910
movabs rcx, 0x5851f42d4c957f2d
mov qword [0x140252c10], 1
mov eax, ebx
mov edx, 0x4000000
imul rax, rcx
movabs rcx, 0x5851f42d4c957f2e
mov r8d, 1
add rax, rcx
lea rcx, [0x140066160]
mov qword [0x140252c08], rax
call qword [0x140066160]
mov qword [rbp + 0x280], rax
mov rbx, rax
test rax, rax
je 0x140004854
mov qword [rsp + 0x768], r12
lea rax, [fcn.140016ff0]
mov qword [rsp + 0x758], r15
lea r12, [0x140017000]
lea r15, [0x140016f20]
mov qword [0x140251ea8], rax
mov edx, 0x40000
mov qword [0x140251ea0], r15
mov r8d, 8
mov qword [0x140251eb0], r12
lea rcx, [0x140066160]
mov qword [0x140251eb8], rbx
mov qword [0x140251ec0], rbx
mov dword [0x140251ec8], 0x4000000
mov qword [0x140251ed0], 0x4000000
mov dword [0x140253438], 0x4000
mov dword [0x1402536ec], 0x80000
mov dword [0x1402536f0], edi
mov dword [0x140253440], edi
mov dword [0x1402536d8], edi
mov dword [0x14025343c], edi
mov dword [0x1402536e8], edi
mov dword [0x140253444], edi
mov dword [0x140253448], edi
mov dword [0x140253708], edi
call qword [0x140066160]
mov edx, dword [0x1402536ec]
lea rcx, [0x140066160]
mov r8d, 1
mov qword [0x1402536f8], rax
call qword [0x140066160]
lea r9, [rbp + 0x2b0]
mov byte [rbp + 0x2b0], dil
lea r8, [0x140023210]
mov qword [0x1402536e0], rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayMonitors]
movsx edx, byte [rbp + 0x2b0]
lea rcx, str.found__d_monitors
call fcn.140014910
movzx r8d, word [rbp + 0x2ba]
lea rax, [0x14005b2e4]
movzx ecx, word [rbp + 0x2bc]
mov qword [rbp + 0x238], rax
movsx eax, word [rbp + 0x2be]
cdq
mov byte [rbp + 0x254], dil
sub eax, edx
mov byte [rbp + 0x248], dil
sar eax, 1
mov dword [rbp + 0x244], 0x3840640
mov dword [rbp + 0x24c], 3
mov dword [rbp + 0x250], 3
lea r9d, [r8 + rax]
mov eax, 0x320
sub r9w, ax
movsx eax, word [rbp + 0x2c0]
cdq
sub eax, edx
mov edx, 0x1c2
sar eax, 1
add ax, cx
sub ax, dx
lea rdx, [0x140251e78]
cmp r9w, r8w
cmovl r9w, r8w
cmp ax, cx
mov word [rbp + 0x240], r9w
cmovl ax, cx
lea rcx, [rbp + 0x238]
mov word [rbp + 0x242], ax
call fcn.140020f00
test al, al
jne 0x140001dd6
lea rcx, str.failed_to_create_the_window
call fcn.140015000
mov r13, 0xffffffffffffffff
jmp 0x1400047f9
lea rdx, [0x14005b858]
lea rcx, [0x1400677e0]
call fcn.140017960
cmp byte [0x140067811], dil
je 0x140004795
cmp byte [0x140067816], dil
je 0x140004795
mov qword [rsp + 0x770], rsi
mov qword [rsp + 0x760], r14
movaps xmmword [rsp + 0x740], xmm6
movaps xmmword [rsp + 0x6f0], xmm11
movaps xmmword [rsp + 0x6c0], xmm14
cmp byte [rbp + 0x254], dil
je 0x140001eb4
lea rdx, [rbp + 0x6a0]
mov ecx, 0x821e
call qword [sym.imp.OPENGL32.dll_glGetIntegerv]
test byte [rbp + 0x6a0], 2
je 0x140001e8a
cmp byte [0x140067810], dil
je 0x140001e8a
cmp qword [0x140251e58], rdi
je 0x140001e8a
mov ecx, 0x92e0
call qword [sym.imp.OPENGL32.dll_glEnable]
mov ecx, 0x8242
call qword [sym.imp.OPENGL32.dll_glEnable]
xor edx, edx
lea rcx, [0x140017c50]
call qword [0x140251e58]
jmp 0x140001e96
lea rcx, str.requested_an_OpenGL_context__but_the_extension_isnt_supported
call fcn.140015000
lea rdx, [rbp + 0x6b0]
mov qword [rbp + 0x6b0], pe_nt_image_headers64
lea rcx, str.after_OGL_debug_callback
call fcn.140017ca0
mov ecx, 0x1f02
call qword [sym.imp.OPENGL32.dll_glGetString]
mov ecx, 0x1f02
mov rbx, rax
call qword [sym.imp.OPENGL32.dll_glGetString]
mov rcx, rax
lea r9, [rbp + 0x6a0]
lea r8, [rbp + 0x6b0]
lea rdx, str._i._i
call fcn.140012480
mov edx, 3
lea rcx, str.requested_OpenGL_version:__i._i
mov r8d, edx
call fcn.140014910
mov r8d, dword [rbp + 0x6a0]
lea rcx, str.got_OpenGL_version:__i._i____s__
mov edx, dword [rbp + 0x6b0]
mov r9, rbx
call fcn.140014910
mov ecx, 0x8b8c
call qword [sym.imp.OPENGL32.dll_glGetString]
mov rdx, rax
lea rcx, str.GLSL_version:__s
call fcn.140014910
mov ecx, 0x1f00
call qword [sym.imp.OPENGL32.dll_glGetString]
mov rdx, rax
lea rcx, str.OpenGL_vendor:___s_
call fcn.140014910
mov ecx, 0x1f01
call qword [sym.imp.OPENGL32.dll_glGetString]
mov rdx, rax
lea rcx, str.OpenGL_renderer:___s_
call fcn.140014910
mov ecx, 0xbd0
call qword [sym.imp.OPENGL32.dll_glDisable]
mov edx, 1
mov ecx, 0xd05
call qword [sym.imp.OPENGL32.dll_glPixelStorei]
mov edx, 1
mov ecx, 0xcf5
call qword [sym.imp.OPENGL32.dll_glPixelStorei]
mov ecx, 0x900
call qword [sym.imp.OPENGL32.dll_glFrontFace]
movsd xmm0, qword [0x14005dc98]
call qword [sym.imp.OPENGL32.dll_glClearDepth]
mov ecx, 0x884f
call qword [sym.imp.OPENGL32.dll_glEnable]
mov ecx, 0x809d
call qword [sym.imp.OPENGL32.dll_glDisable]
movss xmm11, dword [0x14005dc64]
xorps xmm1, xmm1
movaps xmm3, xmm11
movaps xmm2, xmm11
movaps xmm0, xmm11
xorps xmm14, xmm14
call qword [sym.imp.OPENGL32.dll_glClearColor]
mov ecx, 0xb44
mov byte [0x14025211e], 1
call qword [sym.imp.OPENGL32.dll_glEnable]
mov ecx, 0x405
mov dword [0x140252ae0], 0x405
call qword [sym.imp.OPENGL32.dll_glCullFace]
mov ecx, 0xb71
mov byte [0x14025211f], 1
call qword [sym.imp.OPENGL32.dll_glEnable]
mov cl, 1
mov byte [0x14025211d], 1
call qword [sym.imp.OPENGL32.dll_glDepthMask]
mov ecx, 0x203
mov dword [0x140252c00], 0x203
call qword [sym.imp.OPENGL32.dll_glDepthFunc]
mov ecx, 0xbe2
mov byte [0x14025211c], 1
call qword [sym.imp.OPENGL32.dll_glEnable]
mov edx, 0x303
mov dword [0x140252b28], 1
mov ecx, 1
mov dword [0x140252b10], 0x303
call qword [sym.imp.OPENGL32.dll_glBlendFunc]
mov dword [rbp + 0x6a8], edi
lea rdx, [rbp + 0x6a8]
mov ecx, 1
call qword [0x140251cf0]
mov ecx, dword [rbp + 0x6a8]
call qword [0x140251d08]
lea rcx, [0x1400677e0]
call fcn.140018480
lea rax, [0x1400019d0]
mov qword [rbp + 0x158], pe_nt_image_headers64
mov qword [0x140251e90], rax
lea rdx, str._.6f
lea rax, [0x140001a20]
mov byte [rbp + 0x2b0], dil
mov qword [0x140251e68], rax
lea rcx, [rbp + 0x160]
lea rax, [fcn.140001a40]
mov byte [rbp + 0x164], dil
mov qword [0x140251e70], rax
mov r8d, 5
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x150], rax
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov eax, dword [rbp + 0x158]
mov byte [rbp + 0x164], dil
sub eax, edx
mov rdi, rdx
movsxd rbx, eax
add rdi, qword [rbp + 0x150]
lea rdx, str.res_
movsxd r8, eax
mov rcx, rdi
mov byte [rbx + rdi - 1], 0
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], 0
test al, al
jne 0x140002162
add dword [rbp + 0x15c], 4
jmp 0x140002170
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov rdx, qword [str.dev_mono14]
lea rcx, [rbp + 0x50]
call fcn.14001e130
lea rdx, str..font
mov rsi, rax
movsxd r8, dword [rax + 0x10c]
mov ecx, dword [rax + 0x108]
mov rdi, qword [rax + 0x100]
sub ecx, r8d
add rdi, r8
movsxd rbx, ecx
movsxd r8, ecx
mov rcx, rdi
mov byte [rbx + rdi - 1], 0
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], 0
test al, al
jne 0x1400021ce
add dword [rsi + 0x10c], 5
jmp 0x1400021dc
mov eax, dword [rsi + 0x108]
dec eax
mov dword [rsi + 0x10c], eax
mov r8d, pe_nt_image_headers64
mov byte [rbp + 0x14f], 0
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
lea rcx, [rbp + 0x50]
call fcn.140037260
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x288]
call fcn.14001e1d0
xor r14d, r14d
mov qword [rbp + 0x158], pe_nt_image_headers64
lea rdx, str._.6f
mov byte [rbp + 0x164], r14b
lea rcx, [rbp + 0x160]
movups xmm0, xmmword [rax]
lea r8d, [r14 + 5]
movups xmmword [0x14006da70], xmm0
movsd xmm1, qword [rax + 0x10]
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x150], rax
movsd qword [0x14006da80], xmm1
mov byte [rbp + 0x2b0], 0
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov eax, dword [rbp + 0x158]
mov rdi, rdx
add rdi, qword [rbp + 0x150]
sub eax, edx
movsxd rbx, eax
lea rdx, str.res_
mov byte [rbp + 0x164], r14b
mov rcx, rdi
movsxd r8, eax
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
test al, al
jne 0x1400022b5
add dword [rbp + 0x15c], 4
jmp 0x1400022c3
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov rdx, qword [str.dev_mono12]
lea rcx, [rbp + 0x50]
call fcn.14001e130
lea rdx, str..font
mov rsi, rax
movsxd r8, dword [rax + 0x10c]
mov ecx, dword [rax + 0x108]
mov rdi, qword [rax + 0x100]
sub ecx, r8d
add rdi, r8
movsxd rbx, ecx
movsxd r8, ecx
mov rcx, rdi
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
test al, al
jne 0x140002321
add dword [rsi + 0x10c], 5
jmp 0x14000232f
mov eax, dword [rsi + 0x108]
dec eax
mov dword [rsi + 0x10c], eax
mov r8d, pe_nt_image_headers64
mov byte [rbp + 0x14f], r14b
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
lea rcx, [rbp + 0x50]
call fcn.140037260
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x288]
call fcn.14001e1d0
mov r8d, 5
mov qword [rbp + 0x158], pe_nt_image_headers64
lea rdx, str._.6f
mov byte [rbp + 0x164], r14b
lea rcx, [rbp + 0x160]
movups xmm0, xmmword [rax]
movups xmmword [0x14006da88], xmm0
movsd xmm1, qword [rax + 0x10]
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x150], rax
movsd qword [0x14006da98], xmm1
mov byte [rbp + 0x2b0], r14b
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov eax, dword [rbp + 0x158]
mov rdi, rdx
add rdi, qword [rbp + 0x150]
sub eax, edx
movsxd rbx, eax
lea rdx, str.res_
mov byte [rbp + 0x164], r14b
mov rcx, rdi
movsxd r8, eax
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
test al, al
jne 0x140002407
add dword [rbp + 0x15c], 4
jmp 0x140002415
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov rdx, qword [str.dev_mono32]
lea rcx, [rbp + 0x50]
call fcn.14001e130
lea rdx, str..font
mov rsi, rax
movsxd r8, dword [rax + 0x10c]
mov ecx, dword [rax + 0x108]
mov rdi, qword [rax + 0x100]
sub ecx, r8d
add rdi, r8
movsxd rbx, ecx
movsxd r8, ecx
mov rcx, rdi
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
test al, al
jne 0x140002473
add dword [rsi + 0x10c], 5
jmp 0x140002481
mov eax, dword [rsi + 0x108]
dec eax
mov dword [rsi + 0x10c], eax
mov r8d, pe_nt_image_headers64
mov byte [rbp + 0x14f], r14b
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
lea rcx, [rbp + 0x50]
call fcn.140037260
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x288]
call fcn.14001e1d0
mov edx, 8
lea rcx, str.MAX_LIGHTS
movups xmm0, xmmword [rax]
movups xmmword [0x14006daa0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14006dab0], xmm1
call fcn.14001be90
mov edx, 4
lea rcx, str.NUM_SHAD_SPLITS
call fcn.14001be90
mov edx, 0x1000
lea rcx, str.SHAD_MAP_SIZE
call fcn.14001be90
mov edx, 0x64
lea rcx, str.MAX_BONES
call fcn.14001be90
mov edx, 0x96
lea rcx, str.MAX_VERT_GROUPS
call fcn.14001be90
mov edx, 0x20
lea rcx, str.MAX_TRAIL_SEGS
call fcn.14001be90
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0x6b0]
lea r9, [0x14005b858]
sub rax, qword [0x140253430]
lea rdx, [rsp + 0x70]
xorps xmm0, xmm0
mov ecx, 0x14
cvtsi2sd xmm0, qword [0x140253428]
mov dword [rsp + 0x68], ecx
mov qword [rbp - 0x10], rcx
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
lea rax, str.pos.vert
mov qword [rsp + 0x60], rax
lea rax, [0x140067fa0]
divsd xmm6, xmm0
movaps xmm0, xmmword [rsp + 0x60]
mov dword [rsp + 0x68], ecx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
call fcn.14001db30
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0x6b0]
lea rdx, str._.6f
sub rax, qword [0x140253430]
lea rcx, [rbp + 0x160]
xorps xmm1, xmm1
mov qword [rbp + 0x158], pe_nt_image_headers64
xorps xmm0, xmm0
mov byte [rbp + 0x50], r14b
cvtsi2sd xmm0, qword [0x140253428]
mov r8d, 5
mov byte [rbp + 0x164], r14b
cvtsi2sd xmm1, rax
lea rax, [rbp + 0x50]
mov qword [rbp + 0x150], rax
divsd xmm1, xmm0
subsd xmm1, xmm6
mulsd xmm1, qword [0x14005dce8]
cvtpd2ps xmm6, xmm1
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov rdi, rdx
mov byte [rbp + 0x164], r14b
add rdi, qword [rbp + 0x150]
mov byte [rbp + 0x162], 0x32
mov eax, dword [rbp + 0x158]
mov rcx, rdi
sub eax, edx
lea rdx, str.took
movsxd rbx, eax
movsxd r8, eax
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
mov ecx, dword [rbp + 0x158]
test al, al
jne 0x140002693
mov eax, dword [rbp + 0x15c]
add eax, 5
jmp 0x140002696
lea eax, [rcx - 1]
sub ecx, eax
mov dword [rbp + 0x15c], eax
movsxd rdx, ecx
lea r8, [rbp + 0x160]
cvtps2pd xmm3, xmm6
movsxd rcx, eax
add rcx, qword [rbp + 0x150]
movq r9, xmm3
call fcn.14001e0d0
mov r8d, dword [rbp + 0x158]
lea rdx, str._ms_to_load_shaders.
add eax, dword [rbp + 0x15c]
lea ecx, [r8 - 1]
cmp eax, ecx
cmovge eax, ecx
sub r8d, eax
movsxd rdi, eax
add rdi, qword [rbp + 0x150]
movsxd rbx, r8d
mov rcx, rdi
mov dword [rbp + 0x15c], eax
movsxd r8, r8d
mov byte [rbx + rdi - 1], r14b
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], r14b
test al, al
jne 0x140002719
add dword [rbp + 0x15c], 0x14
jmp 0x140002727
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov rcx, qword [rbp + 0x150]
call fcn.140014910
lea rcx, [rbp + 0x50]
mov byte [rbp + 0x14f], r14b
mov r8d, pe_nt_image_headers64
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
call fcn.140037260
mov rax, qword [0x140251ea0]
mov byte [rbp + 0x14f], r14b
cmp rax, r15
jne 0x1400028d9
mov rdx, qword [0x140251ec0]
mov ecx, 2
mov r8d, dword [0x140251ec0]
mov rax, rdx
sub r8d, dword [0x140251eb8]
and eax, 1
sub rcx, rax
test rax, rax
cmove rcx, rax
mov rax, qword [0x140251ed0]
cmp rax, rcx
jb 0x1400028d4
sub rax, rcx
cmp rax, 0x2fff4
jb 0x1400028d4
lea rsi, [rcx + rdx]
mov qword [0x140251ed0], rax
mov qword [0x140251ec0], rsi
test rsi, rsi
je 0x1400028d4
lea rdx, [rax - 0x2fff4]
mov ecx, 4
lea r9, [rsi + 0x2fff4]
mov rax, r9
and eax, 3
sub rcx, rax
test rax, rax
cmove rcx, rax
cmp rdx, rcx
jb 0x14000282b
sub rdx, rcx
cmp rdx, 4
jb 0x14000282b
lea rax, [rcx + r9]
mov qword [0x140251ed0], rdx
mov qword [0x140251ec0], rax
test rax, rax
je 0x14000282b
mov dword [rax], r8d
add qword [0x140251ec0], 4
sub qword [0x140251ed0], 4
jmp 0x1400028f9
movsxd rax, r8d
add rax, qword [0x140251eb8]
mov qword [0x140251ec0], rax
mov eax, dword [0x140251ec8]
sub eax, r8d
cdqe
mov qword [0x140251ed0], rax
mov rsi, r14
mov r10d, r14d
lea eax, [r10 + r10]
movsxd rbx, eax
call fcn.1400180b0
mov edx, eax
mov ecx, 0x8893
mov edi, eax
call fcn.140018260
mov r9d, 0x88e4
mov r8, rsi
mov rdx, rbx
lea ecx, [r9 - 0x51]
call fcn.140018320
mov rax, qword [0x140251eb0]
mov dword [0x1400677d4], edi
cmp rax, r12
jne 0x140002955
test rsi, rsi
je 0x140002961
mov rax, qword [0x140251ec0]
movsxd rcx, dword [rax - 4]
mov rax, rcx
add rax, qword [0x140251eb8]
mov qword [0x140251ec0], rax
mov eax, dword [0x140251ec8]
sub eax, ecx
cdqe
mov qword [0x140251ed0], rax
jmp 0x140002961
mov rsi, r14
jmp 0x1400028f0
mov edx, 0x2fff4
lea rcx, [0x140251ea0]
mov r8d, 2
call rax
mov rsi, rax
test rsi, rsi
je 0x14000284e
mov r10d, 0x17ffa
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x68], r10d
lea r8, [rsi + 4]
mov r9d, r14d
movzx edx, r9w
lea r8, [r8 + 0xc]
shl dx, 2
inc r9d
mov word [r8 - 0x10], dx
lea eax, [rdx + 1]
lea ecx, [rdx + 3]
mov word [r8 - 0xe], ax
add dx, 2
mov word [r8 - 0xc], cx
mov word [r8 - 8], dx
mov word [r8 - 0xa], ax
mov word [r8 - 6], cx
cmp r9d, 0x3fff
jl 0x140002910
jmp 0x140002854
mov rdx, rsi
lea rcx, [0x140251ea0]
call rax
mov dword [rbp - 0x50], 0xbf800000
xor edi, edi
mov dword [rbp - 0x4c], 0xbf800000
mov qword [rbp - 0x48], r14
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x2b0], xmm0
mov dword [rbp - 0x40], 0x3f800000
mov dword [rbp - 0x3c], 0xbf800000
mov dword [rbp - 0x38], edi
mov dword [rbp - 0x34], 0xffff
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbp + 0x2d0], xmm0
movups xmmword [rbp + 0x2e0], xmm0
mov dword [rbp - 0x30], 0xbf800000
mov qword [rbp - 0x2c], 0x3f800000
mov dword [rbp - 0x24], 0xffff0000
movups xmm1, xmmword [rbp - 0x30]
mov dword [rbp - 0x20], 0x3f800000
mov qword [rbp - 0x1c], 0x3f800000
mov dword [rbp - 0x14], 0xffffffff
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp + 0x300], xmm0
movups xmmword [rbp + 0x2c0], xmm1
movups xmmword [rbp + 0x2f0], xmm1
call fcn.1400180b0
mov edx, eax
mov ecx, 0x8892
mov ebx, eax
call fcn.140018260
mov r9d, 0x88e4
lea r8, [rbp + 0x2b0]
lea edx, [rdi + 0x60]
lea ecx, [r9 - 0x52]
call fcn.140018320
lea rcx, [0x14006d950]
mov dword [0x1400677c4], ebx
mov r15, rcx
lea r12, [0x14005b860]
mov esi, edi
lea r13, [rdi - 1]
nop dword [rax]
mov rax, qword [r12]
test rax, rax
je 0x140002c29
cmp byte [rax], 0
je 0x140002c29
lea rax, [rbp + 0x50]
mov qword [rbp + 0x158], pe_nt_image_headers64
mov r8d, 5
mov qword [rbp + 0x150], rax
lea rdx, str._.6f
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x160]
mov byte [rbp + 0x164], 0
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov eax, dword [rbp + 0x158]
mov rdi, rdx
add rdi, qword [rbp + 0x150]
sub eax, edx
movsxd rbx, eax
lea rdx, str.res_
mov byte [rbp + 0x164], 0
mov rcx, rdi
movsxd r8, eax
mov byte [rbx + rdi - 1], 0
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], 0
mov r8d, dword [rbp + 0x158]
test al, al
jne 0x140002aea
mov edx, dword [rbp + 0x15c]
add edx, 4
jmp 0x140002aee
lea edx, [r8 - 1]
mov r14, qword [r12]
sub r8d, edx
movsxd rdi, edx
add rdi, qword [rbp + 0x150]
movsxd rbx, r8d
mov rcx, rdi
mov dword [rbp + 0x15c], edx
mov rdx, r14
movsxd r8, r8d
mov byte [rbx + rdi - 1], 0
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], 0
mov r8d, dword [rbp + 0x158]
test al, al
jne 0x140002b47
mov rax, r13
inc rax
cmp byte [r14 + rax], 0
jne 0x140002b33
mov edx, dword [rbp + 0x15c]
add edx, eax
jmp 0x140002b4b
lea edx, [r8 - 1]
sub r8d, edx
movsxd rdi, edx
add rdi, qword [rbp + 0x150]
movsxd rbx, r8d
mov rcx, rdi
mov dword [rbp + 0x15c], edx
lea rdx, str..mesh
movsxd r8, r8d
mov byte [rbx + rdi - 1], 0
call fcn.140037260
movzx eax, byte [rbx + rdi - 1]
mov byte [rbx + rdi - 1], 0
test al, al
jne 0x140002b8f
add dword [rbp + 0x15c], 5
jmp 0x140002b9d
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov rcx, qword [rbp + 0x150]
lea rdx, [0x14005c404]
call fcn.14002af8c
mov rbx, rax
movsxd rdi, esi
lea rax, [0x14006d950]
mov rdx, rbx
lea rcx, [rdi + rdi*8]
lea rcx, [rax + rcx*8]
call fcn.1400170e0
test rbx, rbx
je 0x140002bda
mov rcx, rbx
call fcn.14002b124
mov r8d, pe_nt_image_headers64
mov byte [rbp + 0x14f], 0
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
lea rcx, [rbp + 0x50]
call fcn.140037260
cmp dword [r15], 0
jbe 0x1400045a8
cmp dword [r15 + 4], 0
jbe 0x1400045a8
inc esi
add r12, 8
add r15, 0x48
cmp esi, 4
jge 0x140002c4c
xor edi, edi
lea rcx, [0x14006d950]
jmp 0x140002a40
test esi, esi
jne 0x1400045c3
call fcn.140017710
inc esi
lea rcx, [0x14006d950]
add r12, 8
add r15, 0x48
jmp 0x140002a40
lea r8, [0x140251ea0]
movaps xmmword [rsp + 0x6e0], xmm12
mov edx, 0x40
lea rcx, [0x14006dc98]
call fcn.14000fcc0
call fcn.14000cf70
call fcn.140009c40
movsxd rax, dword [0x140252b30]
lea r15, [0x140000000]
mov ebx, dword [0x14006dab8]
mov esi, dword [0x14006781c]
cmp ebx, dword [r15 + rax*4 + 0x252b40]
je 0x140002cb7
mov edx, ebx
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glBindTexture]
movsxd rax, dword [0x140252b30]
mov dword [r15 + rax*4 + 0x252b40], ebx
mov rax, qword [0x14006dc88]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov eax, dword [0x14006dc74]
xor edx, edx
mov dword [rsp + 0x38], 0x1406
mov ecx, 0xde1
mov dword [rsp + 0x30], 0x1903
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.OPENGL32.dll_glTexSubImage2D]
mov ebx, dword [0x14006dc74]
lea rcx, [0x140066160]
imul ebx, ebx
mov r8d, 1
lea edx, [rbx + rbx*2]
call qword [0x140066160]
movss xmm12, dword [0x14005dc30]
mov rdi, rax
movsxd rdx, ebx
test ebx, ebx
jle 0x140002df4
movss xmm3, dword [0x14005dd64]
xor eax, eax
mov ecx, eax
nop word [rax + rax]
mov rax, qword [0x14006dc90]
movaps xmm0, xmm14
movaps xmm2, xmm11
movss xmm1, dword [rax + rcx*4]
mulss xmm1, xmm12
addss xmm1, xmm12
maxss xmm0, xmm1
minss xmm2, xmm0
movaps xmm0, xmm14
mulss xmm2, xmm3
addss xmm2, xmm12
cvttss2si eax, xmm2
movaps xmm2, xmm11
mov byte [rcx + rdi + 2], al
mov rax, qword [0x14006dc90]
movss xmm1, dword [rax + rcx*4 + 4]
mulss xmm1, xmm12
addss xmm1, xmm12
maxss xmm0, xmm1
minss xmm2, xmm0
movaps xmm0, xmm14
mulss xmm2, xmm3
addss xmm2, xmm12
cvttss2si eax, xmm2
movaps xmm2, xmm11
mov byte [rcx + rdi + 1], al
mov rax, qword [0x14006dc90]
movss xmm1, dword [rax + rcx*4 + 8]
mulss xmm1, xmm12
addss xmm1, xmm12
maxss xmm0, xmm1
minss xmm2, xmm0
mulss xmm2, xmm3
addss xmm2, xmm12
cvttss2si eax, xmm2
mov byte [rcx + rdi], al
add rcx, 3
sub rdx, 1
jne 0x140002d40
movsxd rax, dword [0x140252b30]
cmp esi, dword [r15 + rax*4 + 0x252b40]
je 0x140002e21
mov edx, esi
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glBindTexture]
movsxd rax, dword [0x140252b30]
mov dword [r15 + rax*4 + 0x252b40], esi
mov eax, dword [0x14006dc74]
xor r9d, r9d
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov dword [rsp + 0x38], 0x1401
xor edx, edx
mov dword [rsp + 0x30], 0x80e0
mov ecx, 0xde1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.OPENGL32.dll_glTexSubImage2D]
mov rdx, rdi
lea rcx, [0x140066160]
call qword [0x140066170]
call fcn.14000d890
test al, al
jne 0x140002e83
lea rcx, str.init_dev_draw_failed
call fcn.140015000
xor edi, edi
jmp 0x1400044ca
movaps xmmword [rsp + 0x730], xmm7
movaps xmmword [rsp + 0x720], xmm8
movaps xmmword [rsp + 0x710], xmm9
movaps xmmword [rsp + 0x700], xmm10
movaps xmmword [rsp + 0x6d0], xmm13
movaps xmmword [rsp + 0x6b0], xmm15
call fcn.140004d20
call fcn.140004f90
call fcn.1400142e0
cmp byte [0x140251e83], 1
je 0x140002ee2
mov ecx, 1
call qword [sym.imp.USER32.dll_ShowCursor]
mov byte [0x140251e83], 1
cmp byte [0x140251e84], 0
je 0x140002f0a
xor ecx, ecx
call qword [sym.imp.USER32.dll_ClipCursor]
test eax, eax
jne 0x140002f03
lea rcx, str.failed_to_unconfine_the_cursor
call fcn.140015000
mov byte [0x140251e84], 0
call fcn.14000c6b0
movaps xmm0, xmmword [0x14005deb0]
xor eax, eax
movss xmm2, dword [0x1402521ec]
movaps xmm1, xmm14
mulss xmm2, dword [0x14005dd58]
mov ecx, dword [0x140253420]
mov qword [rbp - 0x80], rax
mov dword [0x140067718], 0x3dcccccd
mov dword [0x14006771c], 0x453b8000
unpcklps xmm1, xmm14
mov dword [0x140067734], 0
mov qword [0x140067778], rax
movsd qword [0x140067738], xmm1
movsd qword [0x140067760], xmm1
mov dword [0x140067790], eax
mov qword [0x140067780], rax
mov byte [0x140067768], 1
mov dword [0x140067794], 1
movups xmmword [0x140067724], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [0x140067770], xmm0
mov qword [rbp - 0x80], rax
movups xmm0, xmmword [0x140067718]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movups xmmword [0x140067718], xmm0
movups xmmword [0x140067740], xmm0
movups xmm0, xmmword [0x140067728]
movups xmmword [0x140067750], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [0x140067788], xmm0
test ecx, ecx
je 0x140002ff5
call qword [sym.imp.WINMM.dll_timeEndPeriod]
xor edi, edi
mov dword [0x140253420], edi
jmp 0x140002ff7
xor edi, edi
mov edx, 8
lea rcx, [rbp + 0x6b0]
call qword [sym.imp.WINMM.dll_timeGetDevCaps]
test eax, eax
jne 0x14000305e
cmp dword [rbp + 0x6b0], 1
sete bl
test bl, bl
je 0x140003052
lea ecx, [rax + 1]
mov dword [0x140253420], 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
test eax, eax
je 0x140003052
lea rcx, str.timeBeginPeriod_failed
call fcn.140015000
mov ecx, dword [0x140253420]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x140253420], edi
jmp 0x14000306c
mov byte [0x140067769], bl
test bl, bl
jne 0x14000307f
jmp 0x140003073
mov edx, eax
lea rcx, str.couldnt_get_Windows_timing_capabilities__ec___u_
call fcn.140014d60
mov byte [0x140067769], 0
lea rcx, str.cant_sleep_accurately
call fcn.140014d60
mov ecx, dword [0x140252b0c]
xor edx, edx
call qword [0x140252b00]
cmp qword [0x140253778], 0
mov dword [0x140252b24], edi
mov dword [0x140252b2c], edi
je 0x1400030f8
cmp qword [0x140253768], 0
je 0x1400030f8
lea rcx, str.trying_to_enable_vsync
call fcn.140014910
mov ecx, 1
call qword [0x140253778]
test eax, eax
jne 0x1400030dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.wglSwapIntervalEXT_failed__ec_u_._make_sure_the_default_framebuffer_is_bound_before_calling_this.
call fcn.140015000
call qword [0x140253768]
mov ebx, eax
test eax, eax
je 0x140003106
mov edx, eax
lea rcx, str.vsync_enabled__interval___i_
call fcn.140014910
jmp 0x140003112
lea rcx, str.vsync_not_supported
call fcn.140014d60
mov ebx, edi
lea rcx, str.vsync_disabled
call fcn.140014910
mov ecx, r13d
mov dword [0x1400677ac], ebx
mov dword [0x140065ca0], r13d
call fcn.140006720
lea rcx, [rbp + 0x6b0]
mov dword [0x140065ca0], eax
movaps xmm13, xmm11
mov byte [0x14006776a], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x140253428]
movaps xmm6, xmm11
mov r8, qword [rbp + 0x6b0]
mov r12d, edi
sub r8, qword [0x140253430]
movaps xmm2, xmmword [0x14005df00]
mov rax, r8
cqo
mov dword [0x1400677b0], 0x3c
idiv rcx
mov dword [0x1400677b8], 0
imul rax, rdx, 0x3b9aca00
mov qword [0x1400677bc], 2
cqo
mov dword [0x140067798], 0x78
idiv rcx
mov dword [0x1400677a0], 0
mov r14, rax
mov qword [0x1400677a4], 4
mov rax, r8
mov qword [rsp + 0x50], pe_nt_image_headers64
cqo
idiv rcx
lea rdx, [rsp + 0x50]
imul rcx, rax, 0x3b9aca00
add r14, rcx
mov ecx, dword [0x140065ca0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
movaps xmm0, xmm11
divss xmm0, dword [0x14005dd6c]
movss dword [rbp + 0x6b0], xmm0
movaps xmm0, xmm11
divss xmm0, dword [0x14005dd38]
movss dword [rbp + 0x6b8], xmm0
movd xmm0, ecx
pshufd xmm0, xmm0, 0
cvtdq2ps xmm1, xmm0
movd xmm0, ecx
lea rcx, str.startup_finished
divps xmm2, xmm1
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm11
movups xmmword [rbp], xmm2
divss xmm1, xmm0
movaps xmm0, xmm11
movups xmmword [rbp + 0x10], xmm2
divss xmm0, dword [0x14005dd4c]
shufps xmm1, xmm1, 0
movss dword [0x1400677b4], xmm0
movaps xmm0, xmm11
divss xmm0, dword [0x14005dd60]
movups xmmword [rbp + 0x20], xmm2
movss dword [0x14006779c], xmm0
movups xmmword [rbp + 0x30], xmm2
movups xmmword [rbp + 0x40], xmm1
call fcn.140017ca0
mov rbx, qword [rbp - 8]
mov eax, 0x10
cmp byte [rax + rbx], 0
jne 0x140003294
call fcn.140023368
mov edx, 0x30
add rdx, rbx
movsxd rcx, dword [rdx]
test ecx, ecx
jle 0x1400032b8
lea eax, [rcx - 1]
mov dword [rdx], eax
cmp eax, 0x40
jge 0x1400032c4
mov ecx, dword [rdx + rcx*4]
mov dword [rdx + 0x104], ecx
jmp 0x1400032c4
lea rcx, str.logging_context_tried_to_pop_with_zero_depth
call fcn.140015000
movaps xmm0, xmmword [0x14005dec0]
movdqa xmm10, xmmword [0x14005de70]
movss xmm15, dword [0x14005dbe8]
movss xmm9, dword [0x14005dc78]
movss xmm8, dword [0x14005dd08]
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x54], edi
mov rbx, qword [rsp + 0x50]
movups xmmword [rbp + 0x2a0], xmm0
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rbp + 0x258]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x140253428]
mov r8, qword [rbp + 0x258]
sub r8, qword [0x140253430]
mov rax, r8
cqo
idiv rcx
imul rax, rdx, 0x3b9aca00
cqo
idiv rcx
mov r9, rax
mov rax, r8
cqo
idiv rcx
imul rcx, rax, 0x3b9aca00
add r9, rcx
test byte [0x1402523ae], 1
mov qword [rsp + 0x50], r9
jbe 0x140003376
cmp byte [0x1402521a0], 0
jne 0x140003376
mov dl, 1
jmp 0x140003378
xor dl, dl
call fcn.14001fce0
mov rax, qword [0x140252158]
lea rcx, str.input
mov dword [0x140066110], edi
mov dword [0x140066130], edi
mov dword [0x140066120], edi
mov dword [0x140066140], edi
mov dword [0x1400660f0], edi
mov dword [0x140066100], edi
mov dword [0x140252130], edi
mov dword [0x140252148], edi
mov dword [0x140252160], 1
mov qword [rax], rbx
mov rax, qword [0x140252178]
mov word [0x140252188], di
mov dword [0x140252180], 1
mov word [rax], di
mov rax, qword [0x140252178]
mov word [rax + 2], di
movsx eax, word [0x140251e80]
movd xmm1, eax
movsx eax, word [0x140251e7e]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
subss xmm1, dword [0x14005dcf8]
cvtdq2ps xmm0, xmm0
movss dword [0x14006dcd4], xmm1
mulss xmm0, xmm12
movss dword [0x14006dcd0], xmm0
call fcn.14001f740
lea rcx, [rbp + 0x260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0x260]
xorps xmm1, xmm1
sub rax, qword [0x140253430]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [0x140253428]
mov ecx, edi
cvtsi2sd xmm1, rax
mov rax, rdi
divsd xmm1, xmm0
movsd qword [0x140252aa8], xmm1
nop dword [rax]
movdqu xmm0, xmmword [rax + r15 + 0x252380]
add ecx, 0x40
andps xmm0, xmm10
movdqu xmmword [rax + r15 + 0x252380], xmm0
movdqu xmm0, xmmword [rax + r15 + 0x252390]
andps xmm0, xmm10
movdqu xmmword [rax + r15 + 0x252390], xmm0
movdqu xmm0, xmmword [rax + r15 + 0x2523a0]
andps xmm0, xmm10
movdqu xmmword [rax + r15 + 0x2523a0], xmm0
movdqu xmm0, xmmword [rax + r15 + 0x2523b0]
andps xmm0, xmm10
movdqu xmmword [rax + r15 + 0x2523b0], xmm0
add rax, 0x40
cmp ecx, 0x40
jb 0x140003470
cmp ecx, 0x69
jae 0x1400034fe
lea rdx, [r15 + 0x252380]
add rdx, rax
nop dword [rax + rax]
and byte [rdx], 4
lea rdx, [rdx + 1]
inc ecx
cmp ecx, 0x69
jb 0x1400034f0
xorps xmm0, xmm0
mov qword [0x140252ad0], 0
movups xmmword [0x140252ac0], xmm0
mov edx, edi
lea rcx, [0x140252ab4]
nop dword [rax]
mov eax, dword [rcx - 4]
add edx, 5
mov dword [rcx], eax
mov eax, dword [rcx + 4]
mov dword [rcx + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [rcx + 0x10], eax
mov eax, dword [rcx + 0x14]
mov dword [rcx + 0x18], eax
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x20], eax
lea rcx, [rcx + 0x28]
cmp edx, 5
jb 0x140003520
movsxd rdi, dword [0x14025237c]
lea r15, [0x140252a80]
mov r8, rdi
lea rdx, [0x140252358]
mov rcx, r15
call fcn.14004d9e0
mov dword [0x14025234c], edi
lea rcx, str.poll
mov byte [rdi + r15], 0
xor edi, edi
mov dword [0x14025237c], edi
call fcn.14001f740
lea rcx, [0x140251e78]
call fcn.140022fe0
mov byte [rbp + 0x6a0], al
call fcn.14001f8c0
call fcn.14001f8c0
cmp dword [0x1400677ac], edi
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x50]
setg r15b
sub rcx, r14
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x14005dd30]
cvtpd2ps xmm7, xmm0
comiss xmm7, dword [rbp + 0x6b0]
jb 0x1400038e4
movss xmm0, dword [rbp + 0x6b8]
comiss xmm0, xmm7
jb 0x1400038e4
lea eax, [r12 - 1]
mov r10d, edi
lea r9, [rbp + 0x2b4]
nop word [rax + rax]
test eax, eax
lea edx, [rax + 0x14]
cmovns edx, eax
movsxd rax, edx
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 4], ecx
dec eax
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
dec edx
mov ecx, dword [rbp + rax*4]
sar r8d, 0x1f
and r8d, 0x14
mov dword [r9], ecx
add r8d, edx
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
sar edx, 0x1f
and edx, 0x14
mov dword [r9 + 4], ecx
dec edx
add edx, r8d
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 8], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0xc], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0x10], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0x14], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0x18], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0x1c], ecx
add edx, eax
movsxd rax, edx
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 + 0x20], ecx
lea r8d, [rdx - 1]
add r10d, 0x14
add r8d, eax
lea r9, [r9 + 0x50]
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x2c], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x28], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x24], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x20], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x1c], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x18], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [r8 - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x14], ecx
add edx, eax
movsxd rax, edx
lea r8d, [rdx - 1]
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x14
mov dword [r9 - 0x10], ecx
add r8d, eax
movsxd rax, r8d
lea edx, [r8 - 1]
mov ecx, dword [rbp + rax*4]
sar edx, 0x1f
and edx, 0x14
mov dword [r9 - 0xc], ecx
dec edx
add edx, r8d
movsxd rax, edx
cmp r10d, 0x14
mov ecx, dword [rbp + rax*4]
lea eax, [rdx - 1]
mov dword [r9 - 8], ecx
jb 0x140003600
mov edx, 0x14
lea r9, [0x140004cf0]
lea rcx, [rbp + 0x2b0]
lea r8d, [rdx - 0x10]
call fcn.14002aa90
mov ecx, 1
lea rax, [rbp + 0x2b8]
movaps xmm6, xmm14
addss xmm6, dword [rax - 4]
add ecx, 0x12
addss xmm6, dword [rax]
addss xmm6, dword [rax + 4]
addss xmm6, dword [rax + 8]
addss xmm6, dword [rax + 0xc]
addss xmm6, dword [rax + 0x10]
addss xmm6, dword [rax + 0x14]
addss xmm6, dword [rax + 0x18]
addss xmm6, dword [rax + 0x1c]
addss xmm6, dword [rax + 0x20]
addss xmm6, dword [rax + 0x24]
addss xmm6, dword [rax + 0x28]
addss xmm6, dword [rax + 0x2c]
addss xmm6, dword [rax + 0x30]
addss xmm6, dword [rax + 0x34]
addss xmm6, dword [rax + 0x38]
addss xmm6, dword [rax + 0x3c]
addss xmm6, dword [rax + 0x40]
add rax, 0x48
cmp ecx, 0x13
jb 0x140003850
divss xmm6, dword [0x14005dd28]
movsxd rax, r12d
inc r12d
movss dword [rbp + rax*4], xmm7
mov eax, 0x66666667
imul r12d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub r12d, eax
mov esi, dword [0x140065ca0]
mov edi, 1
nop
mov eax, esi
cdq
idiv edi
cmp eax, 0xf
jle 0x140003934
movd xmm0, eax
movaps xmm7, xmm11
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm6
divss xmm7, xmm0
xorps xmm0, xmm0
subss xmm1, xmm7
cvtss2sd xmm0, xmm1
call fcn.140039690
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm15, xmm1
jae 0x140003937
inc edi
mov eax, esi
cdq
idiv edi
test edx, edx
je 0x1400038f0
movaps xmm7, xmm6
mov r14d, r13d
test r15b, r15b
jne 0x140003954
cmp dword [0x140065ca0], 1
mov r14d, 0x1e0
cmovg r14d, dword [0x140065ca0]
xor cl, cl
cmp dword [0x140067794], 2
jne 0x1400039c9
cmp byte [0x1402521a0], cl
jne 0x1400039c9
test byte [0x1402523d3], 1
movzx eax, byte [0x14006776a]
jbe 0x140003987
test al, al
je 0x14000397f
mov cl, 1
jmp 0x140003987
mov al, 1
mov byte [0x14006776a], al
test byte [0x1402523d2], 1
jbe 0x1400039a2
test al, al
je 0x14000399e
xor al, al
mov byte [0x14006776a], al
jmp 0x1400039a2
movaps xmm13, xmm11
test byte [0x1402523d0], 1
jbe 0x1400039b9
movaps xmm0, xmm11
divss xmm0, xmm9
mulss xmm13, xmm0
test byte [0x1402523d1], 1
jbe 0x1400039d0
mulss xmm13, xmm9
jmp 0x1400039d0
movzx eax, byte [0x14006776a]
movaps xmm9, xmm7
mulss xmm9, xmm13
test al, al
je 0x140003a08
test cl, cl
jne 0x1400039e5
movaps xmm9, xmm14
lea rcx, [rbp - 0x50]
mov byte [rbp - 0x31], 0
mov r8d, 0x20
lea rdx, str.paused
call fcn.140037260
mov byte [rbp - 0x31], 0
jmp 0x140003b12
lea rax, [rbp - 0x50]
mov qword [rbp + 0x158], 0x20
lea rcx, [rbp + 0x160]
mov qword [rbp + 0x150], rax
mov r8d, 5
mov byte [rbp - 0x50], 0
lea rdx, str._.6f
mov byte [rbp + 0x164], 0
call fcn.140037260
movsxd rcx, dword [rbp + 0x15c]
lea r8, [rbp + 0x160]
mov eax, dword [rbp + 0x158]
xorps xmm3, xmm3
sub eax, ecx
mov byte [rbp + 0x164], 0
add rcx, qword [rbp + 0x150]
cvtss2sd xmm3, xmm13
movsxd rdx, eax
mov byte [rbp + 0x162], 0x32
movq r9, xmm3
call fcn.14001e0d0
mov edx, dword [rbp + 0x15c]
mov r9d, dword [rbp + 0x158]
add edx, eax
lea r8d, [r9 - 1]
cmp edx, r8d
cmovl r8d, edx
lea rdx, [0x14005b46c]
movsxd rsi, r8d
sub r9d, r8d
add rsi, qword [rbp + 0x150]
mov dword [rbp + 0x15c], r8d
mov rcx, rsi
movsxd rdi, r9d
movsxd r8, r9d
mov byte [rdi + rsi - 1], 0
call fcn.140037260
movzx eax, byte [rdi + rsi - 1]
mov byte [rdi + rsi - 1], 0
test al, al
jne 0x140003ae0
inc dword [rbp + 0x15c]
jmp 0x140003aee
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
lea rcx, [rbp + 0x50]
mov byte [rbp + 0x14f], 0
mov r8d, pe_nt_image_headers64
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
call fcn.140037260
mov byte [rbp + 0x14f], 0
movsx eax, word [0x140251e80]
lea rdx, str._.6f
mov r8d, 5
mov qword [rbp + 0x158], pe_nt_image_headers64
lea rcx, [rbp + 0x160]
mov byte [rbp + 0x50], 0
mov byte [rbp + 0x164], 0
movd xmm1, eax
movsx eax, word [0x140251e7e]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea rax, [rbp + 0x50]
cvtdq2ps xmm0, xmm0
mov qword [rbp + 0x150], rax
subss xmm1, xmm8
subss xmm0, xmm8
unpcklps xmm0, xmm1
movsd qword [rbp + 0x268], xmm0
call fcn.140037260
movsxd rdx, dword [rbp + 0x15c]
mov eax, dword [rbp + 0x158]
mov rsi, rdx
add rsi, qword [rbp + 0x150]
sub eax, edx
movsxd rdi, eax
lea rdx, [rbp - 0x50]
mov byte [rbp + 0x164], 0
mov rcx, rsi
movsxd r8, eax
mov byte [rdi + rsi - 1], 0
call fcn.140037260
movzx eax, byte [rdi + rsi - 1]
mov byte [rdi + rsi - 1], 0
mov r8d, dword [rbp + 0x158]
test al, al
jne 0x140003be3
lea rcx, [rbp - 0x50]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140003bd0
mov edx, dword [rbp + 0x15c]
add edx, eax
jmp 0x140003be7
lea edx, [r8 - 1]
sub r8d, edx
movsxd rsi, edx
add rsi, qword [rbp + 0x150]
movaps xmm8, xmm11
movsxd rdi, r8d
mov rcx, rsi
mov dword [rbp + 0x15c], edx
lea rdx, [0x14005b470]
movsxd r8, r8d
divss xmm8, xmm7
mov byte [rdi + rsi - 1], 0
call fcn.140037260
movzx eax, byte [rdi + rsi - 1]
mov byte [rdi + rsi - 1], 0
mov ecx, dword [rbp + 0x158]
test al, al
jne 0x140003c3c
mov eax, dword [rbp + 0x15c]
add eax, 3
jmp 0x140003c3f
lea eax, [rcx - 1]
sub ecx, eax
mov dword [rbp + 0x15c], eax
movsxd rdx, ecx
lea r8, [rbp + 0x160]
movaps xmm0, xmm7
movsxd rcx, eax
mulss xmm0, dword [0x14005dd74]
xorps xmm3, xmm3
add rcx, qword [rbp + 0x150]
mov byte [rbp + 0x162], 0x33
cvtss2sd xmm3, xmm0
movq r9, xmm3
call fcn.14001e0d0
mov r8d, dword [rbp + 0x158]
mov edx, dword [rbp + 0x15c]
add edx, eax
lea eax, [r8 - 1]
cmp edx, eax
cmovge edx, eax
sub r8d, edx
movsxd rsi, edx
add rsi, qword [rbp + 0x150]
movsxd rdi, r8d
mov rcx, rsi
mov dword [rbp + 0x15c], edx
lea rdx, str._ms_
movsxd r8, r8d
mov byte [rdi + rsi - 1], 0
call fcn.140037260
movzx eax, byte [rdi + rsi - 1]
mov byte [rdi + rsi - 1], 0
mov ecx, dword [rbp + 0x158]
test al, al
jne 0x140003ce2
mov eax, dword [rbp + 0x15c]
add eax, 6
jmp 0x140003ce5
lea eax, [rcx - 1]
sub ecx, eax
mov dword [rbp + 0x15c], eax
movsxd rdx, ecx
lea r8, [rbp + 0x160]
xorps xmm3, xmm3
movsxd rcx, eax
add rcx, qword [rbp + 0x150]
cvtss2sd xmm3, xmm8
mov byte [rbp + 0x162], 0x32
movq r9, xmm3
call fcn.14001e0d0
mov r8d, dword [rbp + 0x158]
mov edx, dword [rbp + 0x15c]
add edx, eax
lea eax, [r8 - 1]
cmp edx, eax
cmovge edx, eax
sub r8d, edx
movsxd rsi, edx
add rsi, qword [rbp + 0x150]
movsxd rdi, r8d
mov rcx, rsi
mov dword [rbp + 0x15c], edx
lea rdx, str._fps
movsxd r8, r8d
mov byte [rdi + rsi - 1], 0
call fcn.140037260
movzx eax, byte [rdi + rsi - 1]
mov byte [rdi + rsi - 1], 0
test al, al
jne 0x140003d76
add dword [rbp + 0x15c], 4
jmp 0x140003d84
mov eax, dword [rbp + 0x158]
dec eax
mov dword [rbp + 0x15c], eax
mov r8, qword [rbp + 0x150]
lea rax, [rbp + 0x2a0]
mov dword [rsp + 0x30], 2
lea r9, [rbp + 0x268]
xor edi, edi
lea rcx, [rbp + 0x288]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.140012b40
mov r8d, pe_nt_image_headers64
mov byte [rbp + 0x14f], dil
lea rdx, str._x__ERROR:_DEALLOCATED_TEMP_STRING
lea rcx, [rbp + 0x50]
call fcn.140037260
movss xmm0, dword [0x1400677b8]
mov eax, edi
movss xmm1, dword [0x1400677b4]
addss xmm0, xmm9
mov byte [rbp + 0x14f], dil
mov dword [0x1400677c0], eax
comiss xmm0, xmm1
movss dword [0x1400677b8], xmm0
jb 0x140003e4d
mov edx, dword [0x1400677bc]
nop dword [rax]
cmp eax, edx
jge 0x140003e2f
subss xmm0, xmm1
inc eax
mov dword [0x1400677c0], eax
comiss xmm0, xmm1
movss dword [0x1400677b8], xmm0
jae 0x140003e10
jmp 0x140003e4d
comiss xmm0, xmm1
jb 0x140003e4d
mov r8d, dword [0x1400677b0]
lea rcx, str.clamped_to_max_steps_per_frame_limit___i_.___i_FPS_
call fcn.140014d60
mov dword [0x1400677b8], edi
movss xmm0, dword [0x1400677a0]
mov eax, edi
movss xmm1, dword [0x14006779c]
addss xmm0, xmm9
mov dword [0x1400677a8], eax
comiss xmm0, xmm1
movss dword [0x1400677a0], xmm0
jb 0x140003ebd
mov edx, dword [0x1400677a4]
nop dword [rax]
cmp eax, edx
jge 0x140003e9f
subss xmm0, xmm1
inc eax
mov dword [0x1400677a8], eax
comiss xmm0, xmm1
movss dword [0x1400677a0], xmm0
jae 0x140003e80
jmp 0x140003ebd
comiss xmm0, xmm1
jb 0x140003ebd
mov r8d, dword [0x140067798]
lea rcx, str.clamped_to_max_steps_per_frame_limit___i_.___i_FPS_
call fcn.140014d60
mov dword [0x1400677a0], edi
movaps xmm2, xmm9
lea rcx, [rbp + 0x50]
movaps xmm1, xmm7
call fcn.1400059b0
lea rcx, [rbp + 0x3c0]
mov edx, 3
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140003ee0
cmp byte [0x1402521ac], dil
movups xmm0, xmmword [rax]
movss xmm8, dword [0x14005dd08]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov eax, dword [rax + 0x60]
mov dword [rcx + 0x60], eax
je 0x1400040c0
movss xmm9, dword [0x14005dd44]
movaps xmm3, xmm8
movsx eax, word [0x140251e7e]
addss xmm3, xmm9
movsxd rcx, dword [0x1400660f0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
lea eax, [rcx + 4]
cmp eax, dword [0x1400660f4]
subss xmm1, xmm8
subss xmm1, xmm9
movaps xmm2, xmm1
addss xmm2, xmm9
jg 0x1400040c0
mov rax, rcx
mov qword [rbp - 0x6c], 0x41200000
inc ecx
shl rax, 4
add rax, qword [0x1400660e8]
mov dword [0x1400660f0], ecx
mov dword [rbp - 0x64], 0xa00ac8ff
movups xmm0, xmmword [rbp - 0x70]
mov dword [rbp - 0x58], edi
mov dword [rbp - 0x54], 0xa00ac8ff
movss xmm0, xmm1
mov dword [rsp + 0x78], edi
movups xmmword [rax], xmm0
movsxd rax, dword [0x1400660f0]
movups xmmword [rbp - 0x70], xmm0
mov rcx, rax
inc eax
movups xmm0, xmmword [rbp - 0x60]
shl rcx, 4
add rcx, qword [0x1400660e8]
movss xmm0, xmm1
mov dword [0x1400660f0], eax
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
mov dword [rsp + 0x7c], 0xa00ac8ff
shufps xmm0, xmm0, 0xe1
movups xmmword [rcx], xmm0
movsxd rax, dword [0x1400660f0]
movups xmmword [rbp - 0x60], xmm0
mov rcx, rax
inc eax
movups xmm0, xmmword [rsp + 0x70]
shl rcx, 4
add rcx, qword [0x1400660e8]
movss xmm0, xmm2
mov dword [0x1400660f0], eax
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
mov qword [rsp + 0x64], 0x41200000
shufps xmm0, xmm0, 0xe1
movups xmmword [rcx], xmm0
movsxd rax, dword [0x1400660f0]
mov rcx, rax
mov dword [rsp + 0x6c], 0xa00ac8ff
shl rcx, 4
add rcx, qword [0x1400660e8]
movups xmmword [rsp + 0x70], xmm0
inc eax
movups xmm0, xmmword [rsp + 0x60]
mov dword [0x1400660f0], eax
movss xmm0, xmm2
movups xmmword [rcx], xmm0
movups xmmword [rsp + 0x60], xmm0
lea rcx, str.renderswap
call fcn.14001f740
lea rcx, str.renderswap
call fcn.14001fa30
cmp dword [rbp + 0x3c8], edi
jle 0x140004109
cmp dword [rbp + 0x3cc], edi
jle 0x140004109
cmp word [0x140251e7e], di
jne 0x1400040fa
cmp word [0x140251e80], di
je 0x140004109
movaps xmm1, xmm7
lea rcx, [rbp + 0x3c0]
call fcn.14000a920
lea rcx, str.swap
call fcn.14001fa30
mov rcx, qword [0x140251e88]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.GDI32.dll_SwapBuffers]
call fcn.14001f8c0
call fcn.14001fb90
call fcn.14001fb90
test r15b, r15b
je 0x1400041c5
cmp qword [0x1400677d8], rdi
je 0x140004197
lea rcx, str.wait_on_GPU
call fcn.14001f740
mov rcx, qword [0x1400677d8]
mov edx, 1
mov r8d, 0x5f5e100
call qword [0x140251d00]
cmp eax, 0x911b
jne 0x14000417e
lea rcx, str.GPU_fence_wait_timed_out.
call fcn.140014d60
mov rcx, qword [0x1400677d8]
call qword [0x140251cf8]
mov qword [0x1400677d8], rdi
call fcn.14001f8c0
xor edx, edx
mov ecx, 0x9117
call qword [0x140251ce8]
mov qword [0x1400677d8], rax
test rax, rax
jne 0x140004361
lea rcx, str.failed_to_create_GPU_fence.
call fcn.140015000
jmp 0x140004361
mov rcx, qword [0x1400677d8]
test rcx, rcx
je 0x1400041de
call qword [0x140251cf8]
mov qword [0x1400677d8], rdi
test r14d, r14d
jle 0x140004361
lea rcx, str.sleep
call fcn.14001f740
mov eax, 0x3b9aca00
movsxd rcx, r14d
cqo
idiv rcx
mov rdi, rax
add rdi, qword [rsp + 0x50]
cmp byte [0x140067769], 0
je 0x140004310
lea rcx, [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x140253428]
mov r9, qword [rbp + 0x270]
sub r9, qword [0x140253430]
mov rax, r9
cqo
idiv rcx
imul rax, rdx, 0x3b9aca00
cqo
idiv rcx
mov r8, rax
mov rax, r9
cqo
idiv rcx
imul rdx, rax, 0xffffffffc4653600
movabs rax, 0x431bde82d7b634db
sub rdx, r8
add rdx, 0xfffffffffff0aa38
add rdx, rdi
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test edx, edx
jle 0x140004310
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x140253428]
mov r8, qword [rbp + 0x278]
sub r8, qword [0x140253430]
mov rax, r8
cqo
idiv rcx
imul rax, rdx, 0x3b9aca00
cqo
idiv rcx
mov r9, rax
mov rax, r8
cqo
idiv rcx
imul rcx, rax, 0x3b9aca00
add r9, rcx
lea rcx, [rdi + 0x3e8]
cmp r9, rcx
jle 0x140004310
xorps xmm1, xmm1
lea rcx, str.overslept_by__fms
sub r9, rdi
cvtsi2sd xmm1, r9
divsd xmm1, qword [0x14005dd10]
movq rdx, xmm1
call fcn.140014ad0
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x140253428]
mov r9, qword [rbp - 0x80]
sub r9, qword [0x140253430]
mov rax, r9
cqo
idiv rcx
imul rax, rdx, 0x3b9aca00
cqo
idiv rcx
mov r8, rax
mov rax, r9
cqo
idiv rcx
imul rcx, rax, 0x3b9aca00
add r8, rcx
cmp r8, rdi
jl 0x140004310
call fcn.14001f8c0
xor edi, edi
inc dword [0x1402536f4]
cmp byte [0x1402521ac], 0
mov r14, qword [rsp + 0x50]
je 0x14000437f
call fcn.14001fb90
call fcn.14001f8c0
cmp byte [rbp + 0x6a0], 0
lea r15, [0x140000000]
movss xmm9, dword [0x14005dc78]
jne 0x140003310
movaps xmm15, xmmword [rsp + 0x6b0]
lea rcx, str.starting_shutdown
movaps xmm13, xmmword [rsp + 0x6d0]
movaps xmm10, xmmword [rsp + 0x700]
movaps xmm9, xmmword [rsp + 0x710]
movaps xmm8, xmmword [rsp + 0x720]
movaps xmm7, xmmword [rsp + 0x730]
call fcn.140014910
mov rcx, qword [0x1400677d8]
test rcx, rcx
je 0x1400043f6
call qword [0x140251cf8]
mov qword [0x1400677d8], rdi
cmp byte [0x1402521ac], 0
je 0x140004460
lea rcx, str.stop_prof
call fcn.140014910
mov cl, 1
call fcn.14001f630
call fcn.14001f390
lea rdx, [0x140253450]
mov dword [0x1402536f0], edi
mov ecx, 0x80
mov dword [0x140253440], edi
mov dword [0x1402536d8], edi
mov dword [0x14025343c], edi
mov dword [0x1402536e8], edi
mov dword [0x140253444], edi
mov dword [0x140253448], edi
mov dword [0x140253708], edi
call qword [0x140251d70]
mov byte [0x1402521ac], 0
call fcn.14000c890
lea rcx, [rbp + 0x6a0]
mov r13d, edi
call fcn.140004a60
mov rdx, qword [0x140252350]
test rdx, rdx
je 0x14000448c
lea rcx, [0x140252120]
call fcn.140012770
mov ecx, dword [0x14025233c]
call fcn.1400181a0
mov ecx, dword [0x14025232c]
call fcn.1400181a0
mov ecx, dword [0x140252338]
call fcn.1400181a0
mov ecx, dword [0x140252330]
call fcn.1400181a0
mov ecx, dword [0x140252334]
call fcn.1400181a0
mov qword [0x140252350], rdi
lea rcx, [rbp + 0x6a0]
call fcn.140004c10
mov rdx, qword [0x14006dc90]
lea rcx, [0x140066160]
call qword [0x140066170]
mov rdx, qword [0x14006dc88]
lea rcx, [0x140066160]
mov qword [0x14006dc90], rdi
call qword [0x140066170]
mov ecx, dword [0x14006dca0]
mov qword [0x14006dc88], rdi
call fcn.1400181a0
mov ecx, dword [0x14006dcac]
call fcn.1400181a0
mov ecx, dword [0x14006dca4]
call fcn.1400181a0
mov ecx, dword [0x14006dcb0]
call fcn.1400181a0
movaps xmm12, xmmword [rsp + 0x6e0]
lea rbx, [0x14006dcb8]
lea rsi, [0x14006dcc8]
nop
mov ecx, dword [rbx]
call fcn.1400181a0
add rbx, 4
cmp rbx, rsi
jl 0x140004550
mov ecx, dword [0x14006dcc8]
call fcn.1400181a0
mov ecx, dword [0x14006dca8]
call fcn.1400181a0
mov ecx, dword [0x14006dcb4]
call fcn.1400181a0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x14006dc98], xmm0
mov dword [0x14006dcc8], eax
movups xmmword [0x14006dca8], xmm0
movups xmmword [0x14006dcb8], xmm0
call fcn.1400048c0
jmp 0x1400045d1
lea rdx, [0x14005b860]
mov rdx, qword [rdx + rdi*8]
lea rcx, str.failed_to_load_perm_mesh__s
call fcn.140015000
xor edi, edi
jmp 0x1400045d1
mov edx, esi
lea rcx, str.failed_to_load_unnamed_perm_mesh__i
call fcn.140015000
mov ecx, dword [0x1400677c4]
call fcn.1400181a0
mov ecx, dword [0x1400677d4]
call fcn.1400181a0
movaps xmm14, xmmword [rsp + 0x6c0]
lea rbx, [0x140067fa0]
movaps xmm11, xmmword [rsp + 0x6f0]
mov eax, 0x14
movaps xmm6, xmmword [rsp + 0x740]
mov r14, qword [rsp + 0x760]
mov rsi, qword [rsp + 0x770]
nop dword [rax]
mov ecx, dword [rbx]
test ecx, ecx
je 0x140004649
mov rax, qword [0x140251e60]
test rax, rax
je 0x14000463d
cmp dword [rax], ecx
jne 0x14000463d
mov qword [0x140251e60], rdi
call qword [0x140251d18]
mov rax, qword [rbp - 0x10]
mov dword [rbx], edi
add rbx, 0x47c
sub rax, 1
mov qword [rbp - 0x10], rax
jne 0x140004620
mov ecx, dword [0x14006da70]
test ecx, ecx
je 0x14000466f
call fcn.140017de0
mov dword [0x14006da70], edi
mov rdx, qword [0x14006da80]
test rdx, rdx
je 0x14000468f
lea rcx, [0x140066160]
call qword [0x140066170]
mov qword [0x14006da80], rdi
mov ecx, dword [0x14006da88]
test ecx, ecx
je 0x1400046a4
call fcn.140017de0
mov dword [0x14006da88], edi
mov rdx, qword [0x14006da98]
test rdx, rdx
je 0x1400046c4
lea rcx, [0x140066160]
call qword [0x140066170]
mov qword [0x14006da98], rdi
mov ecx, dword [0x14006daa0]
test ecx, ecx
je 0x1400046d9
call fcn.140017de0
mov dword [0x14006daa0], edi
mov rdx, qword [0x14006dab0]
test rdx, rdx
je 0x1400046f9
lea rcx, [0x140066160]
call qword [0x140066170]
mov qword [0x14006dab0], rdi
lea rdx, str.framebuffers_shut_down
mov qword [0x140251e70], rdi
lea rcx, [rbp + 0x6a0]
mov qword [0x140251e68], rdi
mov qword [0x140251e90], rdi
call fcn.140015630
cmp dword [0x14006dafc], 0
je 0x140004736
lea rcx, str._i_FBOs_exist_on_shutdown
call fcn.140015000
mov rbx, qword [rbp - 8]
mov eax, 0x10
cmp byte [rax + rbx], 0
jne 0x14000474a
call fcn.140023368
mov edx, 0x30
add rdx, rbx
movsxd rcx, dword [rdx]
test ecx, ecx
jle 0x14000476e
lea eax, [rcx - 1]
mov dword [rdx], eax
cmp eax, 0x40
jge 0x14000477a
mov ecx, dword [rdx + rcx*4]
mov dword [rdx + 0x104], ecx
jmp 0x14000477a
lea rcx, str.logging_context_tried_to_pop_with_zero_depth
call fcn.140015000
lea rdx, [rbp + 0x6a8]
mov ecx, 1
call qword [0x140251ce0]
mov rbx, qword [rbp + 0x280]
jmp 0x1400047a8
lea rcx, str.OpenGL_features_not_supported.
call fcn.140015000
mov r13, 0xffffffffffffffff
cmp byte [0x140251e78], 0
je 0x1400047f9
xor edx, edx
xor ecx, ecx
call qword [sym.imp.OPENGL32.dll_wglMakeCurrent]
mov rcx, qword [0x140251e88]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.OPENGL32.dll_wglDeleteContext]
mov rcx, qword [0x140251e88]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, qword [0x140251e88]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov byte [0x140251e78], 0
mov rdx, qword [0x1402536e0]
lea rcx, [0x140066160]
call qword [0x140066170]
mov rdx, qword [0x1402536f8]
lea rcx, [0x140066160]
call qword [0x140066170]
cmp qword [0x140251eb8], 0
mov r15, qword [rsp + 0x758]
mov r12, qword [rsp + 0x768]
je 0x140004842
mov qword [0x140251eb8], rdi
mov rdx, rbx
lea rcx, [0x140066160]
call qword [0x140066170]
jmp 0x140004867
lea rcx, str.failed_to_allocate_scratch_mem
call fcn.140015000
mov r13, 0xffffffffffffffff
mov ecx, dword [0x140253420]
test ecx, ecx
je 0x140004892
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x140253420], edi
jmp 0x140004892
lea rcx, str.failed_to_init_the_timer
call fcn.140015000
mov r13, 0xffffffffffffffff
lea rcx, str.shutting_down_logging
call fcn.140014910
mov rcx, qword [0x140252ad8]
call fcn.14002b124
mov eax, r13d
add rsp, 0x778
pop r13
pop rdi
pop rbx
pop rbp
ret
push rbx
sub rsp, 0x20
mov qword [0x140253770], rcx
mov dword [0x140253760], r9d
call fcn.14003a238
mov rbx, qword [rax]
call fcn.14003a230
mov rdx, rbx
mov ecx, dword [rax]
add rsp, 0x20
pop rbx
jmp 0x140001a50