Function at 0x2e3d6afa0
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x70], xmm9
movd xmm5, edx
movd xmm6, ecx
mov rsi, r8
mov ecx, 3
lea r8, [0x2e3ef026c]
lea rdx, str.Initializing_raylib__s
punpckldq xmm6, xmm5
call fcn.2e3e42a40
lea rdx, str.Supported_raylib_modules:
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rcore:....._loaded__mandatory_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rlgl:......_loaded__mandatory_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rshapes:..._loaded__optional_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rtextures:._loaded__optional_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rtext:....._loaded__optional_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______rmodels:..._loaded__optional_
mov ecx, 3
call fcn.2e3e42a40
lea rdx, str.______raudio:...._loaded__optional_
mov ecx, 3
call fcn.2e3e42a40
mov rbx, qword [0x2e3f09580]
test rsi, rsi
je 0x2e3d6b086
cmp byte [rsi], 0
jne 0x2e3d6b3c0
xor eax, eax
lea rdi, [rbx + 0xa8]
mov ecx, 0xfa
movaps xmm7, xmmword [0x2e3ef1110]
rep stosq qword [rdi], rax
mov rax, qword [0x2e3ef1170]
movaps xmm8, xmmword [0x2e3ef1120]
movq qword [rbx + 0x2c], xmm6
movaps xmm9, xmmword [0x2e3ef1130]
mov rdx, qword [0x2e3f099f0]
movss xmm6, dword [0x2e3ef1100]
movups xmmword [rbx + 0x5c], xmm7
mov qword [rbx + 0x53c], rax
mov rax, qword [0x2e3f0b060]
movups xmmword [rbx + 0x4c], xmm6
movups xmmword [rbx + 0x6c], xmm8
movups xmmword [rbx + 0x7c], xmm9
mov dword [rdi], 0
mov dword [rbx + 0xa8], 0x100
mov dword [rbx + 0x554], 1
mov dword [rbx + 0x5f0], 0xffffffff
mov qword [rax], rdx
call fcn.2e3c40870
test eax, eax
je 0x2e3d6b3d0
mov rsi, qword [0x2e3f0b050]
mov r9d, dword [rsi]
test r9d, r9d
je 0x2e3d6ba10
mov r8d, dword [rsi + 0x410]
test r8d, r8d
je 0x2e3d6ba1c
mov rax, qword [rsi + 0x408]
mov rcx, qword [rax]
test rcx, rcx
je 0x2e3d6ba1c
call fcn.2e3c35980
mov ecx, dword [rbx + 0x2c]
mov edx, dword [rax]
mov dword [rbx + 0x24], edx
mov eax, dword [rax + 4]
mov dword [rbx + 0x28], eax
test ecx, ecx
jne 0x2e3d6b16d
mov dword [rbx + 0x2c], edx
mov edx, dword [rbx + 0x30]
test edx, edx
jne 0x2e3d6b177
mov dword [rbx + 0x30], eax
call fcn.2e3c36200
mov eax, dword [rbx + 0x10]
test al, 2
je 0x2e3d6b187
mov byte [rbx + 0x15], 1
test al, 0x80
je 0x2e3d6b9d0
xor edx, edx
mov ecx, 0x20004
call fcn.2e3c36340
test byte [rbx + 0x10], 8
je 0x2e3d6b9b8
xor edx, edx
mov ecx, 0x20005
call fcn.2e3c36340
test byte [rbx + 0x10], 4
je 0x2e3d6b9a0
mov edx, 1
mov ecx, 0x20003
call fcn.2e3c36340
mov eax, dword [rbx + 0x10]
test ah, 2
je 0x2e3d6b1d8
and ah, 0xfd
mov dword [rbx + 0x10], eax
test ah, 4
je 0x2e3d6b1e3
and ah, 0xfb
mov dword [rbx + 0x10], eax
test ah, 8
je 0x2e3d6b988
xor edx, edx
mov ecx, 0x20001
call fcn.2e3c36340
test byte [rbx + 0x11], 0x10
je 0x2e3d6b970
mov edx, 1
mov ecx, 0x20007
call fcn.2e3c36340
test byte [rbx + 0x10], 0x10
je 0x2e3d6b958
mov edx, 1
mov ecx, 0x2000a
call fcn.2e3c36340
test byte [rbx + 0x11], 0x20
je 0x2e3d6b940
mov edx, 1
mov ecx, 0x2200c
call fcn.2e3c36340
test byte [rbx + 0x11], 0x40
je 0x2e3d6b900
mov edx, 1
mov ecx, 0x2000d
call fcn.2e3c36340
test byte [rbx + 0x10], 0x20
jne 0x2e3d6b916
mov edx, 3
mov ecx, 0x22002
call fcn.2e3c36340
mov edx, 3
mov ecx, 0x22003
call fcn.2e3c36340
mov edx, 0x32001
mov ecx, 0x22008
call fcn.2e3c36340
xor edx, edx
mov ecx, 0x22006
call fcn.2e3c36340
xor ecx, ecx
call fcn.2e3c392e0
cmp byte [rbx + 0x15], 0
je 0x2e3d6b420
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x2c]
mov dword [rsp + 0x30], 0
mov ecx, dword [rbx + 0x30]
shr edx, 1
shr eax, 1
sub eax, edx
mov edx, 0
cmovs eax, edx
mov edx, dword [rbx + 0x28]
shr ecx, 1
shr edx, 1
movd xmm0, eax
mov eax, dword [rsi]
sub edx, ecx
mov ecx, 0
cmovs edx, ecx
movd xmm4, edx
punpckldq xmm0, xmm4
movq qword [rbx + 0x1c], xmm0
test eax, eax
je 0x2e3d6c353
mov r12d, dword [rsi + 0x410]
test r12d, r12d
je 0x2e3d6c170
mov rax, qword [rsi + 0x408]
mov rcx, qword [rax]
lea rdx, [rsp + 0x30]
call fcn.2e3c3c620
mov ecx, dword [rsp + 0x30]
test ecx, ecx
jle 0x2e3d6b35b
lea rcx, [rcx + rcx*2]
mov edx, dword [rbx + 0x2c]
mov r9d, dword [rbx + 0x30]
lea rcx, [rax + rcx*8]
nop word cs:[rax + rax]
mov r8d, dword [rax]
cmp r8d, edx
jb 0x2e3d6b352
cmp dword [rax + 4], r9d
jae 0x2e3d6be80
add rax, 0x18
cmp rcx, rax
jne 0x2e3d6b340
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x24]
lea rdx, str.SYSTEM:_Closest_fullscreen_videomode:__i_x__i
mov ecx, 4
call fcn.2e3e428c0
mov eax, dword [rbx + 0x24]
mov r8d, dword [rbx + 0x2c]
mov edx, dword [rbx + 0x28]
cmp eax, r8d
jb 0x2e3d6bb60
mov r9d, dword [rbx + 0x30]
mov rcx, qword [rbx + 0x2c]
cmp edx, r9d
jb 0x2e3d6bb64
cmp eax, r8d
ja 0x2e3d6ba60
cmp edx, r9d
ja 0x2e3d6ba60
mov qword [rbx + 0x3c], rcx
mov qword [rbx + 0x44], 0
jmp 0x2e3d6bc72
mov qword [rbx + 8], rsi
jmp 0x2e3d6b086
lea rdx, str.GLFW:_Failed_to_initialize_GLFW
mov ecx, 4
call fcn.2e3e428c0
mov byte [rbx + 0x14], 0
movaps xmm6, xmmword [rsp + 0x40]
mov ecx, 6
lea rdx, str.Failed_to_initialize_Graphic_Device
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
jmp fcn.2e3c89820
mov edx, dword [rbx + 0x30]
mov ecx, dword [rbx + 0x2c]
cmp edx, dword [rbx + 0x28]
je 0x2e3d6ba38
mov rax, qword [rbx + 8]
lea r8, [0x2e3ef026a]
mov qword [rsp + 0x20], 0
mov r9d, 0
test rax, rax
cmovne r8, rax
call fcn.2e3c418c0
mov qword [rbx], rax
mov r12, rax
test rax, rax
je 0x2e3d6b9e8
movq xmm0, qword [rbx + 0x2c]
mov eax, dword [rsi]
mov edx, dword [rbx + 0x24]
mov r8d, dword [rbx + 0x28]
pshufd xmm3, xmm0, 0xe5
movd ecx, xmm0
movd r9d, xmm3
test eax, eax
je 0x2e3d6c322
cmp qword [r12 + 0x50], 0
je 0x2e3d6c2a8
movq qword [rbx + 0x3c], xmm0
test r12, r12
je 0x2e3d6b9e8
test eax, eax
je 0x2e3d6be98
mov rax, qword [0x2e3f0ae90]
mov qword [r12 + 0x2d8], rax
mov rax, qword [0x2e3f0ae80]
mov qword [r12 + 0x300], rax
mov rax, qword [rbx]
test rax, rax
je 0x2e3d6bee8
mov rdx, qword [0x2e3f0ae70]
mov qword [rax + 0x2f8], rdx
mov rdx, rax
mov rcx, qword [0x2e3f0ae60]
mov qword [rax + 0x2f0], rcx
mov rcx, qword [0x2e3f0ae50]
mov qword [rdx + 0x350], rcx
mov rcx, qword [0x2e3f09ef0]
mov qword [rax + 0x338], rcx
mov rcx, qword [0x2e3f096c0]
mov qword [rdx + 0x340], rcx
mov rcx, qword [0x2e3f0a140]
mov qword [rax + 0x318], rcx
mov rcx, qword [0x2e3f0a150]
mov qword [rdx + 0x320], rcx
mov rcx, qword [0x2e3f0a160]
mov qword [rax + 0x330], rcx
mov rcx, rax
mov rax, qword [0x2e3f096d0]
mov qword [rdx + 0x328], rax
call fcn.2e3c32a10
mov r9d, dword [rsi]
test r9d, r9d
je 0x2e3d6bcd0
cmp dword [rsi + 0x162c], 1
je 0x2e3d6b58c
mov r8d, 0x40
lea rdx, str.C:Users_braid.nimblepkgs2_nimraylib_now_0.15.0_f136f0da2803a36acc6b869bbc8b621193f1849ccsources_raylib_mangledexternal_glfw_src_win32_thread.c
lea rcx, str.tls__win32.allocated__GLFW_TRUE
call qword [sym.imp.msvcrt.dll__wassert]
mov ecx, dword [rsi + 0x1630]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x2e3d6c33d
xor ecx, ecx
call qword [rax + 0x260]
mov ecx, dword [rbx + 0x10]
test cl, 0x40
jne 0x2e3d6bce8
mov edx, dword [rbx + 0x2c]
mov eax, dword [rbx + 0x30]
and ch, 0x20
jne 0x2e3d6bd15
mov dword [rbx + 0x3c], edx
mov ecx, 3
mov edi, 0xbf800000
mov dword [rbx + 0x34], edx
lea rdx, str.DISPLAY:_Device_initialized_successfully
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x38], eax
call fcn.2e3e42a40
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x24]
lea rdx, str.______Display_size:__i_x__i
mov ecx, 3
call fcn.2e3e42a40
mov r9d, dword [rbx + 0x30]
mov r8d, dword [rbx + 0x2c]
lea rdx, str.______Screen_size:___i_x__i
mov ecx, 3
call fcn.2e3e42a40
mov r9d, dword [rbx + 0x40]
mov r8d, dword [rbx + 0x3c]
lea rdx, str.______Render_size:___i_x__i
mov ecx, 3
call fcn.2e3e42a40
mov r9d, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x44]
lea rdx, str.______Viewport_offsets:__i___i
mov ecx, 3
call fcn.2e3e42a40
mov rcx, qword [0x2e3f0f480]
call fcn.2e3d56ef0
mov edx, dword [rbx + 0x38]
mov ecx, dword [rbx + 0x34]
call fcn.2e3d57c40
mov eax, dword [rbx + 0x48]
movq xmm0, qword [rbx + 0x34]
mov r9d, dword [rbx + 0x38]
mov edx, eax
movq qword [rbx + 0x3c], xmm0
movd r8d, xmm0
shr edx, 0x1f
add edx, eax
mov eax, dword [rbx + 0x44]
sar edx, 1
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
mov rax, qword [0x2e3f0f430]
sar ecx, 1
call qword [rax]
mov eax, dword [rbx + 0x40]
mov rbx, qword [0x2e3f09580]
pxor xmm0, xmm0
pxor xmm4, xmm4
movss xmm2, dword [0x2e3ef1178]
cvtsi2sd xmm0, rax
mov edx, dword [rbx + 0x3c]
mov rax, qword [0x2e3f0a900]
movaps xmm3, xmm2
cvtsi2ss xmm4, rdx
lea rdx, [rax + 0x50]
mov qword [rax + 0x9c], rdi
movabs rdi, 0xbf800000c0000000
mov qword [rax + 0xb8], rdi
movabs rdi, 0x3f80000000000000
movapd xmm1, xmm0
cvtsd2ss xmm0, xmm0
xorpd xmm1, xmmword [0x2e3ef1160]
xorps xmm0, xmmword [0x2e3ef1150]
mov qword [rax + 0x94], 0
cvtsd2ss xmm1, xmm1
divss xmm3, xmm4
mov dword [rax + 0xa8], 0
mov qword [rax + 0xb0], 0
mov qword [rax + 0xc0], 0
mov qword [rax + 0xc8], rdi
mov qword [rax + 0x48], rdx
mov dword [rax + 0x44], 0x1700
movaps xmmword [rax + 0x50], xmm6
movaps xmmword [rax + 0x60], xmm7
movaps xmmword [rax + 0x70], xmm8
movaps xmmword [rax + 0x80], xmm9
divss xmm2, xmm1
movss dword [rax + 0x90], xmm3
divss xmm0, xmm1
movss dword [rax + 0xa4], xmm2
movss dword [rax + 0xac], xmm0
test byte [rbx + 0x11], 2
jne 0x2e3d6bdf0
mov ecx, 1
mov byte [rbx + 0x14], 1
call sub.WINMM.dll_timeBeginPeriod
mov edx, dword [rsi]
test edx, edx
je 0x2e3d6bb20
mov eax, dword [rsi + 0x1670]
test eax, eax
jne 0x2e3d6be20
call qword [rsi + 0x24a8]
mov eax, eax
sub rax, qword [rsi + 0x1668]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jns 0x2e3d6b7e0
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
mov rax, qword [rsi + 0x1678]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x2e3d6b80e
mov rdx, rax
and eax, 1
pxor xmm1, xmm1
shr rdx, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [rbx + 0x888], xmm0
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov ecx, eax
call sub.msvcrt.dll_srand
mov r8, qword [0x2e3f0b1b0]
xor eax, eax
mov ecx, 0x200
mov edx, 0xfff
mov rdi, r8
rep stosq qword [rdi], rax
mov rcx, r8
call qword [sym.imp.msvcrt.dll__getcwd]
mov qword [rbx + 0xa0], rax
call fcn.2e3c80880
mov rsi, qword [0x2e3f0b1c0]
movaps xmm1, xmmword [0x2e3ef1170]
mov rax, qword [rsi + 0x20]
mov ecx, dword [rsi + 0xc]
movdqa xmm5, xmmword [rsi + 0x10]
movups xmm0, xmmword [rax + 0x5f0]
mov rax, qword [0x2e3f0fca0]
addps xmm1, xmm0
addps xmm0, xmmword [0x2e3ef1180]
mov dword [rax], ecx
movups xmmword [rax + 4], xmm5
mov rax, qword [0x2e3f0fcb0]
shufps xmm1, xmm0, 0xe4
movaps xmmword [rax], xmm1
test byte [rbx + 0x11], 0x20
jne 0x2e3d6bb38
mov eax, dword [rbx + 0x2c]
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtsi2ss xmm0, rax
mov rax, qword [0x2e3f09580]
mov edx, dword [rax + 0x30]
cvtsi2ss xmm1, rdx
unpcklps xmm0, xmm1
movq xmm1, qword [0x2e3ef1190]
mulps xmm0, xmm1
movlps qword [rax + 0x544], xmm0
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
ret
xor edx, edx
mov ecx, 0x2000d
call fcn.2e3c36340
test byte [rbx + 0x10], 0x20
je 0x2e3d6b266
lea rdx, str.DISPLAY:_Trying_to_enable_MSAA_x4
mov ecx, 3
call fcn.2e3e42a40
mov edx, 4
mov ecx, 0x2100d
call fcn.2e3c36340
jmp 0x2e3d6b266
xor edx, edx
mov ecx, 0x2200c
call fcn.2e3c36340
jmp 0x2e3d6b243
xor edx, edx
mov ecx, 0x2000a
call fcn.2e3c36340
jmp 0x2e3d6b22a
xor edx, edx
mov ecx, 0x20007
call fcn.2e3c36340
jmp 0x2e3d6b211
mov edx, 1
mov ecx, 0x20001
call fcn.2e3c36340
jmp 0x2e3d6b1f8
xor edx, edx
mov ecx, 0x20003
call fcn.2e3c36340
jmp 0x2e3d6b1ca
mov edx, 1
mov ecx, 0x20005
call fcn.2e3c36340
jmp 0x2e3d6b1b1
mov edx, 1
mov ecx, 0x20004
call fcn.2e3c36340
jmp 0x2e3d6b19b
mov r10d, dword [rsi]
test r10d, r10d
je 0x2e3d6b9f5
call fcn.2e3c405e0
lea rdx, str.GLFW:_Failed_to_initialize_Window
mov ecx, 4
call fcn.2e3e428c0
jmp 0x2e3d6b3e1
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
lea rdx, str.GLFW:_Failed_to_get_primary_monitor
mov ecx, 4
call fcn.2e3e428c0
jmp 0x2e3d6b3e1
cmp dword [rbx + 0x24], ecx
jne 0x2e3d6b42f
xor edx, edx
mov ecx, 0x20006
call fcn.2e3c36340
mov edx, dword [rbx + 0x30]
mov ecx, dword [rbx + 0x2c]
jmp 0x2e3d6b42f
mov dword [rsp + 0x28], edx
mov ecx, 3
lea rdx, str.DISPLAY:_Upscaling_required:_Screen_size___ix_i__smaller_than_display_size___ix_i_
mov dword [rsp + 0x20], eax
call fcn.2e3e42a40
mov eax, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x24]
test eax, eax
jne 0x2e3d6c120
mov edx, dword [rbx + 0x28]
mov dword [rbx + 0x2c], ecx
mov eax, ecx
mov dword [rbx + 0x30], edx
mov r8d, edx
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2ss xmm1, rdx
mov edx, eax
cvtsi2ss xmm0, rcx
divss xmm0, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, rdx
mov edx, r8d
cvtsi2ss xmm2, rdx
movaps xmm3, xmm1
divss xmm3, xmm2
comiss xmm3, xmm0
jb 0x2e3d6c2dd
divss xmm1, xmm0
movss xmm2, dword [0x2e3ef1150]
movss xmm0, dword [0x2e3ef1140]
mov dword [rbx + 0x44], 0
andps xmm2, xmm1
orps xmm0, xmm2
addss xmm0, xmm1
cvttss2si edx, xmm0
movd xmm0, eax
movd xmm5, edx
sub edx, r8d
punpckldq xmm0, xmm5
mov dword [rbx + 0x48], edx
movq qword [rbx + 0x3c], xmm0
jmp 0x2e3d6bc72
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
pxor xmm0, xmm0
jmp 0x2e3d6b812
mov r8d, 0x2601
mov edx, 0x2801
call fcn.2e3d56390
mov ecx, dword [rsi + 0xc]
mov r8d, 0x2601
mov edx, 0x2800
call fcn.2e3d56390
jmp 0x2e3d6b8a7
mov r9d, dword [rbx + 0x30]
mov dword [rsp + 0x28], edx
mov ecx, 4
lea rdx, str.DISPLAY:_Downscaling_required:_Screen_size___ix_i__is_bigger_than_display_size___ix_i_
mov dword [rsp + 0x20], eax
call fcn.2e3e428c0
mov eax, dword [rbx + 0x2c]
mov r8d, dword [rbx + 0x24]
pxor xmm4, xmm4
movq xmm3, qword [rbx + 0x24]
pxor xmm2, xmm2
pxor xmm1, xmm1
pxor xmm0, xmm0
mov rbx, qword [0x2e3f09580]
cvtsi2ss xmm4, rax
mov eax, r8d
cvtsi2ss xmm2, rax
pshufd xmm5, xmm3, 0xe5
movd r9d, xmm5
mov eax, dword [rbx + 0x30]
cvtsi2ss xmm1, rax
mov eax, r9d
cvtsi2ss xmm0, rax
divss xmm2, xmm4
divss xmm0, xmm1
comiss xmm0, xmm2
jb 0x2e3d6be38
mulss xmm1, xmm2
movss xmm4, dword [0x2e3ef1150]
movss xmm0, dword [0x2e3ef1140]
movd edi, xmm5
andps xmm4, xmm1
orps xmm0, xmm4
addss xmm0, xmm1
cvttss2si eax, xmm0
pxor xmm0, xmm0
sub edi, eax
movd xmm1, edi
movabs rax, 0x3f80000000000000
mov qword [rbx + 0x50], 0
punpckldq xmm0, xmm1
lea rdx, str.DISPLAY:_Downscale_matrix_generated__content_will_be_rendered_at___ix_i_
mov qword [rbx + 0x58], 0
mov ecx, 4
mov qword [rbx + 0x64], 0
mov qword [rbx + 0x6c], 0
mov qword [rbx + 0x74], 0x3f800000
mov qword [rbx + 0x7c], 0
mov qword [rbx + 0x84], rax
movq qword [rbx + 0x44], xmm0
movq qword [rbx + 0x3c], xmm3
movss dword [rbx + 0x4c], xmm2
movss dword [rbx + 0x60], xmm2
call fcn.2e3e428c0
mov edi, dword [rsi]
test edi, edi
je 0x2e3d6c3a4
mov r11d, dword [rsi + 0x410]
test r11d, r11d
je 0x2e3d6c180
mov rax, qword [rsi + 0x408]
mov r9, qword [rax]
mov rax, qword [rbx + 8]
mov edx, dword [rbx + 0x28]
lea r8, [0x2e3ef026a]
mov ecx, dword [rbx + 0x24]
mov qword [rsp + 0x20], 0
test rax, rax
cmovne r8, rax
call fcn.2e3c418c0
mov qword [rbx], rax
mov r12, rax
mov eax, dword [rsi]
jmp 0x2e3d6b499
mov ecx, 0x10001
xor edx, edx
call fcn.2e3c320f0
mov ecx, dword [rbx + 0x10]
test cl, 0x40
je 0x2e3d6b5b5
mov ecx, 1
call fcn.2e3c32c00
lea rdx, str.DISPLAY:_Trying_to_enable_VSYNC
mov ecx, 3
call fcn.2e3e42a40
mov ecx, dword [rbx + 0x10]
mov edx, dword [rbx + 0x2c]
mov eax, dword [rbx + 0x30]
and ch, 0x20
je 0x2e3d6b5c4
mov rdi, qword [rbx]
test rdi, rdi
je 0x2e3d6c366
mov r8d, dword [rsi]
test r8d, r8d
je 0x2e3d6c138
lea rdx, [rsp + 0x30]
mov rcx, qword [rdi + 0x358]
call qword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
pxor xmm3, xmm3
pxor xmm2, xmm2
cvtsi2ss xmm3, eax
cvtsi2ss xmm2, edx
mov ecx, dword [rbx + 0x30]
pxor xmm1, xmm1
pxor xmm0, xmm0
movaps xmm4, xmm2
mov rbx, qword [0x2e3f09580]
movabs rdi, 0x3f80000000000000
cvtsi2ss xmm1, rcx
mov ecx, dword [rbx + 0x2c]
mov qword [rbx + 0x50], 0
mov qword [rbx + 0x58], 0
cvtsi2ss xmm0, rcx
mov qword [rbx + 0x64], 0
mov qword [rbx + 0x6c], 0
mov qword [rbx + 0x74], 0x3f800000
mov qword [rbx + 0x7c], 0
divss xmm4, xmm0
mov qword [rbx + 0x84], rdi
divss xmm0, xmm2
movss dword [rbx + 0x4c], xmm4
movaps xmm4, xmm3
divss xmm4, xmm1
divss xmm1, xmm3
movss dword [rbx + 0x60], xmm4
unpcklps xmm0, xmm1
movlps qword [rbx + 0x53c], xmm0
jmp 0x2e3d6b5c4
mov rdi, qword [rbx]
test rdi, rdi
je 0x2e3d6c385
mov ecx, dword [rsi]
test ecx, ecx
je 0x2e3d6c158
mov rcx, qword [rdi + 0x358]
mov edx, 6
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x2e3d6b787
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
jmp 0x2e3d6b7b5
mulss xmm0, xmm4
movss xmm2, dword [0x2e3ef1150]
movss xmm1, dword [0x2e3ef1140]
mov edi, r8d
andps xmm2, xmm0
orps xmm1, xmm2
pxor xmm2, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
pxor xmm1, xmm1
sub edi, eax
mov eax, eax
cvtsi2ss xmm2, rax
movd xmm0, edi
divss xmm2, xmm4
jmp 0x2e3d6bc08
mov dword [rbx + 0x24], r8d
mov r9d, dword [rax + 4]
mov dword [rbx + 0x28], r9d
jmp 0x2e3d6b363
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov r12, qword [rbx]
test r12, r12
jne 0x2e3d6bec6
mov r8d, 0x41c
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
mov eax, dword [rsi]
test eax, eax
jne 0x2e3d6b4b9
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x2e3d6bf04
nop dword [rax]
lea rdx, [0x2e3eefda8]
mov r8d, 0x411
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor edx, edx
mov r9d, dword [rsi]
test r9d, r9d
je 0x2e3d6c288
mov rcx, qword [0x2e3f0ae70]
mov rax, qword [rbx]
mov qword [rdx + 0x2f8], rcx
test rax, rax
jne 0x2e3d6c3e0
mov r8d, 0x406
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor eax, eax
mov r8d, dword [rsi]
test r8d, r8d
je 0x2e3d6c268
mov rcx, qword [0x2e3f0ae60]
mov rdx, qword [rbx]
mov qword [rax + 0x2f0], rcx
test rdx, rdx
jne 0x2e3d6c3d8
lea rdx, [0x2e3ef0150]
mov r8d, 0x39d
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor edx, edx
mov ecx, dword [rsi]
test ecx, ecx
je 0x2e3d6c1f0
mov rcx, qword [0x2e3f0ae50]
mov rax, qword [rbx]
mov qword [rdx + 0x350], rcx
test rax, rax
jne 0x2e3d6c3b8
mov r8d, 0x353
lea rdx, [0x2e3ef0150]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor eax, eax
mov edx, dword [rsi]
test edx, edx
je 0x2e3d6c1d0
mov rcx, qword [0x2e3f09ef0]
mov rdx, qword [rbx]
mov qword [rax + 0x338], rcx
test rdx, rdx
jne 0x2e3d6c3d0
lea rdx, [0x2e3ef0150]
mov r8d, 0x35d
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor edx, edx
mov eax, dword [rsi]
test eax, eax
je 0x2e3d6c1b0
mov rcx, qword [0x2e3f096c0]
mov rax, qword [rbx]
mov qword [rdx + 0x340], rcx
test rax, rax
jne 0x2e3d6c3c8
mov r8d, 0x372
lea rdx, [0x2e3ef0150]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor eax, eax
mov r12d, dword [rsi]
test r12d, r12d
je 0x2e3d6c190
mov rcx, qword [0x2e3f0a140]
mov rdx, qword [rbx]
mov qword [rax + 0x318], rcx
test rdx, rdx
jne 0x2e3d6c3c0
lea rdx, [0x2e3ef0150]
mov r8d, 0x37d
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor edx, edx
mov edi, dword [rsi]
test edi, edi
je 0x2e3d6c248
mov rcx, qword [0x2e3f0a150]
mov rax, qword [rbx]
mov qword [rdx + 0x320], rcx
test rax, rax
jne 0x2e3d6c3f0
mov r8d, 0x393
lea rdx, [0x2e3ef0150]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor eax, eax
mov r11d, dword [rsi]
test r11d, r11d
je 0x2e3d6c228
mov rcx, qword [0x2e3f0a160]
mov rdx, qword [rbx]
mov qword [rax + 0x330], rcx
test rdx, rdx
jne 0x2e3d6c3e8
lea rdx, [0x2e3ef0150]
mov r8d, 0x388
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
xor edx, edx
mov r10d, dword [rsi]
test r10d, r10d
je 0x2e3d6c210
mov rcx, qword [rbx]
jmp 0x2e3d6b54a
mov r8d, dword [rbx + 0x30]
test r8d, r8d
je 0x2e3d6ba87
mov edx, dword [rbx + 0x28]
jmp 0x2e3d6ba95
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
pxor xmm2, xmm2
xor eax, eax
xor edx, edx
movaps xmm3, xmm2
jmp 0x2e3d6bd57
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6b787
xor ecx, ecx
jmp 0x2e3d6b315
xor r9d, r9d
jmp 0x2e3d6bc96
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x2e3d6c08a
jmp 0x2e3d6c06e
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rax, qword [rbx]
test rax, rax
jne 0x2e3d6c048
jmp 0x2e3d6c02c
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x2e3d6c008
jmp 0x2e3d6bfec
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rax, qword [rbx]
test rax, rax
jne 0x2e3d6bfc8
jmp 0x2e3d6bfac
mov ecx, 0x10001
xor edx, edx
call fcn.2e3c320f0
mov rcx, qword [rbx]
jmp 0x2e3d6b558
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x2e3d6c10c
jmp 0x2e3d6c0f0
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rax, qword [rbx]
test rax, rax
jne 0x2e3d6c0ca
jmp 0x2e3d6c0ae
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x2e3d6bf88
jmp 0x2e3d6bf6c
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
mov rax, qword [rbx]
test rax, rax
jne 0x2e3d6bf46
jmp 0x2e3d6bf2a
shr r9d, 1
shr r8d, 1
mov eax, 0
shr ecx, 1
shr edx, 1
sub r8d, r9d
sub edx, ecx
mov rcx, r12
cmovs edx, eax
test r8d, r8d
cmovs r8d, eax
call fcn.2e3c428a0
movq xmm0, qword [rbx + 0x2c]
mov r12, qword [rbx]
mov eax, dword [rsi]
jmp 0x2e3d6b494
mulss xmm0, xmm2
movss xmm2, dword [0x2e3ef1150]
movss xmm1, dword [0x2e3ef1140]
movd xmm5, r8d
mov dword [rbx + 0x48], 0
andps xmm2, xmm0
orps xmm1, xmm2
addss xmm1, xmm0
cvttss2si edx, xmm1
movd xmm0, edx
sub edx, eax
punpckldq xmm0, xmm5
mov dword [rbx + 0x44], edx
movq qword [rbx + 0x3c], xmm0
jmp 0x2e3d6bc72
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
movq xmm0, qword [rbx + 0x2c]
mov r12, qword [rbx]
mov eax, dword [rsi]
jmp 0x2e3d6b494
lea rdx, str.Cannot_set_swap_interval_without_a_current_OpenGL_or_OpenGL_ES_context
mov ecx, 0x10002
call fcn.2e3c320f0
jmp 0x2e3d6b5a9
mov ecx, 0x10001
xor edx, edx
call fcn.2e3c320f0
xor ecx, ecx
jmp 0x2e3d6b315
mov r8d, 0x293
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6bd21
mov r8d, 0x2e0
lea rdx, [0x2e3eefda8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6bdfc
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
xor r9d, r9d
jmp 0x2e3d6bc96
mov rdx, rax
jmp 0x2e3d6b501
mov rax, rdx
jmp 0x2e3d6b52b
mov rdx, rax
jmp 0x2e3d6b51d
mov rax, rdx
jmp 0x2e3d6b50f
mov rax, rdx
jmp 0x2e3d6b4f3
mov rdx, rax
jmp 0x2e3d6b4e5
mov rcx, rdx
jmp 0x2e3d6b54a
mov rdx, rax
jmp 0x2e3d6b539