Function at 0x14003e040
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x140050010]
xor rax, rsp
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x110], 0x50
mov dword [rbp + 0x114], 0x40
lea rax, [0x14003f080]
mov qword [rbp + 0x118], rax
xor r12d, r12d
mov qword [rbp + 0x120], r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x128], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x140], xmm1
lea rdi, str.ImGui_Example
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x158], r12
lea rcx, [rbp + 0x110]
call qword [sym.imp.USER32.dll_RegisterClassExW]
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov qword [rsp + 0x58], r12
mov rcx, qword [rbp + 0x128]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
mov r9d, 0x80000000
mov r8, rdi
mov rdx, qword [rbp + 0x150]
mov ecx, 0x800a8
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov r13, rax
lea r9d, [r12 + 2]
mov r8b, 0xff
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movdqa xmm0, xmmword [0x1400493d0]
movdqu xmmword [rbp + 0x168], xmm0
lea rdx, [rbp + 0x168]
mov rcx, r13
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov qword [rbp + 0x94], r12
mov qword [rbp + 0xa8], 2
mov qword [rbp + 0xc0], 2
mov qword [rbp + 0x80], r12
mov dword [rbp + 0x90], 0x1c
mov dword [rbp + 0x88], 0x3c
mov dword [rbp + 0x8c], 1
mov dword [rbp + 0xa4], 0x20
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0x9c], 1
mov qword [rbp + 0xb8], 1
mov dword [rbp + 0x50], 0xb000
mov dword [rbp + 0x54], 0xa000
lea rbx, [0x140056a40]
mov qword [rsp + 0x58], rbx
lea rax, [rbp + 0x60]
mov qword [rsp + 0x50], rax
lea rdi, [0x140056a38]
mov qword [rsp + 0x48], rdi
lea rsi, [0x140056a28]
mov qword [rsp + 0x40], rsi
lea rax, [rbp + 0x80]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 1]
xor ecx, ecx
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
cmp eax, 0x887a0004
jne 0x14003e2e7
mov qword [rsp + 0x58], rbx
lea rax, [rbp + 0x60]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rsi
lea rax, [rbp + 0x80]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 5]
xor ecx, ecx
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
je 0x14003e309
call fcn.14003f000
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x150]
call qword [sym.imp.USER32.dll_UnregisterClassW]
jmp 0x14003ef8f
mov rcx, qword [0x140056a28]
mov rax, qword [rcx]
lea r9, [rbp + 0x58]
lea r8, [0x140049188]
xor edx, edx
call qword [rax + 0x48]
mov rcx, qword [0x140056a38]
mov rax, qword [rcx]
lea r9, [0x140056a20]
xor r8d, r8d
mov rdx, qword [rbp + 0x58]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edx, 0xa
mov rcx, r13
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, r13
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rbx, qword [0x140056950]
test rbx, rbx
je 0x14003e371
inc dword [rbx + 0xec]
mov rdx, qword [0x140056948]
mov ecx, 0x5e68
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x60]
mov qword [rbp - 0x70], rcx
mov qword [rbp + 0x160], rax
test rax, rax
je 0x14003e3a8
xor edx, edx
mov rcx, rax
call fcn.14000cea0
jmp 0x14003e3ab
mov rax, r12
mov qword [0x140056950], rax
call fcn.1400104d0
mov r14, qword [0x140056950]
test rbx, rbx
cmovne r14, rbx
mov qword [0x140056950], r14
xorps xmm3, xmm3
xor eax, eax
movups xmmword [rbp + 0x80], xmm3
movups xmmword [rbp + 0x90], xmm3
movups xmmword [rbp + 0xd0], xmm3
mov qword [rbp + 0x100], rax
mov dword [rbp + 0x98], 3
mov dword [rbp + 0x9c], 1
movss xmm2, dword [0x1400493a8]
movss xmm8, dword [0x1400492d0]
mov dword [rbp + 0xd0], 0x3f800000
mov eax, 0xffff
mov word [rbp + 0xd4], ax
mov byte [rbp + 0x8c], 0
movaps xmm0, xmmword [rbp + 0x80]
movaps xmmword [rbp - 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x90]
movaps xmmword [rbp - 0x30], xmm1
movaps xmmword [rbp - 0x20], xmm3
movaps xmmword [rbp - 0x10], xmm3
xorps xmm0, xmm0
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm2
shufps xmm0, xmm0, 0xe1
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0xd0]
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm3
movaps xmmword [rbp + 0x30], xmm3
movsd xmm0, qword [rbp + 0x100]
movsd qword [rbp + 0x40], xmm0
lea rax, [0x1400501a0]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], 0x602c
movss xmm0, dword [0x140049328]
movss dword [rbp - 0x2c], xmm0
lea rdx, [rbp - 0x40]
mov rcx, qword [r14 + 0x38]
call fcn.1400311d0
mov qword [r14 + 0x48], rax
mov qword [r14 + 0x20], r12
or dword [r14 + 8], 3
call fcn.14003df00
mov rcx, r13
call fcn.140036740
mov r15, qword [0x140056a40]
mov rsi, qword [0x140056a38]
mov rdi, qword [0x140056950]
test rdi, rdi
je 0x14003e4ed
inc dword [rdi + 0xec]
mov rdx, qword [0x140056948]
mov ecx, 0x78
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14003e53f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
mov dword [rbx + 0x70], 0x1388
mov dword [rbx + 0x74], 0x2710
jmp 0x14003e542
mov rbx, r12
mov qword [rdi + 0x98], rbx
lea rax, str.imgui_impl_dx11
mov qword [rdi + 0x88], rax
or dword [rdi + 0xc], 8
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x58], r12
mov rax, qword [rsi]
lea r8, [rbp + 0x50]
lea rdx, [0x140048ef8]
mov rcx, rsi
call qword [rax]
test eax, eax
jne 0x14003e5bf
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
lea r8, [rbp + 0x60]
lea rdx, [0x140048f08]
call qword [rax + 0x30]
test eax, eax
jne 0x14003e5bf
mov rcx, qword [rbp + 0x60]
mov rax, qword [rcx]
lea r8, [rbp + 0x58]
lea rdx, [0x140048f18]
call qword [rax + 0x30]
test eax, eax
jne 0x14003e5bf
mov qword [rbx], rsi
mov qword [rbx + 8], r15
mov rax, qword [rbp + 0x58]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x14003e5ce
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14003e5dd
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 8]
cvttss2si edx, dword [r14 + 0xd8]
mov dword [0x140056960], edx
lea rcx, [rbp - 0x68]
call fcn.140003640
mov r12, rax
mov rsi, qword [0x140050188]
movabs rdx, 0x7fffffffffffffff
mov rcx, rdx
sub rcx, rsi
cmp rcx, 3
jb 0x14003eff5
lea r15, [0x140050178]
cmp qword [0x140050190], 0x10
cmovae r15, qword [0x140050178]
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea r14, [rsi + 3]
mov edi, 0xf
lea rbx, [rsp + 0x70]
lea r8, [rax - 1]
cmp r14, rdi
jbe 0x14003e6dd
mov rdi, r14
or rdi, 0xf
cmp rdi, rdx
jbe 0x14003e67a
mov rdi, rdx
jmp 0x14003e688
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
xor eax, eax
mov rcx, rdi
add rcx, 1
cmovb rcx, r8
cmp rcx, 0x1000
jb 0x14003e6cb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003efef
mov rcx, rax
call fcn.14003f9d8
test rax, rax
je 0x14003e6c4
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14003e6d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14003e6d5
call fcn.14003f9d8
mov rbx, rax
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], rdi
mov r8, rsi
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [0x1400491c4]
mov word [rbx + rsi], ax
movzx eax, byte [0x1400491c6]
mov byte [rbx + rsi + 2], al
mov byte [rbx + r14], 0
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x14003e75c
lea rax, [rcx + 5]
mov qword [rbp - 0x80], rax
lea rbx, [rsp + 0x70]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x70]
add rbx, rcx
mov r8d, 5
lea rdx, str.FPS:
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 5], 0
lea rax, [rsp + 0x70]
jmp 0x14003e774
mov qword [rsp + 0x20], 5
mov edx, 5
lea rcx, [rsp + 0x70]
call fcn.14003f130
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1a8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1b8], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r9, r12
lea r8, [rbp + 0x1a8]
lea rcx, [rbp + 0x188]
call fcn.14003f2c0
nop
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0x10
jb 0x14003e7f8
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e7f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e7f2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003f9d0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14003e837
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e832
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e832
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003f9d0
xor r12d, r12d
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], r12b
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x14003e889
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e884
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e884
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003f9d0
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
xor r15b, r15b
movss xmm13, dword [0x140049268]
movss xmm14, dword [0x1400493b4]
xorps xmm10, xmm10
movss xmm12, dword [0x140049304]
mov ebx, 1
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
test eax, eax
js 0x14003e8e7
lea rdx, [rbp + 0x60]
mov rcx, qword [0x140056970]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
movzx r15d, r15b
cmp dword [rbp + 0x60], 0
cmove r15d, ebx
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14003e904
cmp byte [0x140056a68], 0
sete byte [0x140056a68]
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x80]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x14003e967
lea rcx, [rbp + 0x80]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x80]
call qword [sym.imp.USER32.dll_DispatchMessageA]
movzx r15d, r15b
cmp dword [rbp + 0x88], 0x12
cmove r15d, ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x80]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x14003e921
test r15b, r15b
jne 0x14003edb1
mov r8d, dword [0x1400569e4]
test r8d, r8d
je 0x14003ea1d
mov r9d, dword [0x140056a30]
test r9d, r9d
je 0x14003ea1d
mov rcx, qword [0x140056a20]
test rcx, rcx
je 0x14003e9b7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140056a20], r12
mov r8d, dword [0x1400569e4]
mov r9d, dword [0x140056a30]
mov rcx, qword [0x140056a28]
mov rax, qword [rcx]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor edx, edx
call qword [rax + 0x68]
mov dword [0x140056a30], r12d
mov dword [0x1400569e4], r12d
mov rcx, qword [0x140056a28]
mov rax, qword [rcx]
lea r9, [rbp + 0x68]
lea r8, [0x140049188]
xor edx, edx
call qword [rax + 0x48]
mov rcx, qword [0x140056a38]
mov rax, qword [rcx]
lea r9, [0x140056a20]
xor r8d, r8d
mov rdx, qword [rbp + 0x68]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [0x140056950]
test rbx, rbx
je 0x14003ea32
mov rax, qword [rbx + 0x98]
jmp 0x14003ea35
mov rax, r12
cmp qword [rax + 0x48], 0
jne 0x14003ea48
call fcn.1400360e0
mov rbx, qword [0x140056950]
test rbx, rbx
je 0x14003ea56
mov rdi, qword [rbx + 0x90]
jmp 0x14003ea59
mov rdi, r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
lea rdx, [rbp + 0x70]
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x74]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rbp + 0x78]
sub eax, dword [rbp + 0x70]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x10], xmm0
movss dword [rbx + 0x14], xmm1
mov qword [rbp + 0x160], r12
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
sub rax, qword [rdi + 0x18]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rdi + 0x20]
divss xmm1, xmm0
movss dword [rbx + 0x18], xmm1
mov qword [rdi + 0x18], rcx
mov rsi, qword [0x140056950]
test rsi, rsi
je 0x14003eae7
mov r14, qword [rsi + 0x90]
jmp 0x14003eaea
mov r14, r12
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [r14]
cmp rax, rcx
jne 0x14003eb7d
cmp byte [rsi + 0xd3], 0
je 0x14003eb3e
cvttss2si eax, dword [rsi + 0xe00]
mov dword [rbp + 0x50], eax
cvttss2si eax, dword [rsi + 0xe04]
mov dword [rbp + 0x54], eax
lea rdx, [rbp + 0x50]
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x14003eb35
mov edx, dword [rbp + 0x54]
mov ecx, dword [rbp + 0x50]
call qword [sym.imp.USER32.dll_SetCursorPos]
cmp byte [rsi + 0xd3], 0
jne 0x14003eb7d
cmp dword [r14 + 0x10], 0
jne 0x14003eb7d
lea rcx, [rbp + 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x14003eb7d
lea rdx, [rbp + 0x58]
mov rcx, qword [r14]
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x14003eb7d
movd xmm2, dword [rbp + 0x5c]
cvtdq2ps xmm2, xmm2
movd xmm1, dword [rbp + 0x58]
cvtdq2ps xmm1, xmm1
lea rcx, [rsi + 8]
call fcn.14000e510
call fcn.140036a60
cmp byte [rbx + 0x58], 0
je 0x14003eb8f
mov eax, 0xffffffff
jmp 0x14003eb9c
mov rax, qword [0x140056950]
mov eax, dword [rax + 0x4c08]
cmp dword [rdi + 0x28], eax
je 0x14003eba9
mov dword [rdi + 0x28], eax
call fcn.1400368f0
call fcn.140036c30
call fcn.140012900
xor edx, edx
lea r8d, [rdx + 0x6f]
lea rcx, [0x1400479d6]
call fcn.140017a80
lea rcx, str.TCSM_V1.0__RUS
call fcn.140039d30
mov rcx, qword [0x140056950]
mov rax, qword [rcx + 0x3ed8]
movss xmm9, dword [rax + 0x28]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ed8]
mov rdi, qword [rax + 0x298]
movss xmm11, dword [rax + 0x20]
movss xmm1, dword [rax + 0x24]
movss xmm2, dword [0x140056a58]
subss xmm2, xmm13
movss dword [0x140056a58], xmm2
comiss xmm14, xmm2
jbe 0x14003ec2d
addss xmm2, xmm8
movss dword [0x140056a58], xmm2
mov ebx, r12d
comiss xmm9, xmm10
jbe 0x14003ecf1
movaps xmm7, xmm8
divss xmm7, xmm9
movaps xmm6, xmm10
movaps xmm0, xmm1
addss xmm0, xmm12
movss dword [rbp - 0x6c], xmm0
movss dword [rsp + 0x6c], xmm1
nop word [rax + rax]
movaps xmm1, xmm7
mulss xmm1, xmm6
addss xmm1, xmm2
comiss xmm10, xmm1
jbe 0x14003ec76
addss xmm1, xmm8
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm8
movaps xmm2, xmm8
lea rcx, [rbp + 0x178]
call fcn.140026160
lea rcx, [rbp + 0x178]
call fcn.14000eed0
addss xmm6, xmm11
movaps xmm0, xmm6
addss xmm0, xmm8
movss dword [rbp - 0x70], xmm0
movss dword [rsp + 0x68], xmm6
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.1400302c0
inc ebx
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
comiss xmm9, xmm6
jbe 0x14003ecf1
movss xmm2, dword [0x140056a58]
jmp 0x14003ec60
call fcn.140019c40
cmp byte [0x140056a68], 0
je 0x14003ed0c
call fcn.140001080
mov r8d, 0x80088
jmp 0x14003ed12
mov r8d, 0x800a8
mov edx, 0xffffffec
mov rcx, r13
call qword [sym.imp.USER32.dll_SetWindowLongA]
call fcn.140009420
call fcn.140014af0
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a8], xmm0
mov rcx, qword [0x140056a40]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [0x140056a20]
mov ebx, 1
mov edx, ebx
call qword [rax + 0x108]
mov rcx, qword [0x140056a40]
mov rax, qword [rcx]
lea r8, [rbp + 0x1a8]
mov rdx, qword [0x140056a20]
call qword [rax + 0x190]
mov rax, qword [0x140056950]
mov rax, qword [rax + 0x48b8]
mov rcx, qword [rax]
add rcx, 0x48
mov rax, r12
cmp byte [rcx], r12b
cmovne rax, rcx
mov rcx, rax
call fcn.140035680
mov rcx, qword [0x140056a28]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, ebx
call qword [rax + 0x40]
jmp 0x14003e8c0
mov rbx, qword [0x140056950]
test rbx, rbx
je 0x14003edc6
mov rdi, qword [rbx + 0x98]
jmp 0x14003edc9
mov rdi, r12
call fcn.140036620
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14003eddd
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003edeb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14003edfa
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x88], r12
mov qword [rbx + 0x98], r12
and dword [rbx + 0xc], 0xfffffff7
mov rax, qword [0x140056950]
test rax, rax
je 0x14003ee1e
dec dword [rax + 0xec]
mov rdx, qword [0x140056948]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rax, qword [0x140056950]
test rax, rax
je 0x14003ee42
mov rdi, qword [rax + 0x90]
jmp 0x14003ee45
mov rdi, r12
lea rbx, [rax + 8]
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x14003ee5f
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x140056950]
mov qword [rbx + 0x78], r12
mov qword [rbx + 0x88], r12
and dword [rbx + 4], 0xfffffff8
test rax, rax
je 0x14003ee79
dec dword [rax + 0xec]
mov rdx, qword [0x140056948]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rbx, qword [0x140056950]
call fcn.140010890
mov qword [0x140056950], r12
test rbx, rbx
je 0x14003eec9
mov rcx, rbx
call fcn.140025aa0
mov rax, qword [0x140056950]
test rax, rax
je 0x14003eeba
dec dword [rax + 0xec]
mov rdx, qword [0x140056948]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, qword [0x140056a20]
test rcx, rcx
je 0x14003eee2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140056a20], r12
mov rcx, qword [0x140056a28]
test rcx, rcx
je 0x14003eefb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140056a28], r12
mov rcx, qword [0x140056a40]
test rcx, rcx
je 0x14003ef14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140056a40], r12
mov rcx, qword [0x140056a38]
test rcx, rcx
je 0x14003ef2d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x140056a38], r12
mov rcx, r13
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x150]
call qword [sym.imp.USER32.dll_UnregisterClassW]
nop
mov rdx, qword [rbp + 0x1a0]
cmp rdx, 0x10
jb 0x14003ef8f
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ef8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003ef8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003f9d0
mov rcx, qword [rbp + 0x1c8]
xor rcx, rsp
call fcn.14003f9b0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140003580
nop
call fcn.140003620
int3