Function at 0x140027d20
Capabilities:
Log keystrokes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov rbp, rcx
mov ebx, edx
mov rdi, r8
lea rdx, str.GLFW
mov r12, r9
call qword [sym.imp.USER32.dll_GetPropW]
test rax, rax
mov rsi, rax
je 0x1400283e0
cmp ebx, 0x200
je 0x140028b50
ja 0x140027e50
cmp ebx, 0x51
je 0x140028a21
ja 0x140028270
cmp ebx, 0xf
je 0x1400287f0
jbe 0x140027e03
cmp ebx, 0x20
je 0x140028bf5
jbe 0x140027dd4
cmp ebx, 0x21
je 0x140028490
cmp ebx, 0x24
jne 0x140027dc1
mov qword [rsp + 0x50], 0
cmp qword [rax + 0x48], 0
mov qword [rsp + 0x58], 0
je 0x140028535
mov r9, r12
mov r8, rdi
mov edx, ebx
mov rcx, rbp
call qword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x140027de7
cmp ebx, 0x10
je 0x140028480
cmp ebx, 0x14
mov eax, 1
jne 0x140027dc1
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 5
je 0x140028a65
jbe 0x140028060
cmp ebx, 7
je 0x140028441
cmp ebx, 8
jne 0x140027dc1
cmp dword [rax + 0x7c], 0x34003
je 0x140028700
cmp qword [rsi + 0x48], 0
je 0x140027e3f
mov edx, dword [rsi + 0x10]
test edx, edx
jne 0x140028e9d
xor edx, edx
mov rcx, rsi
call sym._glfwInputWindowFocus
xor eax, eax
jmp 0x140027de7
cmp ebx, 0x211
je 0x1400284e0
jbe 0x1400280a0
cmp ebx, 0x233
je 0x140028800
jbe 0x140027ee0
cmp ebx, 0x2e4
je 0x140028c30
ja 0x140028020
cmp ebx, 0x2a3
je 0x1400284c0
cmp ebx, 0x2e0
jne 0x140027dc1
mov eax, edi
pxor xmm1, xmm1
pxor xmm2, xmm2
movss xmm0, dword [0x14006b9e0]
shr eax, 0x10
cmp qword [rsi + 0x48], 0
cvtsi2ss xmm1, eax
movzx eax, di
cvtsi2ss xmm2, eax
divss xmm1, xmm0
divss xmm2, xmm0
je 0x140028677
mov rcx, rsi
call sym._glfwInputWindowContentScale
jmp 0x140027dc1
cmp ebx, 0x215
je 0x140028a30
ja 0x140027fe0
cmp ebx, 0x212
je 0x140027ff8
cmp ebx, 0x214
jne 0x140027dc1
mov eax, dword [rax + 0x68]
cmp eax, 0xffffffff
je 0x140027dc1
mov edx, dword [rsi + 0x6c]
cmp edx, 0xffffffff
je 0x140027dc1
pxor xmm6, xmm6
pxor xmm0, xmm0
cvtsi2ss xmm6, eax
cmp qword [rsi + 0x48], 0
cvtsi2ss xmm0, edx
mov ebp, 0x86000000
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov ebx, 0x40008
divss xmm6, xmm0
je 0x1400290a5
mov ecx, 0x3839
call sym._glfwIsWindows10BuildOrGreaterWin32
test eax, eax
je 0x140029061
mov rax, qword [0x14006d9c0]
mov rcx, qword [rsi + 0x350]
mov r13, qword [rax + 0x24f8]
call qword [rax + 0x24f0]
lea rcx, [rsp + 0x60]
mov r9d, ebx
mov edx, ebp
mov dword [rsp + 0x20], eax
xor r8d, r8d
call r13
lea eax, [rdi - 7]
cmp eax, 1
jbe 0x140028e63
lea eax, [rdi - 1]
cmp eax, 1
jbe 0x140028e63
lea eax, [rdi - 4]
cmp eax, 1
jbe 0x1400291cd
cmp edi, 3
je 0x140029209
cmp edi, 6
je 0x140029209
mov eax, 1
jmp 0x140027de7
cmp ebx, 0x231
je 0x1400284e0
cmp ebx, 0x232
jne 0x140027dc1
mov eax, dword [rsi + 0x36c]
test eax, eax
jne 0x140027dc1
cmp dword [rsi + 0x7c], 0x34003
jne 0x140027dc1
mov rcx, rsi
call sym.disableCursor
jmp 0x140027dc1
cmp ebx, 0x31e
je 0x140028034
cmp ebx, 0x320
jne 0x140027dc1
mov r10d, dword [rsi + 0x378]
test r10d, r10d
je 0x140027e49
lea rcx, [rsi + 0x350]
call sym.updateFramebufferTransparency.isra.8
xor eax, eax
jmp 0x140027de7
cmp ebx, 3
jne 0x140027dc1
mov rbx, qword [0x14006d9c0]
cmp qword [rbx + 0x2480], rax
je 0x14002870d
mov r8d, r12d
movsx edx, r12w
mov rcx, rsi
sar r8d, 0x10
call sym._glfwInputWindowPos
xor eax, eax
jmp 0x140027de7
cmp ebx, 0x208
jbe 0x140028130
cmp ebx, 0x20c
ja 0x1400280f2
cmp ebx, 0x20b
jae 0x14002814f
cmp ebx, 0x20a
jne 0x140027dc1
mov rcx, rax
sar edi, 0x10
pxor xmm2, xmm2
pxor xmm1, xmm1
cvtsi2sd xmm2, edi
divsd xmm2, qword [0x14006b9c0]
call sym._glfwInputScroll
xor eax, eax
jmp 0x140027de7
cmp ebx, 0x20e
jne 0x140027dc1
mov rcx, rax
sar edi, 0x10
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2sd xmm1, edi
divsd xmm1, qword [0x14006b9c0]
xorpd xmm1, xmmword [0x14006b9d0]
call sym._glfwInputScroll
xor eax, eax
jmp 0x140027de7
cmp ebx, 0x207
jae 0x14002814f
cmp ebx, 0x202
jbe 0x14002814f
lea eax, [rbx - 0x204]
cmp eax, 1
ja 0x140027dc1
lea ecx, [rbx - 0x201]
cmp ecx, 1
jbe 0x140028510
lea eax, [rbx - 0x204]
mov r12d, 1
cmp eax, 1
jbe 0x140028193
lea eax, [rbx - 0x207]
mov r12d, 2
cmp eax, 1
jbe 0x140028193
shr rdi, 0x10
xor r12d, r12d
cmp di, 1
setne r12b
add r12d, 3
xor edi, edi
cmp ecx, 0xb
jne 0x140028513
cmp byte [rsi + 0x80], 1
je 0x1400281ef
cmp byte [rsi + 0x81], 1
je 0x1400281ef
cmp byte [rsi + 0x82], 1
je 0x1400281ef
cmp byte [rsi + 0x83], 1
je 0x1400281ef
cmp byte [rsi + 0x84], 1
je 0x1400281ef
cmp byte [rsi + 0x85], 1
je 0x1400281ef
cmp byte [rsi + 0x86], 1
je 0x1400281ef
cmp byte [rsi + 0x87], 1
je 0x1400281ef
mov rcx, rbp
call qword [sym.imp.USER32.dll_SetCapture]
call sym.getKeyMods
mov r8d, edi
mov edx, r12d
mov rcx, rsi
mov r9d, eax
call sym._glfwInputMouseClick
cmp byte [rsi + 0x80], 1
je 0x140028253
cmp byte [rsi + 0x81], 1
je 0x140028253
cmp byte [rsi + 0x82], 1
je 0x140028253
cmp byte [rsi + 0x83], 1
je 0x140028253
cmp byte [rsi + 0x84], 1
je 0x140028253
cmp byte [rsi + 0x85], 1
je 0x140028253
cmp byte [rsi + 0x86], 1
je 0x140028253
cmp byte [rsi + 0x87], 1
je 0x140028253
call qword [sym.imp.USER32.dll_ReleaseCapture]
sub ebx, 0x20b
xor eax, eax
cmp ebx, 1
setbe al
jmp 0x140027de7
cmp ebx, 0x102
je 0x140028a00
jbe 0x1400282e0
cmp ebx, 0x106
je 0x140028a00
jbe 0x140028314
cmp ebx, 0x109
je 0x140028410
cmp ebx, 0x112
jne 0x140027dc1
mov rdx, rdi
and edx, 0xfff0
cmp rdx, 0xf140
je 0x140028757
cmp rdx, 0xf170
je 0x140028757
xor eax, eax
cmp rdx, 0xf100
jne 0x140027dc1
jmp 0x140027de7
cmp ebx, 0xff
je 0x140028910
ja 0x140028320
lea eax, [rbx - 0x85]
cmp eax, 1
ja 0x140027dc1
mov r11d, dword [rsi + 0xc]
mov eax, 1
test r11d, r11d
jne 0x140027dc1
jmp 0x140027de7
cmp ebx, 0x104
jb 0x140027dc1
mov r15, r12
shr r15, 0x10
movsx r9d, r15w
mov r13d, r15d
not r9d
shr r9d, 0x1f
mov dword [rsp + 0x40], r9d
call sym.getKeyMods
and r13w, 0x1ff
mov r14d, eax
movzx r13d, r13w
je 0x140028523
cmp r13d, 0x54
je 0x140028e0d
cmp r13d, 0x146
je 0x140028f4a
cmp r13d, 0x136
mov eax, 0x36
cmove r13d, eax
cmp rdi, 0x11
je 0x140028ddf
cmp rdi, 0xe5
je 0x140027dc1
test r15w, r15w
jns 0x140028f55
cmp rdi, 0x10
jne 0x140028f55
mov r15d, dword [rsp + 0x40]
mov r8d, r13d
mov rcx, rsi
mov dword [rsp + 0x20], r14d
mov edx, 0x154
mov r9d, r15d
call sym._glfwInputKey
mov dword [rsp + 0x20], r14d
mov r9d, r15d
mov r8d, r13d
mov edx, 0x158
mov rcx, rsi
call sym._glfwInputKey
jmp 0x140027dc1
cmp ebx, 0x81
je 0x140028770
cmp ebx, 0x219
je 0x1400287b1
cmp ebx, 0x7e
jne 0x140027dc1
call sym._glfwPollMonitorsWin32
jmp 0x140027dc1
cmp rdi, 0xffff
mov eax, 1
je 0x140027de7
call sym.getKeyMods
mov r9d, 1
mov edx, edi
mov rcx, rsi
mov r8d, eax
call sym._glfwInputChar
xor eax, eax
jmp 0x140027de7
mov rcx, rax
mov edx, 1
call sym._glfwInputWindowFocus
mov ecx, dword [rsi + 0x36c]
test ecx, ecx
jne 0x140027dc1
cmp dword [rsi + 0x7c], 0x34003
jne 0x140027e49
mov rcx, rsi
call sym.disableCursor
xor eax, eax
jmp 0x140027de7
mov rcx, rax
call sym._glfwInputWindowCloseRequest
xor eax, eax
jmp 0x140027de7
mov rax, r12
shr rax, 0x10
cmp ax, 0x201
jne 0x140027dc1
cmp r12w, 1
je 0x140027dc1
mov dword [rsi + 0x36c], 1
jmp 0x140027dc1
mov dword [rax + 0x368], 0
mov rcx, rax
xor edx, edx
call sym._glfwInputCursorEnter
xor eax, eax
jmp 0x140027de7
mov eax, dword [rsi + 0x36c]
test eax, eax
jne 0x140027dc1
cmp dword [rsi + 0x7c], 0x34003
jne 0x140027dc1
mov rcx, rsi
call sym.enableCursor
jmp 0x140027dc1
xor r12d, r12d
mov edi, 0x449
shr rdi, cl
and edi, 1
jmp 0x14002819e
xor edx, edx
mov ecx, edi
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov r13d, eax
jmp 0x140028352
mov ebp, dword [rax + 0xc]
mov edi, 0x860a0000
test ebp, ebp
je 0x140028553
cmp dword [rax + 8], 1
sbb edi, edi
and edi, 0xfffb0000
add edi, 0x6cf0000
cmp dword [rsi + 0x14], 1
mov ecx, 0x3839
sbb ebx, ebx
call sym._glfwIsWindows10BuildOrGreaterWin32
and ebx, 0xfffffff8
add ebx, 0x40008
test eax, eax
je 0x1400290da
mov rax, qword [0x14006d9c0]
mov rcx, qword [rsi + 0x350]
mov rbp, qword [rax + 0x24f8]
call qword [rax + 0x24f0]
lea rcx, [rsp + 0x50]
mov r9d, ebx
mov edx, edi
mov dword [rsp + 0x20], eax
xor r8d, r8d
call rbp
mov eax, dword [rsi + 0x58]
cmp eax, 0xffffffff
je 0x1400285cc
mov edx, dword [rsi + 0x5c]
cmp edx, 0xffffffff
je 0x1400285cc
add eax, dword [rsp + 0x58]
add edx, dword [rsp + 0x5c]
sub eax, dword [rsp + 0x50]
sub edx, dword [rsp + 0x54]
mov dword [r12 + 0x18], eax
mov dword [r12 + 0x1c], edx
mov eax, dword [rsi + 0x60]
cmp eax, 0xffffffff
je 0x1400285f6
mov edx, dword [rsi + 0x64]
cmp edx, 0xffffffff
je 0x1400285f6
add eax, dword [rsp + 0x58]
add edx, dword [rsp + 0x5c]
sub eax, dword [rsp + 0x50]
sub edx, dword [rsp + 0x54]
mov dword [r12 + 0x20], eax
mov dword [r12 + 0x24], edx
mov ebx, dword [rsi + 0xc]
test ebx, ebx
jne 0x140027e49
mov edx, 2
mov rcx, qword [rsi + 0x350]
call qword [sym.imp.USER32.dll_MonitorFromWindow]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x64], 0
mov rcx, rax
mov qword [rdx + 0xc], 0
mov qword [rdx + 0x14], 0
mov qword [rdx + 0x1c], 0
mov dword [rdx + 0x24], 0
mov dword [rsp + 0x60], 0x28
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
movdqu xmm0, xmmword [rsp + 0x74]
xor eax, eax
movdqu xmm3, xmmword [rsp + 0x64]
pshufd xmm1, xmm0, 0x4e
shufps xmm0, xmm3, 0x44
psubd xmm1, xmm0
movups xmmword [r12 + 8], xmm1
jmp 0x140027de7
mov eax, dword [rsi + 0x37c]
test eax, eax
jne 0x1400286ab
mov ecx, 0x3ad7
movss dword [rsp + 0x4c], xmm2
movss dword [rsp + 0x40], xmm1
call sym._glfwIsWindows10BuildOrGreaterWin32
movss xmm1, dword [rsp + 0x40]
test eax, eax
movss xmm2, dword [rsp + 0x4c]
je 0x140027ecd
mov r9d, dword [r12 + 4]
movss dword [rsp + 0x4c], xmm2
xor edx, edx
mov r8d, dword [r12]
movss dword [rsp + 0x40], xmm1
mov rcx, qword [rsi + 0x350]
mov dword [rsp + 0x30], 0x14
mov eax, dword [r12 + 0xc]
sub eax, r9d
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 8]
sub eax, r8d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
movss xmm1, dword [rsp + 0x40]
movss xmm2, dword [rsp + 0x4c]
jmp 0x140027ecd
mov rcx, rax
call sym.enableCursor
jmp 0x140027e2d
lea rdi, [rsp + 0x60]
mov rcx, qword [rax + 0x350]
mov rdx, rdi
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [rsi + 0x350]
mov rdx, rdi
mov rbp, qword [sym.imp.USER32.dll_ClientToScreen]
call rbp
lea rdx, [rdi + 8]
mov rcx, qword [rsi + 0x350]
call rbp
mov rcx, rdi
call qword [sym.imp.USER32.dll_ClipCursor]
mov qword [rbx + 0x2480], rsi
jmp 0x14002807d
cmp qword [rsi + 0x48], 0
je 0x140027dc1
xor eax, eax
jmp 0x140027de7
mov ecx, 0x3839
call sym._glfwIsWindows10BuildOrGreaterWin32
test eax, eax
je 0x140027dc1
mov rax, qword [r12]
test rax, rax
je 0x140027dc1
mov r9d, dword [rax + 0x34]
test r9d, r9d
je 0x140027dc1
mov rax, qword [0x14006d9c0]
mov rcx, rbp
call qword [rax + 0x24e0]
jmp 0x140027dc1
cmp rdi, 0x8000
je 0x140028d40
cmp rdi, 0x8004
jne 0x140027dc1
test r12, r12
je 0x140027dc1
cmp dword [r12 + 4], 5
jne 0x140027dc1
call sym._glfwDetectJoystickDisconnectionWin32
jmp 0x140027dc1
mov rcx, rax
call sym._glfwInputWindowDamage
jmp 0x140027dc1
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov r12, qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov edx, 0xffffffff
call r12
mov edx, 8
movsxd rcx, eax
mov rbx, rcx
mov dword [rsp + 0x40], ecx
call sym.calloc
lea rdx, [rsp + 0x60]
mov rcx, rdi
mov r13, rax
call qword [sym.imp.SHELL32.dll_DragQueryPoint]
pxor xmm2, xmm2
pxor xmm1, xmm1
mov rcx, rsi
cvtsi2sd xmm2, dword [rsp + 0x64]
cvtsi2sd xmm1, dword [rsp + 0x60]
call sym._glfwInputCursorPos
test ebx, ebx
jle 0x14002904d
lea r14d, [rbx - 1]
xor ebx, ebx
jmp 0x140028873
mov rbx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call r12
mov edx, 2
mov ecx, eax
mov r15, rcx
add rcx, 1
call sym.calloc
lea r9d, [r15 + 1]
mov edx, ebx
mov rcx, rdi
mov rbp, rax
mov r8, rax
call r12
mov rcx, rbp
call sym._glfwCreateUTF8FromWideStringWin32
mov rcx, rbp
mov qword [r13 + rbx*8], rax
call sym.free
lea rax, [rbx + 1]
cmp rbx, r14
jne 0x140028870
mov edx, dword [rsp + 0x40]
lea rbx, [r13 + rbx*8 + 8]
mov rcx, rsi
mov r8, r13
mov rsi, r13
call sym._glfwInputDrop
nop dword [rax + rax]
mov rcx, qword [rsi]
add rsi, 8
call sym.free
cmp rsi, rbx
jne 0x1400288e0
mov rcx, r13
call sym.free
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
jmp 0x140027de7
mov r13, qword [0x14006d9c0]
mov dword [rsp + 0x60], 0
cmp qword [r13 + 0x2478], rax
jne 0x140027dc1
mov eax, dword [rax + 0x1f8]
test eax, eax
je 0x140027dc1
lea r15, [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x20], 0x18
mov edx, 0x10000003
mov r9, r15
mov rcx, r12
mov r14, qword [sym.imp.USER32.dll_GetRawInputData]
call r14
mov r8d, dword [r13 + 0x2490]
cmp r8d, dword [rsp + 0x60]
jb 0x14002916b
mov dword [rsp + 0x60], r8d
mov r9, r15
mov edx, 0x10000003
mov rcx, r12
mov r8, qword [r13 + 0x2488]
mov dword [rsp + 0x20], 0x18
call r14
cmp eax, 0xffffffff
je 0x140029243
mov rax, qword [r13 + 0x2488]
test byte [rax + 0x18], 1
mov r14d, dword [rax + 0x24]
mov r13d, dword [rax + 0x28]
je 0x1400289bf
sub r14d, dword [rsi + 0x388]
sub r13d, dword [rsi + 0x38c]
pxor xmm2, xmm2
pxor xmm1, xmm1
mov rcx, rsi
cvtsi2sd xmm2, r13d
cvtsi2sd xmm1, r14d
addsd xmm2, qword [rsi + 0x1f0]
addsd xmm1, qword [rsi + 0x1e8]
call sym._glfwInputCursorPos
add dword [rsi + 0x388], r14d
add dword [rsi + 0x38c], r13d
jmp 0x140027dc1
lea rax, [rdi - 0xd800]
cmp rax, 0x3ff
ja 0x140028d60
mov word [rsi + 0x390], di
xor eax, eax
jmp 0x140027de7
call sym._glfwUpdateKeyNamesWin32
jmp 0x140027dc1
test r12, r12
jne 0x140027dc1
mov r8d, dword [rax + 0x36c]
test r8d, r8d
je 0x140027dc1
cmp dword [rax + 0x7c], 0x34003
je 0x140029104
mov dword [rsi + 0x36c], 0
jmp 0x140027dc1
xor r14d, r14d
movzx ebp, r12w
shr r12d, 0x10
cmp rdi, 1
mov ebx, 1
sete r14b
cmp rdi, 2
je 0x140028a9a
mov r15d, dword [rax + 0x374]
test r15d, r15d
setne al
xor ebx, ebx
test rdi, rdi
setne bl
and ebx, eax
mov r13, qword [0x14006d9c0]
cmp qword [r13 + 0x2480], rsi
je 0x140028fab
cmp dword [rsi + 0x370], r14d
je 0x140028ac2
mov edx, r14d
mov rcx, rsi
call sym._glfwInputWindowIconify
cmp dword [rsi + 0x374], ebx
je 0x140028ad4
mov edx, ebx
mov rcx, rsi
call sym._glfwInputWindowMaximize
cmp dword [rsi + 0x380], ebp
jne 0x140028ae5
cmp dword [rsi + 0x384], r12d
je 0x140028b0c
mov r8d, r12d
mov edx, ebp
mov rcx, rsi
mov dword [rsi + 0x380], ebp
mov dword [rsi + 0x384], r12d
call sym._glfwInputFramebufferSize
mov r8d, r12d
mov edx, ebp
mov rcx, rsi
call sym._glfwInputWindowSize
mov rcx, qword [rsi + 0x48]
test rcx, rcx
je 0x140028b35
cmp dword [rsi + 0x370], r14d
je 0x140028b35
cmp rdi, 1
jne 0x140028eb4
cmp rsi, qword [rcx + 0x90]
je 0x140029079
mov dword [rsi + 0x370], r14d
xor eax, eax
mov dword [rsi + 0x374], ebx
jmp 0x140027de7
mov eax, dword [rax + 0x368]
mov r13, r12
movsx r14d, r12w
shr r13, 0x10
movsx r13d, r13w
test eax, eax
je 0x140028e18
cmp dword [rsi + 0x7c], 0x34003
jne 0x140028dc0
mov rax, qword [0x14006d9c0]
cmp qword [rax + 0x2478], rsi
jne 0x140027dc1
mov eax, dword [rsi + 0x1f8]
test eax, eax
jne 0x140027dc1
mov eax, r13d
sub eax, dword [rsi + 0x38c]
pxor xmm2, xmm2
pxor xmm1, xmm1
mov rcx, rsi
cvtsi2sd xmm2, eax
mov eax, r14d
sub eax, dword [rsi + 0x388]
addsd xmm2, qword [rsi + 0x1f0]
cvtsi2sd xmm1, eax
addsd xmm1, qword [rsi + 0x1e8]
call sym._glfwInputCursorPos
nop word cs:[rax + rax]
mov dword [rsi + 0x388], r14d
xor eax, eax
mov dword [rsi + 0x38c], r13d
jmp 0x140027de7
cmp r12w, 1
jne 0x140027dc1
cmp dword [rax + 0x7c], 0x34001
jne 0x1400290f2
mov rax, qword [rax + 0x50]
test rax, rax
je 0x140029259
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
jmp 0x140027de7
mov r9d, dword [rax + 0x37c]
test r9d, r9d
jne 0x140027dc1
mov ecx, 0x3ad7
call sym._glfwIsWindows10BuildOrGreaterWin32
test eax, eax
je 0x140027dc1
mov qword [rsp + 0x50], 0
mov r13, qword [0x14006d9c0]
mov qword [rsp + 0x58], 0
mov rcx, qword [rsi + 0x350]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov rbx, qword [r13 + 0x24f8]
call qword [r13 + 0x24f0]
mov r8d, dword [rsi + 0x14]
mov rcx, qword [rsi + 0x48]
test r8d, r8d
jne 0x140028ca8
test rcx, rcx
je 0x1400291a1
test rcx, rcx
mov r9d, 0x40008
mov edx, 0x86000000
je 0x1400291a7
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x20], eax
movzx edi, di
call rbx
mov edx, dword [rsi + 0x14]
mov rax, qword [r13 + 0x24f8]
mov rcx, qword [rsi + 0x48]
test edx, edx
jne 0x140028ce8
test rcx, rcx
je 0x140029111
test rcx, rcx
mov r9d, 0x40008
mov edx, 0x86000000
je 0x140029117
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x20], edi
xor r8d, r8d
call rax
mov eax, dword [rsp + 0x68]
sub eax, dword [rsp + 0x60]
sub eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x50]
add dword [r12], eax
mov eax, dword [rsp + 0x6c]
sub eax, dword [rsp + 0x64]
sub eax, dword [rsp + 0x5c]
add eax, dword [rsp + 0x54]
add dword [r12 + 4], eax
jmp 0x140027fd4
test r12, r12
je 0x140027dc1
cmp dword [r12 + 4], 5
jne 0x140027dc1
call sym._glfwDetectJoystickConnectionWin32
jmp 0x140027dc1
lea rax, [rdi - 0xdc00]
movzx ebp, di
cmp rax, 0x3ff
ja 0x140028d8f
movzx eax, word [rsi + 0x390]
xor ebp, ebp
test ax, ax
je 0x140028d8f
sub eax, 0xd800
shl eax, 0xa
lea ebp, [rax + rdi + 0x2400]
xor eax, eax
mov word [rsi + 0x390], ax
call sym.getKeyMods
xor r9d, r9d
cmp ebx, 0x106
mov edx, ebp
mov r8d, eax
setne r9b
mov rcx, rsi
call sym._glfwInputChar
xor eax, eax
jmp 0x140027de7
pxor xmm2, xmm2
pxor xmm1, xmm1
cvtsi2sd xmm2, r13d
mov rcx, rsi
cvtsi2sd xmm1, r14d
call sym._glfwInputCursorPos
jmp 0x140028be0
test r15d, 0x100
mov eax, 0x159
je 0x140029001
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x20], r14d
mov r8d, r13d
mov edx, eax
mov rcx, rsi
call sym._glfwInputKey
jmp 0x140027dc1
mov r13d, 0x137
jmp 0x140028379
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
movabs rax, 0x200000018
mov qword [rsp + 0x60], rax
mov rax, qword [rsi + 0x350]
mov qword [rsp + 0x68], rax
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov edx, 1
mov rcx, rsi
mov dword [rsi + 0x368], 1
call sym._glfwInputCursorEnter
jmp 0x140028b6d
mov eax, dword [r12 + 8]
pxor xmm0, xmm0
sub eax, dword [r12]
sub eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x60]
mov edx, dword [rsp + 0x6c]
sub edx, dword [rsp + 0x64]
add edx, dword [r12 + 4]
cvtsi2ss xmm0, eax
divss xmm0, xmm6
cvttss2si eax, xmm0
add eax, edx
mov dword [r12 + 0xc], eax
jmp 0x140027fd4
mov rcx, qword [rsi + 0x350]
mov edx, 6
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140027e3f
mov rcx, rsi
call sym.acquireMonitor
mov rax, qword [rsi + 0x48]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x64], 0
mov qword [rsp + 0x6c], 0
mov qword [rsp + 0x74], 0
mov qword [rsp + 0x7c], 0
mov dword [rsp + 0x60], 0x28
mov rcx, qword [rax + 0x100]
mov dword [rsp + 0x84], 0
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [rsp + 0x70]
mov rdx, 0xffffffffffffffff
mov r9d, dword [rsp + 0x68]
mov rcx, qword [rsi + 0x350]
mov dword [rsp + 0x30], 0x114
mov r8d, dword [rsp + 0x64]
sub eax, r9d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x6c]
sub eax, r8d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x140028b35
mov r13d, 0x45
jmp 0x140028379
mov rdx, qword [0x14006d9c0]
movsxd rax, r13d
cmp rdi, 0x2c
movsx eax, word [rdx + rax*2 + 0x16d8]
jne 0x140028df1
mov r8d, r13d
mov edx, eax
mov rcx, rsi
mov dword [rsp + 0x20], r14d
mov r9d, 1
mov dword [rsp + 0x40], eax
call sym._glfwInputKey
mov eax, dword [rsp + 0x40]
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov edx, eax
call sym._glfwInputKey
jmp 0x140027dc1
lea r15, [rsp + 0x60]
mov rcx, qword [rsi + 0x350]
mov rdx, r15
call qword [sym.imp.USER32.dll_GetClientRect]
mov r8, qword [sym.imp.USER32.dll_ClientToScreen]
mov rdx, r15
mov rcx, qword [rsi + 0x350]
mov qword [rsp + 0x40], r8
call r8
lea rdx, [r15 + 8]
mov rcx, qword [rsi + 0x350]
mov r8, qword [rsp + 0x40]
call r8
mov rcx, r15
call qword [sym.imp.USER32.dll_ClipCursor]
mov qword [r13 + 0x2480], rsi
jmp 0x140028aae
call qword [sym.imp.USER32.dll_GetMessageTime]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x60]
mov r15d, eax
mov dword [rsp + 0x20], 0
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140029043
mov eax, dword [rsp + 0x68]
and eax, 0xfffffffa
cmp eax, 0x100
jne 0x140029043
cmp qword [rsp + 0x70], 0x12
je 0x140029279
mov eax, 0x155
jmp 0x140028df1
mov edx, dword [rsp + 0x40]
mov r8, r13
mov rcx, rsi
call sym._glfwInputDrop
jmp 0x1400288f1
lea rcx, [rsp + 0x60]
mov r9d, ebx
xor r8d, r8d
mov edx, ebp
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
jmp 0x140027f9e
mov eax, dword [r13 + 0x16cc]
sub eax, 1
mov dword [r13 + 0x16cc], eax
je 0x14002913d
xor edx, edx
call sym._glfwInputMonitorWindow
mov rcx, qword [rsi + 0x48]
call sym._glfwRestoreVideoModeWin32
jmp 0x140028b35
mov r13d, dword [rsi + 0xc]
add ebp, 0xa0000
test r13d, r13d
je 0x1400290c6
cmp dword [rsi + 8], 1
sbb ebp, ebp
and ebp, 0xfffb0000
add ebp, 0x6cf0000
cmp dword [rsi + 0x14], 1
sbb ebx, ebx
and ebx, 0xfffffff8
add ebx, 0x40008
jmp 0x140027f5d
lea rcx, [rsp + 0x50]
mov r9d, ebx
xor r8d, r8d
mov edx, edi
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
jmp 0x1400285a2
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
jmp 0x140027de7
mov rcx, rax
call sym.disableCursor
jmp 0x140028a56
mov r9d, 0x40000
cmp dword [rsi + 0xc], 0
mov edx, 0x860a0000
je 0x140028cfc
cmp dword [rsi + 8], 1
sbb edx, edx
and edx, 0xfffb0000
add edx, 0x6cf0000
jmp 0x140028cfc
mov ecx, 0x80000000
call qword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
xor r8d, r8d
mov edx, 1
mov ecx, 5
call sym._glfwIsWindowsVersionOrGreaterWin32
test eax, eax
jne 0x140029297
mov rcx, qword [rsi + 0x48]
jmp 0x140029090
mov rcx, qword [r13 + 0x2488]
call sym.free
mov ecx, dword [rsp + 0x60]
mov edx, 1
mov dword [rsp + 0x40], ecx
call sym.calloc
mov r8d, dword [rsp + 0x40]
mov qword [r13 + 0x2488], rax
mov dword [r13 + 0x2490], r8d
jmp 0x140028971
mov r9d, 0x40000
cmp dword [rsi + 0xc], 0
mov edx, 0x860a0000
je 0x140028cbc
cmp dword [rsi + 8], 1
sbb edx, edx
and edx, 0xfffb0000
add edx, 0x6cf0000
jmp 0x140028cbc
mov eax, dword [rsp + 0x6c]
pxor xmm0, xmm0
sub eax, dword [rsp + 0x64]
mov edx, dword [r12 + 0xc]
sub edx, eax
mov eax, dword [r12 + 8]
sub eax, dword [r12]
sub eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x60]
cvtsi2ss xmm0, eax
divss xmm0, xmm6
cvttss2si eax, xmm0
sub edx, eax
mov dword [r12 + 4], edx
jmp 0x140027fd4
mov eax, dword [r12 + 0xc]
pxor xmm0, xmm0
sub eax, dword [r12 + 4]
sub eax, dword [rsp + 0x6c]
add eax, dword [rsp + 0x64]
mov edx, dword [rsp + 0x68]
sub edx, dword [rsp + 0x60]
add edx, dword [r12]
cvtsi2ss xmm0, eax
mulss xmm6, xmm0
cvttss2si eax, xmm6
add eax, edx
mov dword [r12 + 8], eax
jmp 0x140027fd4
lea rdx, str.Win32:_Failed_to_retrieve_raw_input_data
mov ecx, 0x10008
call sym._glfwInputError
jmp 0x140027dc1
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
jmp 0x140027de7
test byte [rsp + 0x7b], 1
je 0x140029043
cmp dword [rsp + 0x80], r15d
jne 0x140029043
jmp 0x140027dc1
mov edx, dword [r13 + 0x2494]
xor r9d, r9d
xor r8d, r8d
mov ecx, 0x5d
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
jmp 0x140029162