Function at 0x1400abf86
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
jmp 0x14012ebf0
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, 0x1500
call fcn.1400aa7d5
sub rsp, rax
lea rbp, [rsp + 0x60]
lea rdi, [rsp + 0x60]
mov ecx, 0x3a8
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1528]
mov rax, qword [0x140274c08]
xor rax, rbp
mov qword [rbp + 0x1498], rax
lea rcx, [0x14028d4c0]
call fcn.1400acb2a
lea rax, [rbp + 0x10]
mov rdi, rax
xor eax, eax
mov ecx, 0x50
rep stosb byte [rdi], al
mov dword [rbp + 0x10], 0x50
mov dword [rbp + 0x14], 3
lea rax, [0x1400ab036]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x14c0]
mov qword [rbp + 0x28], rax
lea rax, str.Wall_Hack
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x10]
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov qword [rsp + 0x58], 0
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x438
mov dword [rsp + 0x30], 0x780
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0x80000000
lea r8, str.Wall_Hack
mov rdx, qword [rbp + 0x50]
mov ecx, 0x80028
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbp + 0x78], rax
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
lea rax, [rbp + 0x98]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
lea rdx, [rbp + 0x98]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_GetClientRect]
lea rax, [rbp + 0xc8]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
lea rdx, [rbp + 0xc8]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rax, [rbp + 0xf8]
mov rdi, rax
xor eax, eax
mov ecx, 8
rep stosb byte [rdi], al
lea rdx, [rbp + 0xf8]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rbp + 0xc8]
mov ecx, dword [rbp + 0xf8]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0xc8]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x118], eax
mov eax, dword [rbp + 0xcc]
mov ecx, dword [rbp + 0xfc]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0xcc]
add ecx, eax
mov eax, ecx
mov dword [rbp + 0x11c], eax
mov eax, dword [rbp + 0xa0]
mov dword [rbp + 0x120], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x124], eax
lea rdx, [rbp + 0x118]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
lea rax, [rbp + 0x150]
mov rdi, rax
xor eax, eax
mov ecx, 0x48
rep stosb byte [rdi], al
mov dword [rbp + 0x158], 0x3c
mov dword [rbp + 0x15c], 0x3c
mov dword [rbp + 0x160], 0x1c
mov dword [rbp + 0x16c], 1
mov dword [rbp + 0x174], 0x20
mov dword [rbp + 0x178], 2
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], 1
mov dword [rbp + 0x18c], 0
mov dword [rbp + 0x190], 2
mov dword [rbp + 0x1b8], 0xb000
mov dword [rbp + 0x1bc], 0xa000
mov qword [rbp + 0x1d8], 0
mov qword [rbp + 0x1f8], 0
mov qword [rbp + 0x218], 0
mov qword [rbp + 0x238], 0
mov dword [rbp + 0x254], 0
lea rax, [rbp + 0x1f8]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x254]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x1d8]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x218]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call fcn.1400aa17c
mov qword [rbp + 0x278], 0
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x1488], rax
lea rcx, [rbp + 0x278]
call fcn.1400ab1c6
mov qword [rbp + 0x1490], rax
mov r9, qword [rbp + 0x1490]
lea r8, [0x14025af90]
xor edx, edx
mov rcx, qword [rbp + 0x218]
call qword [rbp + 0x1488]
cmp qword [rbp + 0x278], 0
je 0x14012efb5
mov rax, qword [rbp + 0x1d8]
mov rax, qword [rax]
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x1488], rax
lea r9, [rbp + 0x238]
xor r8d, r8d
mov rdx, qword [rbp + 0x278]
mov rcx, qword [rbp + 0x1d8]
call qword [rbp + 0x1488]
mov rax, qword [rbp + 0x278]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x278]
call qword [rax + 0x10]
jmp 0x14012efbf
mov eax, 1
jmp 0x140130134
mov edx, dword [rbp + 0x14d8]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_UpdateWindow]
xor ecx, ecx
call fcn.1400aca2b
xor ecx, ecx
call fcn.1400acecc
mov rcx, qword [rbp + 0x78]
call fcn.1400aabb8
mov rdx, qword [rbp + 0x1f8]
mov rcx, qword [rbp + 0x1d8]
call fcn.1400aa938
mov byte [rbp + 0x294], 1
mov byte [rbp + 0x2b4], 0
mov byte [rbp + 0x2d4], 0
mov byte [rbp + 0x2f4], 0
mov byte [rbp + 0x314], 0
mov byte [rbp + 0x334], 0
mov byte [rbp + 0x354], 0
movzx eax, byte [rbp + 0x294]
test eax, eax
je 0x140130091
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x378]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14012f090
lea rcx, [rbp + 0x378]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x378]
call qword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [rbp + 0x380], 0x12
jne 0x14012f08e
mov byte [rbp + 0x294], 0
jmp 0x14012f043
movzx eax, byte [rbp + 0x294]
test eax, eax
jne 0x14012f0a0
jmp 0x140130091
call fcn.1400acad5
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x3c8]
call fcn.1400ab97d
mov eax, dword [0x140274bc0]
mov rcx, qword [0x14027d1a0]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x3c8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
mov eax, dword [0x140274bbc]
mov rcx, qword [0x14027d1b0]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x400]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ab8bf
mov eax, dword [0x140274bcc]
mov rcx, qword [0x14027d1b0]
add rcx, rax
mov rax, rcx
lea r8, [0x14027d204]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
call fcn.1400aafa0
call fcn.1400abbe9
call fcn.1400ac008
mov ecx, 0x61
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f185
movzx eax, byte [rbp + 0x2b4]
test eax, eax
jne 0x14012f16e
mov dword [rbp + 0x1484], 1
jmp 0x14012f178
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x2b4], al
mov ecx, 0x62
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f1c6
movzx eax, byte [rbp + 0x2d4]
test eax, eax
jne 0x14012f1af
mov dword [rbp + 0x1484], 1
jmp 0x14012f1b9
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x2d4], al
mov ecx, 0x63
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f207
movzx eax, byte [rbp + 0x2f4]
test eax, eax
jne 0x14012f1f0
mov dword [rbp + 0x1484], 1
jmp 0x14012f1fa
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x2f4], al
mov ecx, 0x64
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f248
movzx eax, byte [rbp + 0x314]
test eax, eax
jne 0x14012f231
mov dword [rbp + 0x1484], 1
jmp 0x14012f23b
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x314], al
mov ecx, 0x65
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f289
movzx eax, byte [rbp + 0x334]
test eax, eax
jne 0x14012f272
mov dword [rbp + 0x1484], 1
jmp 0x14012f27c
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x334], al
mov ecx, 0x66
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x14012f2ca
movzx eax, byte [rbp + 0x354]
test eax, eax
jne 0x14012f2b3
mov dword [rbp + 0x1484], 1
jmp 0x14012f2bd
mov dword [rbp + 0x1484], 0
movzx eax, byte [rbp + 0x1484]
mov byte [rbp + 0x354], al
movzx eax, byte [rbp + 0x2d4]
test eax, eax
je 0x14012f2da
call fcn.1400aa5c3
movzx eax, byte [rbp + 0x2b4]
test eax, eax
je 0x14012f2ea
call fcn.1400aa8e8
movzx eax, byte [rbp + 0x2f4]
test eax, eax
je 0x14012f2fa
call fcn.1400ac9a4
movzx eax, byte [rbp + 0x314]
test eax, eax
je 0x14012f35c
lea rax, [rbp + 0x1140]
lea rcx, [0x14027d204]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x1140]
call fcn.1400ac86e
mov qword [rbp + 0x458], rax
mov eax, dword [0x140274bcc]
mov rcx, qword [0x14027d1b0]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x458]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400acfa3
movzx eax, byte [rbp + 0x334]
test eax, eax
jne 0x14012f376
movzx eax, byte [rbp + 0x354]
test eax, eax
je 0x14012ffc0
movss xmm0, dword [0x140236c80]
movss dword [rbp + 0x474], xmm0
mov qword [rbp + 0x498], 0
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x4b8]
call fcn.1400ab97d
mov eax, dword [0x140274bc4]
mov rcx, qword [0x14027d1a0]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x4e8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
mov rax, qword [rbp + 0x4e8]
add rax, 0x1e0
lea r8, [rbp + 0x508]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
mov rax, qword [rbp + 0x508]
add rax, 0xc0
lea r8, [0x14027d1f8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
xorps xmm0, xmm0
movss dword [rbp + 0x524], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x544], xmm0
mov eax, dword [0x140274bcc]
mov rcx, qword [0x14027d1b0]
add rcx, rax
mov rax, rcx
lea r8, [0x14027d204]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
mov dword [rbp + 0x564], 1
jmp 0x14012f46e
mov eax, dword [rbp + 0x564]
inc eax
mov dword [rbp + 0x564], eax
cmp dword [rbp + 0x564], 0x20
jge 0x14012feb3
mov dword [rbp + 0x588], 0xff
mov dword [rbp + 0x58c], 0
mov dword [rbp + 0x590], 0
mov eax, dword [rbp + 0x564]
and eax, 0x7fff
shl eax, 3
sar eax, 9
cdqe
mov rcx, qword [0x14027d1d0]
lea rax, [rcx + rax + 0x10]
lea r8, [rbp + 0x5b8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
cmp qword [rbp + 0x5b8], 0
jne 0x14012f4da
jmp 0x14012f460
mov eax, dword [rbp + 0x564]
and eax, 0x1ff
imul eax, eax, 0x78
cdqe
mov rcx, qword [rbp + 0x5b8]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x5d8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
cmp qword [rbp + 0x5d8], 0
jne 0x14012f51c
jmp 0x14012f460
mov eax, dword [0x140274ba4]
mov rcx, qword [rbp + 0x5d8]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x5f4]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400abc7f
mov eax, dword [rbp + 0x5f4]
cmp dword [0x14027d1e8], eax
jne 0x14012f58c
mov dword [rbp + 0x1108], 0
mov dword [rbp + 0x110c], 0
mov dword [rbp + 0x1110], 0xff
lea rax, [rbp + 0x588]
lea rcx, [rbp + 0x1108]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov eax, dword [0x140274b84]
mov rcx, qword [rbp + 0x5d8]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x618]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
mov rax, qword [rbp + 0x618]
and rax, 0x7fff
shr rax, 9
mov rcx, qword [0x14027d1d0]
lea rax, [rcx + rax*8 + 0x10]
lea r8, [rbp + 0x638]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
cmp qword [rbp + 0x638], 0
jne 0x14012f5f7
jmp 0x14012f460
mov rax, qword [rbp + 0x618]
and rax, 0x1ff
imul rax, rax, 0x78
mov rcx, qword [rbp + 0x638]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x658]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
cmp qword [rbp + 0x658], 0
jne 0x14012f63a
jmp 0x14012f460
mov eax, dword [0x140274b98]
mov rcx, qword [rbp + 0x658]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x674]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400abc7f
cmp dword [rbp + 0x674], 0
jg 0x14012f671
jmp 0x14012f460
mov rax, qword [0x14027d1a0]
cmp qword [rbp + 0x658], rax
jne 0x14012f686
jmp 0x14012f460
mov eax, dword [0x140274b90]
mov rcx, qword [0x14027d1b0]
add rcx, rax
mov rax, rcx
lea r8, [0x14027d218]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
call fcn.1400acc83
mov dword [rbp + 0x694], eax
mov eax, dword [0x140274bd0]
mov rcx, qword [rbp + 0x658]
add rcx, rax
mov rax, rcx
mov ecx, dword [0x140274bc8]
add rax, rcx
lea r8, [rbp + 0x6b4]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400abc7f
mov eax, dword [rbp + 0x694]
dec eax
mov ecx, 1
mov dword [rbp + 0x1484], ecx
movzx ecx, al
mov eax, dword [rbp + 0x1484]
shl eax, cl
mov ecx, dword [rbp + 0x6b4]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14012f721
mov byte [rbp + 0x1488], 1
jmp 0x14012f728
mov byte [rbp + 0x1488], 0
movzx eax, byte [rbp + 0x1488]
mov byte [rbp + 0x6d4], al
mov eax, dword [0x140274bd0]
mov rcx, qword [0x14027d1a0]
add rcx, rax
mov rax, rcx
mov ecx, dword [0x140274bc8]
add rax, rcx
lea r8, [rbp + 0x6f4]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400abc7f
mov eax, dword [rbp + 0x564]
dec eax
mov ecx, 1
mov dword [rbp + 0x1484], ecx
movzx ecx, al
mov eax, dword [rbp + 0x1484]
shl eax, cl
mov ecx, dword [rbp + 0x6f4]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14012f79c
mov byte [rbp + 0x1488], 1
jmp 0x14012f7a3
mov byte [rbp + 0x1488], 0
movzx eax, byte [rbp + 0x1488]
mov byte [rbp + 0x714], al
mov eax, dword [0x140274bc4]
mov rcx, qword [rbp + 0x658]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x738]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
mov rax, qword [rbp + 0x738]
add rax, 0x1e0
lea r8, [rbp + 0x758]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac855
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x778]
call fcn.1400ab97d
mov eax, dword [0x140274bc0]
mov rcx, qword [rbp + 0x658]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x778]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x7a8]
call fcn.1400ab97d
mov rax, qword [rbp + 0x758]
add rax, 0xc0
lea r8, [rbp + 0x7a8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
lea rax, [rbp + 0x1170]
lea rcx, [rbp + 0x400]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1170]
lea rdx, [rbp + 0x7d8]
lea rcx, [rbp + 0x778]
call fcn.1400aa0cd
lea rax, [rbp + 0x11d0]
lea rcx, [rbp + 0x400]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x11d0]
lea rdx, [rbp + 0x808]
lea rcx, [rbp + 0x7a8]
call fcn.1400aa0cd
movss xmm0, dword [rbp + 0x7dc]
subss xmm0, dword [rbp + 0x80c]
divss xmm0, dword [0x14021f94c]
movss dword [rbp + 0x834], xmm0
movss xmm0, dword [rbp + 0x7d8]
subss xmm0, dword [rbp + 0x808]
movss dword [rbp + 0x854], xmm0
movss xmm0, dword [rbp + 0x7dc]
subss xmm0, dword [rbp + 0x80c]
movss dword [rbp + 0x874], xmm0
movss xmm0, dword [rbp + 0x874]
divss xmm0, dword [0x14025b2dc]
movss dword [rbp + 0x894], xmm0
mov eax, 0x64
sub eax, dword [rbp + 0x674]
cvtsi2sd xmm0, eax
movsd xmm1, qword [str.ffffff]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si rax, xmm0
mov dword [rbp + 0x8b8], eax
cvtsi2sd xmm0, dword [rbp + 0x674]
movsd xmm1, qword [str.ffffff]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si rax, xmm0
mov dword [rbp + 0x8bc], eax
mov dword [rbp + 0x8c0], 0
mov dword [rbp + 0x8e8], 0xff
mov dword [rbp + 0x8ec], 0xff
mov dword [rbp + 0x8f0], 0xff
movzx eax, byte [rbp + 0x354]
test eax, eax
je 0x14012fb2f
movss xmm0, dword [rbp + 0x874]
divss xmm0, dword [0x14021f92c]
lea rax, [rbp + 0x1230]
lea rcx, [rbp + 0x7a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm1, dword [0x140236bfc]
movss dword [rsp + 0x38], xmm1
movss xmm1, dword [0x14025b2f0]
movss dword [rsp + 0x30], xmm1
movss xmm1, dword [rbp + 0x544]
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm0
movzx r9d, byte [rbp + 0x714]
movzx r8d, byte [rbp + 0x6d4]
lea rdx, [rbp + 0x1230]
mov ecx, dword [rbp + 0x5f4]
call fcn.1400acce2
movzx eax, al
test eax, eax
je 0x14012fb2f
movss xmm0, dword [rbp + 0x874]
divss xmm0, dword [0x14021f92c]
lea rax, [rbp + 0x1260]
lea rcx, [rbp + 0x7a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movaps xmm2, xmm0
lea rdx, [rbp + 0x1260]
lea rcx, [rbp + 0x918]
call fcn.1400aa1ae
movss xmm0, dword [rbp + 0x918]
subss xmm0, dword [0x14027d204]
mov edx, 2
call fcn.1400ab3ba
movsd qword [rbp + 0x1488], xmm0
movss xmm1, dword [rbp + 0x91c]
subss xmm1, dword [0x14027d208]
mov edx, 2
movaps xmm0, xmm1
call fcn.1400ab3ba
movsd xmm1, qword [rbp + 0x1488]
addsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.1400aa28a
cvtsd2ss xmm0, xmm0
movss dword [rbp + 0x544], xmm0
mov rax, qword [rbp + 0x658]
mov qword [rbp + 0x498], rax
lea rax, [rbp + 0x4b8]
lea rcx, [rbp + 0x7a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x874]
divss xmm0, dword [0x14021f92c]
movss dword [rbp + 0x524], xmm0
movzx eax, byte [rbp + 0x334]
test eax, eax
je 0x14012feae
lea rax, [rbp + 0x1290]
lea rcx, [rbp + 0x588]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x834]
mulss xmm0, dword [0x14021f92c]
movss xmm1, dword [rbp + 0x874]
addss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
cvttss2si ecx, dword [rbp + 0x894]
movss xmm0, dword [rbp + 0x80c]
subss xmm0, dword [rbp + 0x834]
cvttss2si edx, xmm0
movss xmm0, dword [rbp + 0x894]
divss xmm0, dword [0x14021f92c]
movss xmm1, dword [rbp + 0x808]
subss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si edi, xmm0
movss xmm0, dword [0x14021f990]
movss dword [rsp + 0x38], xmm0
mov byte [rsp + 0x30], 0
movss xmm0, dword [0x14021f930]
movss dword [rsp + 0x28], xmm0
lea rsi, [rbp + 0x1290]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.1400aa933
lea rax, [rbp + 0x12c0]
lea rcx, [rbp + 0x8b8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
cvttss2si eax, dword [rbp + 0x874]
cvttss2si ecx, dword [rbp + 0x80c]
movss xmm0, dword [rbp + 0x894]
divss xmm0, dword [0x14021f92c]
movss xmm1, dword [rbp + 0x808]
subss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si edx, xmm0
mov dword [rbp + 0x1484], edx
movss xmm0, dword [0x14021f990]
movss dword [rsp + 0x30], xmm0
mov edi, dword [rbp + 0x674]
mov dword [rsp + 0x28], edi
movss xmm0, dword [0x14021f938]
movss dword [rsp + 0x20], xmm0
lea r9, [rbp + 0x12c0]
mov r8d, eax
mov edx, ecx
mov eax, dword [rbp + 0x1484]
mov ecx, eax
call fcn.1400aa037
lea rax, [rbp + 0x12f0]
lea rcx, [rbp + 0x8e8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rbp + 0x834]
subss xmm0, dword [0x14021f934]
movss xmm1, dword [0x14021f990]
movss dword [rsp + 0x30], xmm1
mov byte [rsp + 0x28], 0
movss xmm1, dword [0x140236bc0]
movss dword [rsp + 0x20], xmm1
lea r9, [rbp + 0x12f0]
movaps xmm2, xmm0
movss xmm1, dword [rbp + 0x80c]
movss xmm0, dword [rbp + 0x808]
call fcn.1400accb0
mov dword [rbp + 0x944], 0
jmp 0x14012fd0d
mov eax, dword [rbp + 0x944]
inc eax
mov dword [rbp + 0x944], eax
movsxd rax, dword [rbp + 0x944]
cmp rax, 0x10
jae 0x14012feae
movsxd rax, dword [rbp + 0x944]
lea rcx, [0x14027d220]
mov eax, dword [rcx + rax*8]
mov dword [rbp + 0x964], eax
movsxd rax, dword [rbp + 0x944]
lea rcx, [0x14027d220]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rbp + 0x984], eax
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x9a8]
call fcn.1400ab97d
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x9d8]
call fcn.1400ab97d
imul eax, dword [rbp + 0x964], 0x20
cdqe
mov rcx, qword [rbp + 0x758]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x9a8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
imul eax, dword [rbp + 0x984], 0x20
cdqe
mov rcx, qword [rbp + 0x758]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0x9d8]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400ac89b
lea rax, [rbp + 0x1320]
lea rcx, [rbp + 0x400]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1320]
lea rdx, [rbp + 0xa08]
lea rcx, [rbp + 0x9a8]
call fcn.1400aa0cd
lea rax, [rbp + 0x1380]
lea rcx, [rbp + 0x400]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea r8, [rbp + 0x1380]
lea rdx, [rbp + 0xa38]
lea rcx, [rbp + 0x9d8]
call fcn.1400aa0cd
lea rax, [rbp + 0x13e0]
lea rcx, [rbp + 0x8e8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
cvttss2si eax, dword [rbp + 0xa3c]
cvttss2si ecx, dword [rbp + 0xa38]
cvttss2si edx, dword [rbp + 0xa0c]
cvttss2si edi, dword [rbp + 0xa08]
movss xmm0, dword [0x14021f990]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x140236bc0]
movss dword [rsp + 0x28], xmm0
lea rsi, [rbp + 0x13e0]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.1400acac6
jmp 0x14012fcff
jmp 0x14012f460
mov eax, dword [0x140274bd8]
mov rcx, qword [0x14027d1a0]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0xa64]
mov rdx, rax
lea rcx, [0x14027d2a8]
call fcn.1400abc7f
cmp dword [rbp + 0xa64], 0
je 0x14012fefe
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14012ffc0
cmp qword [rbp + 0x498], 0
je 0x14012ffc0
lea rax, [rbp + 0x1410]
lea rcx, [rbp + 0x4b8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm2, dword [rbp + 0x524]
lea rdx, [rbp + 0x1410]
lea rcx, [rbp + 0xa88]
call fcn.1400aa1ae
cmp dword [rbp + 0xa64], 1
jle 0x14012ff99
lea rax, [rbp + 0x1440]
lea rcx, [0x14027d204]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x1440]
call fcn.1400ac86e
mov qword [rbp + 0xab8], rax
movss xmm0, dword [rbp + 0xab8]
movss dword [rbp + 0xa88], xmm0
movss xmm0, dword [rbp + 0xabc]
movss dword [rbp + 0xa8c], xmm0
lea rax, [rbp + 0x1470]
lea rcx, [rbp + 0xa88]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x1470]
call fcn.1400abd2e
call fcn.1400ac9c7
xorps xmm0, xmm0
movss dword [rbp + 0xad8], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0xadc], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0xae0], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0xae4], xmm0
mov rax, qword [rbp + 0x1f8]
mov rax, qword [rax]
mov rax, qword [rax + 0x108]
mov qword [rbp + 0x1488], rax
xor r9d, r9d
lea r8, [rbp + 0x238]
mov edx, 1
mov rcx, qword [rbp + 0x1f8]
call qword [rbp + 0x1488]
mov rax, qword [rbp + 0x1f8]
mov rax, qword [rax]
mov rax, qword [rax + 0x190]
mov qword [rbp + 0x1488], rax
lea r8, [rbp + 0xad8]
mov rdx, qword [rbp + 0x238]
mov rcx, qword [rbp + 0x1f8]
call qword [rbp + 0x1488]
call fcn.1400ac71f
mov rcx, rax
call fcn.1400aa1a4
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
mov rax, qword [rax + 0x40]
mov qword [rbp + 0x1488], rax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x218]
call qword [rbp + 0x1488]
jmp 0x14012f034
call fcn.1400ac675
call fcn.1400aa78f
xor ecx, ecx
call fcn.1400abcca
cmp qword [rbp + 0x218], 0
je 0x1401300c0
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x218]
call qword [rax + 0x10]
cmp qword [rbp + 0x1f8], 0
je 0x1401300de
mov rax, qword [rbp + 0x1f8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x1f8]
call qword [rax + 0x10]
cmp qword [rbp + 0x1d8], 0
je 0x1401300fc
mov rax, qword [rbp + 0x1d8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x1d8]
call qword [rax + 0x10]
cmp qword [rbp + 0x238], 0
je 0x14013011a
mov rax, qword [rbp + 0x238]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x238]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.USER32.dll_UnregisterClassW]
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x60]
lea rdx, [0x140259300]
call fcn.1400ac3dc
mov rax, rdi
mov rcx, qword [rbp + 0x1498]
xor rcx, rbp
call fcn.1400ab487
lea rsp, [rbp + 0x14a0]
pop rdi
pop rsi
pop rbp
ret