Function at 0x140011357
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions
Get file size
Read file on windows

Disassembly:
jmp 0x140013500
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
mov eax, 0x17b0
call fcn.1400110d2
sub rsp, rax
lea rbp, [rsp + 0x60]
lea rdi, [rsp + 0x60]
mov ecx, 0x454
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x17d8]
mov rax, qword [0x140024080]
xor rax, rbp
mov qword [rbp + 0x1740], rax
lea rcx, [0x14002a0cb]
call fcn.140011451
mov dword [rbp + 4], 1
mov dword [rbp + 0x24], 2
movss xmm0, dword [0x140020c84]
movss dword [rbp + 0x44], xmm0
movss xmm0, dword [0x140020c9c]
movss dword [rbp + 0x64], xmm0
mov eax, dword [rbp + 0x24]
mov ecx, dword [rbp + 4]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x84], eax
movss xmm0, dword [rbp + 0x44]
addss xmm0, dword [rbp + 0x64]
movss dword [rbp + 0xa4], xmm0
cvttss2si eax, dword [rbp + 0xa4]
mov dword [rbp + 0x84], eax
lea rax, [rbp + 0xd0]
mov rdi, rax
xor eax, eax
mov ecx, 0x48
rep stosb byte [rdi], al
lea rax, [0x14001111d]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0x1770]
mov qword [rbp + 0xe8], rax
lea rax, str.Game_Window_Class
mov qword [rbp + 0x110], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xd0]
call qword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x140013628
lea rcx, str.RegisterClass
call fcn.14001123a
mov qword [rsp + 0x58], 0
mov rax, qword [rbp + 0x1770]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x3ab
mov dword [rsp + 0x30], 0x650
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
mov r9d, 0xcf0000
lea r8, str.Game
lea rdx, str.Game_Window_Class
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x140024250], rax
cmp qword [0x140024250], 0
jne 0x1400136a8
lea rcx, str.CreateWindow
call fcn.14001123a
mov edx, dword [rbp + 0x1788]
mov rcx, qword [0x140024250]
call qword [sym.imp.USER32.dll_ShowWindow]
lea rdx, [rbp + 0x138]
mov rcx, qword [0x140024250]
call qword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
jne 0x1400136df
lea rcx, str.GetClientRect
call fcn.14001123a
mov eax, dword [rbp + 0x138]
mov ecx, dword [rbp + 0x140]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x13c]
mov ecx, dword [rbp + 0x144]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x184], eax
mov dword [rbp + 0x1b0], 0
lea rax, [rbp + 0x1b4]
mov rdi, rax
xor eax, eax
mov ecx, 0x44
rep stosb byte [rdi], al
mov dword [rbp + 0x1ec], 4
mov dword [rbp + 0x1d8], 2
xor edx, edx
mov eax, dword [rbp + 0x164]
div dword [section..data]
mov dword [rbp + 0x1b0], eax
xor edx, edx
mov eax, dword [rbp + 0x184]
div dword [section..data]
mov dword [rbp + 0x1b4], eax
mov dword [rbp + 0x1c0], 0x1c
mov dword [rbp + 0x1d4], 0x20
mov rax, qword [0x140024250]
mov qword [rbp + 0x1e0], rax
mov dword [rbp + 0x1cc], 1
mov dword [rbp + 0x1d0], 0
movzx eax, byte [0x140024248]
test eax, eax
jne 0x1400137b1
mov dword [rbp + 0x1734], 1
jmp 0x1400137bb
mov dword [rbp + 0x1734], 0
mov eax, dword [rbp + 0x1734]
mov dword [rbp + 0x1e8], eax
lea rax, [0x140024268]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], 0
lea rax, [0x140024258]
mov qword [rsp + 0x48], rax
lea rax, [0x140024260]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 2
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call fcn.140011023
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013849
lea rcx, str.D3D11CreateDeviceAndSwapChain
call fcn.14001123a
call fcn.1400110c3
mov qword [rbp + 0x218], 0
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r8, [rbp + 0x218]
lea rdx, [0x1400206b8]
mov rcx, qword [0x140024258]
call qword [rax]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013895
lea rcx, [0x1400207d0]
call fcn.14001123a
mov qword [rbp + 0x238], 0
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
lea rdx, [rbp + 0x238]
mov rcx, qword [rbp + 0x218]
call qword [rax + 0x38]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x1400138d6
lea rcx, [0x1400207d4]
call fcn.14001123a
mov qword [rbp + 0x258], 0
mov rax, qword [rbp + 0x238]
mov rax, qword [rax]
lea r8, [rbp + 0x258]
lea rdx, [0x1400206d0]
mov rcx, qword [rbp + 0x238]
call qword [rax + 0x30]
cmp dword [0x140024240], 0
jge 0x140013918
lea rcx, [0x1400207d8]
call fcn.14001123a
mov rax, qword [rbp + 0x258]
mov rax, qword [rax]
mov r8d, 2
mov rdx, qword [0x140024250]
mov rcx, qword [rbp + 0x258]
call qword [rax + 0x40]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, str.c:_Projects_Game_x64_Debug_PixelShader.cso
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0xffffffffffffffff
jne 0x140013996
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x2b4], eax
lea rcx, str.CreateFile
call fcn.14001123a
lea rdx, [rbp + 0x298]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x1400139ba
lea rcx, str.GetFileSizeEx
call fcn.14001123a
mov r9d, 4
mov r8d, 0x1000
mov rdx, qword [rbp + 0x298]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x2d8], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x2f4]
mov r8d, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x2d8]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140013a23
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x314], eax
lea rcx, str.ReadFile
call fcn.14001123a
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, str.c:_Projects_Game_x64_Debug_VertexShader.cso
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0xffffffffffffffff
jne 0x140013a8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x334], eax
lea rcx, str.CreateFile
call fcn.14001123a
lea rdx, [rbp + 0x298]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140013ab1
lea rcx, str.GetFileSizeEx
call fcn.14001123a
mov r9d, 4
mov r8d, 0x1000
mov rdx, qword [rbp + 0x298]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x358], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x374]
mov r8d, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x358]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140013b1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x394], eax
lea rcx, str.ReadFile
call fcn.14001123a
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp + 0x374]
mov rcx, qword [0x140024258]
mov rcx, qword [rcx]
mov qword [rbp + 0x1738], rcx
lea rdx, [rbp + 0x3b8]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rbp + 0x358]
mov rcx, qword [0x140024258]
mov rax, qword [rbp + 0x1738]
call qword [rax + 0x60]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013b83
lea rcx, str.CreateVertexShader
call fcn.14001123a
mov eax, dword [rbp + 0x2f4]
mov rcx, qword [0x140024258]
mov rcx, qword [rcx]
mov qword [rbp + 0x1738], rcx
lea rdx, [rbp + 0x3d8]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rbp + 0x2d8]
mov rcx, qword [0x140024258]
mov rax, qword [rbp + 0x1738]
call qword [rax + 0x78]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013bdf
lea rcx, str.CreatePixelShader
call fcn.14001123a
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, str.c:_Projects_Game_seafloor.dds
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0xffffffffffffffff
jne 0x140013c3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x3f4], eax
lea rcx, str.CreateFile
call fcn.14001123a
lea rdx, [rbp + 0x298]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140013c60
lea rcx, str.GetFileSizeEx
call fcn.14001123a
mov r9d, 4
mov r8d, 0x1000
mov rdx, qword [rbp + 0x298]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x418], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x434]
mov r8d, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x418]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140013cc9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x454], eax
lea rcx, str.ReadFile
call fcn.14001123a
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, str.c:_Users_v_Downloads_vertices.d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0xffffffffffffffff
jne 0x140013d33
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x474], eax
lea rcx, str.CreateFile
call fcn.14001123a
lea rdx, [rbp + 0x298]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140013d57
lea rcx, str.GetFileSizeEx
call fcn.14001123a
mov r9d, 4
mov r8d, 0x1000
mov rdx, qword [rbp + 0x298]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x498], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x4b4]
mov r8d, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x498]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140013dc0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x4d4], eax
lea rcx, str.ReadFile
call fcn.14001123a
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
lea rcx, str.c:_Users_v_Downloads_indexes.d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0xffffffffffffffff
jne 0x140013e2a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x4f4], eax
lea rcx, str.CreateFile
call fcn.14001123a
lea rdx, [rbp + 0x298]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140013e4e
lea rcx, str.GetFileSizeEx
call fcn.14001123a
mov r9d, 4
mov r8d, 0x1000
mov rdx, qword [rbp + 0x298]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x518], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x534]
mov r8d, dword [rbp + 0x298]
mov rdx, qword [rbp + 0x518]
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140013eb7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x554], eax
lea rcx, str.ReadFile
call fcn.14001123a
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rbp + 0x578]
mov rdi, rax
xor eax, eax
mov ecx, 0x2c
rep stosb byte [rdi], al
mov dword [rbp + 0x578], 0x100
mov dword [rbp + 0x57c], 0x100
mov dword [rbp + 0x580], 1
mov dword [rbp + 0x584], 1
mov dword [rbp + 0x588], 0x1c
mov dword [rbp + 0x594], 2
mov dword [rbp + 0x598], 8
mov dword [rbp + 0x59c], 0x10000
mov dword [rbp + 0x5a0], 0
mov dword [rbp + 0x58c], 1
mov dword [rbp + 0x590], 0
lea rax, [rbp + 0x5c8]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x5c8], rax
mov dword [rbp + 0x5d0], 0x100
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r9, [rbp + 0x5f8]
lea r8, [rbp + 0x5c8]
lea rdx, [rbp + 0x578]
mov rcx, qword [0x140024258]
call qword [rax + 0x28]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013fb4
lea rcx, str.CreateTexture2D
call fcn.14001123a
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r9, [rbp + 0x618]
xor r8d, r8d
mov rdx, qword [rbp + 0x5f8]
mov rcx, qword [0x140024258]
call qword [rax + 0x38]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140013ff4
lea rcx, str.CreateDepthStencilView
call fcn.14001123a
lea rax, [rbp + 0x638]
mov rdi, rax
xor eax, eax
mov ecx, 0x34
rep stosb byte [rdi], al
mov dword [rbp + 0x638], 0x15
mov dword [rbp + 0x63c], 1
mov dword [rbp + 0x640], 1
mov dword [rbp + 0x644], 1
mov dword [rbp + 0x650], 1
xorps xmm0, xmm0
movss dword [rbp + 0x664], xmm0
movss xmm0, dword [0x140020cbc]
movss dword [rbp + 0x668], xmm0
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r8, [rbp + 0x688]
lea rdx, [rbp + 0x638]
mov rcx, qword [0x140024258]
call qword [rax + 0xb8]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140014094
lea rcx, str.CreateSamplerState
call fcn.14001123a
mov eax, dword [rbp + 0x4b4]
xor edx, edx
mov ecx, 8
div rcx
mov dword [rbp + 0x6a4], eax
mov eax, dword [rbp + 0x6a4]
cdq
mov ecx, 3
idiv ecx
mov dword [rbp + 0x6c4], eax
movsxd rax, dword [rbp + 0x6c4]
imul rax, rax, 0x20
mov r9d, 4
mov r8d, 0x1000
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x6e8], rax
mov rax, qword [rbp + 0x498]
mov qword [rbp + 0x708], rax
mov qword [rbp + 0x728], 0
jmp 0x140014113
mov rax, qword [rbp + 0x728]
inc rax
mov qword [rbp + 0x728], rax
movsxd rax, dword [rbp + 0x6c4]
cmp qword [rbp + 0x728], rax
jae 0x14001425e
imul rax, qword [rbp + 0x728], 3
mov rcx, qword [rbp + 0x708]
cvtsd2ss xmm0, qword [rcx + rax*8 + 0x10]
imul rax, qword [rbp + 0x728], 3
mov rcx, qword [rbp + 0x708]
cvtsd2ss xmm1, qword [rcx + rax*8 + 8]
imul rax, qword [rbp + 0x728], 3
mov rcx, qword [rbp + 0x708]
cvtsd2ss xmm2, qword [rcx + rax*8]
movss dword [rbp + 0x1734], xmm2
movaps xmm3, xmm0
movaps xmm2, xmm1
movss xmm0, dword [rbp + 0x1734]
movaps xmm1, xmm0
lea rcx, [rbp + 0x14a4]
call fcn.140011294
imul rcx, qword [rbp + 0x728], 0x20
mov rdx, qword [rbp + 0x6e8]
lea rdi, [rdx + rcx]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x14c4]
call fcn.1400110dc
mov rax, qword [rax]
imul rcx, qword [rbp + 0x728], 0x20
mov rdx, qword [rbp + 0x6e8]
mov qword [rdx + rcx + 0xc], rax
call qword [sym.imp.ucrtbased.dll_rand]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cvtsi2ss xmm0, eax
movss dword [rbp + 0x1734], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cvtsi2ss xmm0, eax
movss dword [rbp + 0x1738], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cvtsi2ss xmm0, eax
movss xmm1, dword [rbp + 0x1734]
movaps xmm3, xmm1
movss xmm1, dword [rbp + 0x1738]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x14e4]
call fcn.140011294
imul rcx, qword [rbp + 0x728], 0x20
mov rdx, qword [rbp + 0x6e8]
lea rdi, [rdx + rcx + 0x14]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
jmp 0x140014102
lea rax, [rbp + 0x748]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rbp + 0x74c], 0
movsxd rax, dword [rbp + 0x6c4]
imul rax, rax, 0x20
mov dword [rbp + 0x748], eax
mov dword [rbp + 0x750], 1
mov dword [rbp + 0x754], 0
mov dword [rbp + 0x758], 0
lea rax, [rbp + 0x778]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x6e8]
mov qword [rbp + 0x778], rax
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r9, [rbp + 0x7a8]
lea r8, [rbp + 0x778]
lea rdx, [rbp + 0x748]
mov rcx, qword [0x140024258]
call qword [rax + 0x18]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x14001430f
lea rcx, str.CreateVertexBuffer
call fcn.14001123a
mov dword [rbp + 0x7c4], 0x20
mov dword [rbp + 0x7e4], 0
mov rax, qword [0x140024268]
mov rax, qword [rax]
lea rcx, [rbp + 0x7e4]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x7c4]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x7a8]
mov r8d, 1
xor edx, edx
mov rcx, qword [0x140024268]
call qword [rax + 0x90]
mov eax, dword [rbp + 0x534]
xor edx, edx
mov ecx, 2
div rcx
mov dword [rbp + 0x804], eax
movsxd rax, dword [rbp + 0x804]
shl rax, 1
mov r9d, 4
mov r8d, 0x1000
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x828], rax
mov rax, qword [rbp + 0x518]
mov qword [rbp + 0x848], rax
mov qword [rbp + 0x868], 0
jmp 0x1400143cb
mov rax, qword [rbp + 0x868]
inc rax
mov qword [rbp + 0x868], rax
movsxd rax, dword [rbp + 0x804]
cmp qword [rbp + 0x868], rax
jae 0x140014401
mov rax, qword [rbp + 0x828]
mov rcx, qword [rbp + 0x868]
mov rdx, qword [rbp + 0x848]
mov rdi, qword [rbp + 0x868]
movzx edx, word [rdx + rdi*2]
mov word [rax + rcx*2], dx
jmp 0x1400143ba
lea rax, [rbp + 0x888]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rbp + 0x88c], 0
movsxd rax, dword [rbp + 0x804]
shl rax, 1
mov dword [rbp + 0x888], eax
mov dword [rbp + 0x890], 2
lea rax, [rbp + 0x8b8]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x828]
mov qword [rbp + 0x8b8], rax
mov dword [rbp + 0x894], 0
mov dword [rbp + 0x898], 0
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r9, [rbp + 0x8e8]
lea r8, [rbp + 0x8b8]
lea rdx, [rbp + 0x888]
mov rcx, qword [0x140024258]
call qword [rax + 0x18]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x1400144b1
lea rcx, str.CreateBuffer_index
call fcn.14001123a
mov rax, qword [0x140024268]
mov rax, qword [rax]
xor r9d, r9d
mov r8d, 0x39
mov rdx, qword [rbp + 0x8e8]
mov rcx, qword [0x140024268]
call qword [rax + 0x98]
mov rax, qword [0x140024268]
mov rax, qword [rax]
mov edx, 4
mov rcx, qword [0x140024268]
call qword [rax + 0xc0]
lea rax, str.POSITION
mov qword [rbp + 0x910], rax
mov dword [rbp + 0x918], 0
mov dword [rbp + 0x91c], 6
mov dword [rbp + 0x920], 0
mov dword [rbp + 0x924], 0xffffffff
mov dword [rbp + 0x928], 0
mov dword [rbp + 0x92c], 0
lea rax, str.TEXCOORD
mov qword [rbp + 0x930], rax
mov dword [rbp + 0x938], 0
mov dword [rbp + 0x93c], 0x10
mov dword [rbp + 0x940], 0
mov dword [rbp + 0x944], 0xffffffff
mov dword [rbp + 0x948], 0
mov dword [rbp + 0x94c], 0
lea rax, str.COLOR
mov qword [rbp + 0x950], rax
mov dword [rbp + 0x958], 0
mov dword [rbp + 0x95c], 6
mov dword [rbp + 0x960], 0
mov dword [rbp + 0x964], 0xffffffff
mov dword [rbp + 0x968], 0
mov dword [rbp + 0x96c], 0
mov dword [rbp + 0x984], 3
mov eax, dword [rbp + 0x374]
mov rcx, qword [0x140024258]
mov rcx, qword [rcx]
mov qword [rbp + 0x1738], rcx
lea rdx, [rbp + 0x9a8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x358]
mov r8d, dword [rbp + 0x984]
lea rdx, [rbp + 0x910]
mov rcx, qword [0x140024258]
mov rax, qword [rbp + 0x1738]
call qword [rax + 0x58]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140014645
lea rcx, str.CreateInputLayout
call fcn.14001123a
mov rax, qword [0x140024268]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x9a8]
mov rcx, qword [0x140024268]
call qword [rax + 0x88]
call fcn.140011316
movaps xmmword [rbp + 0x1540], xmm3
movaps xmmword [rbp + 0x1530], xmm2
movaps xmmword [rbp + 0x1520], xmm1
movaps xmmword [rbp + 0x1510], xmm0
lea rax, [rbp + 0x1570]
lea rcx, [rbp + 0x1510]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x9d0]
lea rcx, [rbp + 0x1570]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xa28]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rbp + 0xa2c], 0
mov dword [rbp + 0xa30], 4
mov dword [rbp + 0xa34], 0
mov qword [rbp + 0xa58], 0
mov dword [rbp + 0xa28], 0x40
mov rax, qword [0x140024258]
mov rax, qword [rax]
lea r9, [rbp + 0xa58]
xor r8d, r8d
lea rdx, [rbp + 0xa28]
mov rcx, qword [0x140024258]
call qword [rax + 0x18]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140014740
lea rcx, str.CreateBuffer_constant
call fcn.14001123a
lea rcx, [rbp + 0xa78]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x14001475d
lea rcx, str.QueryPerformanceFrequency_Failed.
call fcn.14001123a
mov rax, qword [rbp + 0xa78]
mov qword [rbp + 0xa98], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0xab8], rax
lea rcx, [rbp + 0xad8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
movsd qword [rbp + 0xaf8], xmm0
lea rax, [rbp + 0xb18]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
movss xmm0, dword [0x140020c70]
movss dword [rbp + 0xb48], xmm0
movss xmm0, dword [0x140020c70]
movss dword [rbp + 0xb4c], xmm0
movss xmm0, dword [0x140020c70]
movss dword [rbp + 0xb50], xmm0
movss xmm0, dword [0x140020c70]
movss dword [rbp + 0xb54], xmm0
lea rax, [rbp + 0xb78]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov qword [rbp + 0xba8], 0
mov byte [0x140024244], 1
mov byte [0x140024245], 1
movzx eax, byte [0x140024244]
test eax, eax
je 0x140014fcd
lea rax, [rbp + 0xbc8]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0xbc8]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140014871
lea rcx, [rbp + 0xbc8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0xbc8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x140014834
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0xc18], rax
lea rcx, [rbp + 0xc38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0xab8]
mov rcx, qword [rbp + 0xc18]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0xc58], rax
mov rax, qword [rbp + 0xad8]
mov rcx, qword [rbp + 0xc38]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0xc78], rax
mov rax, qword [rbp + 0xc78]
test rax, rax
jl 0x1400148d7
cvtsi2ss xmm0, rax
jmp 0x1400148f0
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movaps xmm0, xmm1
movss xmm1, dword [0x140020cb4]
mulss xmm1, xmm0
movaps xmm0, xmm1
mov rax, qword [rbp + 0xa98]
test rax, rax
jl 0x140014912
cvtsi2ss xmm1, rax
jmp 0x14001492b
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm2
divss xmm0, xmm1
movss dword [rbp + 0xc94], xmm0
mov rax, qword [rbp + 0xa98]
test rax, rax
jl 0x14001494a
cvtsi2ss xmm0, rax
jmp 0x140014963
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movaps xmm0, xmm1
mov rax, qword [rbp + 0xc78]
test rax, rax
jl 0x140014976
cvtsi2ss xmm1, rax
jmp 0x14001498f
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm2
divss xmm0, xmm1
movss dword [rbp + 0xcb4], xmm0
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0xad8], rax
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0xab8], rax
movzx eax, byte [0x140024245]
test eax, eax
je 0x140014fbd
movsd xmm0, qword [rbp + 0xaf8]
divsd xmm0, qword [0x140020c90]
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0xcd4], xmm0
mov eax, 4
imul rax, rax, 0
mov ecx, 4
imul rcx, rcx, 0
movss xmm2, dword [rbp + 0xcd4]
movss xmm1, dword [rbp + rax + 0xb48]
movss xmm0, dword [rbp + rcx + 0xb18]
call fcn.14001125d
mov eax, 4
imul rax, rax, 0
movss dword [rbp + rax + 0xb78], xmm0
mov eax, 4
imul rax, rax, 1
mov ecx, 4
imul rcx, rcx, 1
movss xmm2, dword [rbp + 0xcd4]
movss xmm1, dword [rbp + rax + 0xb48]
movss xmm0, dword [rbp + rcx + 0xb18]
call fcn.14001125d
mov eax, 4
imul rax, rax, 1
movss dword [rbp + rax + 0xb78], xmm0
mov eax, 4
imul rax, rax, 2
mov ecx, 4
imul rcx, rcx, 2
movss xmm2, dword [rbp + 0xcd4]
movss xmm1, dword [rbp + rax + 0xb48]
movss xmm0, dword [rbp + rcx + 0xb18]
call fcn.14001125d
mov eax, 4
imul rax, rax, 2
movss dword [rbp + rax + 0xb78], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rbp + 0xcf8], rax
cmp qword [0x1400242d8], 0
jne 0x140014ad0
mov rax, qword [rbp + 0xcf8]
mov qword [0x1400242d8], rax
mov rax, qword [0x1400242d8]
mov rcx, qword [rbp + 0xcf8]
sub rcx, rax
mov rax, rcx
test rax, rax
jl 0x140014af0
cvtsi2ss xmm0, rax
jmp 0x140014b09
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movaps xmm0, xmm1
divss xmm0, dword [0x140020cb4]
movss dword [0x1400242d0], xmm0
movss xmm0, dword [0x1400242d0]
call fcn.140011424
movaps xmmword [rbp + 0x16c0], xmm3
movaps xmmword [rbp + 0x16b0], xmm2
movaps xmmword [rbp + 0x16a0], xmm1
movaps xmmword [rbp + 0x1690], xmm0
lea rax, [rbp + 0x15d0]
lea rcx, [rbp + 0x1690]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x9d0]
lea rcx, [rbp + 0x15d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
movaps xmm0, xmmword [rbp + 0x9d0]
movaps xmm1, xmmword [rbp + 0x9e0]
movaps xmm2, xmmword [rbp + 0x9f0]
movaps xmm3, xmmword [rbp + 0xa00]
call fcn.1400110b4
movaps xmmword [rbp + 0x1720], xmm3
movaps xmmword [rbp + 0x1710], xmm2
movaps xmmword [rbp + 0x1700], xmm1
movaps xmmword [rbp + 0x16f0], xmm0
lea rax, [rbp + 0x1630]
lea rcx, [rbp + 0x16f0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x9d0]
lea rcx, [rbp + 0x1630]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
movsd xmm0, qword [rbp + 0xaf8]
comisd xmm0, xmmword [0x140020c90]
jb 0x140014dda
xorps xmm0, xmm0
movsd qword [rbp + 0xaf8], xmm0
mov eax, 4
imul rax, rax, 0
mov ecx, 4
imul rcx, rcx, 0
movss xmm0, dword [rbp + rax + 0xb78]
movss dword [rbp + rcx + 0xb18], xmm0
mov eax, 4
imul rax, rax, 1
mov ecx, 4
imul rcx, rcx, 1
movss xmm0, dword [rbp + rax + 0xb78]
movss dword [rbp + rcx + 0xb18], xmm0
mov eax, 4
imul rax, rax, 2
mov ecx, 4
imul rcx, rcx, 2
movss xmm0, dword [rbp + rax + 0xb78]
movss dword [rbp + rcx + 0xb18], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x140020ca0]
cvtsd2ss xmm0, xmm0
mov eax, 4
imul rax, rax, 0
movss dword [rbp + rax + 0xb48], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x140020ca0]
cvtsd2ss xmm0, xmm0
mov eax, 4
imul rax, rax, 1
movss dword [rbp + rax + 0xb48], xmm0
call qword [sym.imp.ucrtbased.dll_rand]
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x140020ca0]
cvtsd2ss xmm0, xmm0
mov eax, 4
imul rax, rax, 2
movss dword [rbp + rax + 0xb48], xmm0
lea rdx, [rbp + 0xd18]
mov rcx, qword [0x140024250]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [rbp + 0xd18]
mov ecx, dword [rbp + 0xd20]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xd44], eax
mov eax, dword [rbp + 0xd1c]
mov ecx, dword [rbp + 0xd24]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xd64], eax
mov rax, qword [rbp + 0xc58]
test rax, rax
jl 0x140014d43
cvtsi2ss xmm0, rax
jmp 0x140014d5c
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movaps xmm0, xmm1
divss xmm0, dword [0x140020cb8]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, dword [rbp + 0xcb4]
cvtss2sd xmm2, dword [rbp + 0xc94]
mov eax, dword [rbp + 0xd64]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0xd44]
mov dword [rsp + 0x38], eax
mov eax, dword [0x140024294]
mov dword [rsp + 0x30], eax
mov eax, dword [0x140024290]
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movq r9, xmm3
movq r8, xmm2
lea rdx, str._fms___fFPS___fGCycles__buf:_ux_u__win:_ux_u_n
lea rcx, [rbp + 0xd90]
call fcn.1400111d6
lea rdx, [rbp + 0xd90]
mov rcx, qword [0x140024250]
call qword [sym.imp.USER32.dll_SetWindowTextA]
cvtss2sd xmm0, dword [rbp + 0xc94]
movsd xmm1, qword [rbp + 0xaf8]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rbp + 0xaf8], xmm0
mov rax, qword [0x140024268]
mov rax, qword [rax]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
lea rcx, [rbp + 0x9d0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0xa58]
mov rcx, qword [0x140024268]
call qword [rax + 0x180]
mov rax, qword [0x140024268]
mov rax, qword [rax]
lea r8, [rbp + 0xb78]
mov rdx, qword [0x140024278]
mov rcx, qword [0x140024268]
call qword [rax + 0x190]
mov rax, qword [0x140024268]
mov rax, qword [rax]
mov byte [rsp + 0x20], 0
movss xmm3, dword [0x140020c70]
mov r8d, 1
mov rdx, qword [0x140024270]
mov rcx, qword [0x140024268]
call qword [rax + 0x1a8]
mov rax, qword [0x140024268]
mov rax, qword [rax]
lea r9, [rbp + 0xa58]
mov r8d, 1
xor edx, edx
mov rcx, qword [0x140024268]
call qword [rax + 0x38]
mov rax, qword [0x140024268]
mov rax, qword [rax]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0x3b8]
mov rcx, qword [0x140024268]
call qword [rax + 0x58]
mov rax, qword [0x140024268]
mov rax, qword [rax]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0x3d8]
mov rcx, qword [0x140024268]
call qword [rax + 0x48]
mov rax, qword [0x140024268]
mov rax, qword [rax]
lea r9, [rbp + 0x618]
mov r8d, 1
xor edx, edx
mov rcx, qword [0x140024268]
call qword [rax + 0x40]
mov rax, qword [0x140024268]
mov rax, qword [rax]
lea r9, [rbp + 0x688]
mov r8d, 1
xor edx, edx
mov rcx, qword [0x140024268]
call qword [rax + 0x50]
mov rax, qword [0x140024268]
mov rax, qword [rax]
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x804]
mov rcx, qword [0x140024268]
call qword [rax + 0x60]
mov rax, qword [0x140024260]
mov rax, qword [rax]
xor r8d, r8d
mov edx, 1
mov rcx, qword [0x140024260]
call qword [rax + 0x40]
mov dword [0x140024240], eax
cmp dword [0x140024240], 0
jge 0x140014f91
lea rcx, str.Present_Fail
call fcn.14001123a
mov rax, qword [0x140024268]
mov rax, qword [rax]
mov r9, qword [0x140024270]
lea r8, [0x140024278]
mov edx, 1
mov rcx, qword [0x140024268]
call qword [rax + 0x108]
jmp 0x140014fc8
mov ecx, 0x10
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140014812
xor eax, eax
mov edi, eax
lea rcx, [rbp - 0x60]
lea rdx, [0x14001fa70]
call fcn.1400113c5
mov eax, edi
mov rcx, qword [rbp + 0x1740]
xor rcx, rbp
call fcn.14001121c
lea rsp, [rbp + 0x1750]
pop rdi
pop rsi
pop rbp
ret