Function at 0x140045d2c
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x798
mov rax, qword [0x14009ab80]
xor rax, rsp
mov qword [rsp + 0x780], rax
mov eax, 0x264
mov eax, eax
mov ecx, dword [0x14009bef8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x14009be50], eax
jle 0x140045d9f
lea rcx, [0x14009be50]
call fcn.140064a94
cmp dword [0x14009be50], 0xffffffff
jne 0x140045d9f
call fcn.140008bc4
mov rax, qword [rax + 8]
mov qword [0x14009be48], rax
lea rcx, [0x14009be50]
call fcn.140064a28
nop
mov eax, 0x264
mov eax, eax
mov ecx, dword [0x14009bef8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x14009be60], eax
jle 0x140045e16
lea rcx, [0x14009be60]
call fcn.140064a94
cmp dword [0x14009be60], 0xffffffff
jne 0x140045e16
movss xmm0, dword [0x14009be4c]
divss xmm0, dword [0x140069d78]
movss xmm1, dword [0x14009be48]
divss xmm1, dword [0x140069d78]
movaps xmm2, xmm0
lea rcx, [0x14009be58]
call fcn.14003fdb8
nop
lea rcx, [0x14009be60]
call fcn.140064a28
nop
cmp qword [0x14009b960], 0
je 0x140045e22
jmp 0x140045e2c
mov dword [0x14009ab20], 0x960
movzx eax, byte [0x14009b930]
test eax, eax
je 0x1400461b0
movzx eax, byte [0x140099227]
test eax, eax
je 0x140046082
movss xmm0, dword [0x140090198]
movss dword [rsp + 0xd0], xmm0
movss xmm0, dword [0x14009be64]
addss xmm0, dword [rsp + 0xd0]
movss dword [0x14009be64], xmm0
movss xmm0, dword [0x14009be64]
comiss xmm0, dword [0x140069d70]
jbe 0x140045e9d
movss xmm0, dword [0x14009be64]
subss xmm0, dword [0x140069d70]
movss dword [0x14009be64], xmm0
movss xmm0, dword [0x14009be64]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xd4], xmm0
movss xmm0, dword [0x14009be64]
addss xmm0, dword [0x1400901b0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xd8], xmm0
movss xmm0, dword [0x14009be64]
addss xmm0, dword [0x1400901c0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xdc], xmm0
call fcn.140008f18
mov qword [rsp + 0x278], rax
cvtsi2ss xmm0, dword [0x14009b944]
movss dword [rsp + 0xe0], xmm0
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9bc]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9b8]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x460]
call fcn.14003fdb8
mov qword [rsp + 0x3f8], rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9bc]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9b8]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x468]
call fcn.14003fdb8
mov qword [rsp + 0x270], rax
movss xmm0, dword [rsp + 0xd4]
mulss xmm0, dword [0x140069dac]
cvttss2si rax, xmm0
movss xmm0, dword [rsp + 0xd8]
mulss xmm0, dword [0x140069dac]
cvttss2si rcx, xmm0
shl ecx, 8
movss xmm0, dword [rsp + 0xdc]
mulss xmm0, dword [0x140069dac]
cvttss2si rdx, xmm0
shl edx, 0x10
or edx, 0xff000000
or edx, ecx
mov ecx, edx
or ecx, eax
mov eax, ecx
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xf
movss xmm0, dword [rsp + 0xe0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
mov r8, qword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x278]
call fcn.140013790
nop
jmp 0x1400461a0
call fcn.140008f18
mov qword [rsp + 0x290], rax
cvtsi2ss xmm0, dword [0x14009b944]
movss dword [rsp + 0xe4], xmm0
mov eax, dword [0x14009b948]
shl eax, 8
mov ecx, dword [0x14009924c]
shl ecx, 0x10
or ecx, 0xff000000
or ecx, eax
mov eax, ecx
or eax, dword [0x140099250]
mov dword [rsp + 0xe8], eax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9bc]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9b8]
add ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x470]
call fcn.14003fdb8
mov qword [rsp + 0x280], rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9bc]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm0, rax
mov eax, dword [0x140099240]
mov ecx, dword [0x14009b9b8]
sub ecx, eax
mov eax, ecx
mov eax, eax
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x478]
call fcn.14003fdb8
mov qword [rsp + 0x288], rax
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xf
movss xmm0, dword [rsp + 0xe4]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0xe8]
mov r8, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x290]
call fcn.140013790
nop
mov byte [rsp + 0x88], 0
mov byte [rsp + 0x89], 0
call fcn.140008bc4
movss xmm0, dword [rax + 0x3ac]
movss dword [rsp + 0xa0], xmm0
movzx eax, byte [0x14009923c]
test eax, eax
je 0x14004653f
movzx eax, byte [0x140099227]
test eax, eax
je 0x140046411
movss xmm0, dword [0x140090198]
movss dword [rsp + 0xec], xmm0
movss xmm0, dword [0x14009be68]
addss xmm0, dword [rsp + 0xec]
movss dword [0x14009be68], xmm0
movss xmm0, dword [0x14009be68]
comiss xmm0, dword [0x140069d70]
jbe 0x140046237
movss xmm0, dword [0x14009be68]
subss xmm0, dword [0x140069d70]
movss dword [0x14009be68], xmm0
movss xmm0, dword [0x14009be68]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xf8], xmm0
movss xmm0, dword [0x14009be68]
addss xmm0, dword [0x1400901b0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xf4], xmm0
movss xmm0, dword [0x14009be68]
addss xmm0, dword [0x1400901c0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0xf0], xmm0
call fcn.140008f18
mov qword [rsp + 0x2c8], rax
cvttss2si eax, dword [rsp + 0xa0]
mov edx, eax
lea rcx, [rsp + 0x698]
call fcn.140061c9c
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x2a0], rax
mov r8, qword [rsp + 0x2a0]
lea rdx, [0x14008e1e0]
lea rcx, [rsp + 0x678]
call fcn.14002b9a8
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x2b0], rax
mov rcx, qword [rsp + 0x2b0]
call fcn.140050e0c
mov qword [rsp + 0x2b8], rax
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0xf0]
movss xmm2, dword [rsp + 0xf4]
movss xmm1, dword [rsp + 0xf8]
lea rcx, [rsp + 0x570]
call fcn.14003fd44
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0xfc], eax
movss xmm2, dword [0x140069d94]
movss xmm1, dword [0x140069e64]
lea rcx, [rsp + 0x418]
call fcn.14003fdb8
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x2b8]
mov r8d, dword [rsp + 0xfc]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2c8]
call fcn.14001394c
nop
lea rcx, [rsp + 0x678]
call fcn.1400410dc
nop
lea rcx, [rsp + 0x698]
call fcn.1400410dc
nop
jmp 0x14004653f
call fcn.140008f18
mov qword [rsp + 0x300], rax
cvttss2si eax, dword [rsp + 0xa0]
mov edx, eax
lea rcx, [rsp + 0x6d8]
call fcn.140061c9c
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x2d8], rax
mov r8, qword [rsp + 0x2d8]
lea rdx, str.FREE_dsg.gg_abdiv2__n_nFPS___
lea rcx, [rsp + 0x6b8]
call fcn.14002b9a8
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x2e8], rax
mov rcx, qword [rsp + 0x2e8]
call fcn.140050e0c
mov qword [rsp + 0x2f0], rax
mov dword [rsp + 0x20], 0x96
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x580]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x100], eax
movss xmm2, dword [0x140069d94]
movss xmm1, dword [0x140069e64]
lea rcx, [rsp + 0x420]
call fcn.14003fdb8
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x2f0]
mov r8d, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x2f8]
mov rcx, qword [rsp + 0x300]
call fcn.14001394c
nop
lea rcx, [rsp + 0x6b8]
call fcn.1400410dc
nop
lea rcx, [rsp + 0x6d8]
call fcn.1400410dc
nop
movzx eax, byte [0x1400991c4]
test eax, eax
je 0x14004681a
movzx eax, byte [0x140099227]
test eax, eax
je 0x14004672f
movss xmm0, dword [0x140090198]
movss dword [rsp + 0x104], xmm0
movss xmm0, dword [0x14009be6c]
addss xmm0, dword [rsp + 0x104]
movss dword [0x14009be6c], xmm0
movss xmm0, dword [0x14009be6c]
comiss xmm0, dword [0x140069d70]
jbe 0x1400465b0
movss xmm0, dword [0x14009be6c]
subss xmm0, dword [0x140069d70]
movss dword [0x14009be6c], xmm0
movss xmm0, dword [0x14009be6c]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x110], xmm0
movss xmm0, dword [0x14009be6c]
addss xmm0, dword [0x1400901b0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x10c], xmm0
movss xmm0, dword [0x14009be6c]
addss xmm0, dword [0x1400901c0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x108], xmm0
call fcn.140008f18
mov qword [rsp + 0x310], rax
cvtsi2ss xmm0, dword [0x140099228]
movss dword [rsp + 0x114], xmm0
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x108]
movss xmm2, dword [rsp + 0x10c]
movss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x590]
call fcn.14003fd44
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x118], eax
cvtsi2ss xmm0, dword [0x140099240]
movss dword [rsp + 0x11c], xmm0
mov eax, dword [0x14009b9bc]
cvtsi2ss xmm0, rax
mov eax, dword [0x14009b9b8]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x428]
call fcn.14003fdb8
mov qword [rsp + 0x308], rax
movss xmm0, dword [rsp + 0x114]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0x118]
movss xmm2, dword [rsp + 0x11c]
mov rdx, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x310]
call fcn.14001175c
nop
jmp 0x140046802
call fcn.140008f18
mov qword [rsp + 0x320], rax
cvtsi2ss xmm0, dword [0x140099228]
movss dword [rsp + 0x120], xmm0
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x5a0]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x124], eax
cvtsi2ss xmm0, dword [0x140099240]
movss dword [rsp + 0x128], xmm0
mov eax, dword [0x14009b9bc]
cvtsi2ss xmm0, rax
mov eax, dword [0x14009b9b8]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x430]
call fcn.14003fdb8
mov qword [rsp + 0x318], rax
movss xmm0, dword [rsp + 0x120]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0x124]
movss xmm2, dword [rsp + 0x128]
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x320]
call fcn.14001175c
nop
mov byte [rsp + 0x8a], 0
mov byte [rsp + 0x8b], 0
mov byte [rsp + 0x8c], 0
movzx eax, byte [0x14009b933]
test eax, eax
je 0x140046974
call fcn.140008f18
mov qword [rsp + 0x330], rax
cvtsi2ss xmm0, dword [0x140099228]
movss dword [rsp + 0x12c], xmm0
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x5b0]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x130], eax
cvtsi2ss xmm0, dword [0x140099240]
movss dword [rsp + 0x134], xmm0
mov eax, dword [0x14009b9bc]
cvtsi2ss xmm0, rax
mov eax, dword [0x14009b9b8]
cvtsi2ss xmm1, rax
movaps xmm2, xmm0
lea rcx, [rsp + 0x438]
call fcn.14003fdb8
mov qword [rsp + 0x328], rax
movss xmm0, dword [rsp + 0x12c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0x130]
movss xmm2, dword [rsp + 0x134]
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x330]
call fcn.14001175c
nop
call fcn.140008f18
mov qword [rsp + 0x338], rax
mov dword [rsp + 0x20], 0x6e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x5c0]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x138], eax
cvtsi2ss xmm0, dword [0x140099240]
movss dword [rsp + 0x13c], xmm0
mov dword [rsp + 0x20], 0x64
mov r9d, dword [rsp + 0x138]
movss xmm2, dword [rsp + 0x13c]
lea rdx, [0x14009be58]
mov rcx, qword [rsp + 0x338]
call fcn.140011804
nop
cmp dword [0x14009b93c], 0
jne 0x140046989
mov dword [0x14009b938], 0x6d
jmp 0x1400469c6
cmp dword [0x14009b93c], 1
jne 0x14004699e
mov dword [0x14009b938], 0x42
jmp 0x1400469c6
cmp dword [0x14009b93c], 2
jne 0x1400469b3
mov dword [0x14009b938], 0x25
jmp 0x1400469c6
cmp dword [0x14009b93c], 3
jne 0x1400469c6
mov dword [0x14009b938], 2
movzx eax, byte [0x14009b916]
test eax, eax
je 0x1400469ed
mov rax, qword [0x14009b980]
add rax, 0x64
movss xmm1, dword [0x140069dcc]
mov rcx, rax
call fcn.14003da28
nop
movzx eax, byte [0x1400991c9]
test eax, eax
je 0x140046ed5
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0xc0], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc0]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0xc4]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0xc4]
cdq
sub eax, edx
sar eax, 1
cdq
mov ecx, 0x1e
idiv ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
cdq
idiv dword [rsp + 0x50]
mov ecx, eax
call fcn.140032ef8
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x5c], xmm0
mov eax, dword [0x14009be70]
inc eax
mov dword [0x14009be70], eax
mov eax, dword [0x14009be70]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x44], 0
cmp dword [rsp + 0x44], 4
jge 0x140046ed5
lea rcx, [rsp + 0x200]
call fcn.14003f98c
nop
cvtsi2ss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x140], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm0, xmm1
call fcn.14004a020
call fcn.140060cbc
movss xmm1, dword [rsp + 0x140]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x144], eax
lea rdx, [rsp + 0x144]
lea rcx, [rsp + 0x200]
call fcn.14005a8cc
nop
cvtsi2ss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x148], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm0, xmm1
call fcn.14004a020
call fcn.14005238c
movss xmm1, dword [rsp + 0x148]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x14c], eax
lea rdx, [rsp + 0x14c]
lea rcx, [rsp + 0x200]
call fcn.14005a8cc
nop
cvtsi2ss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x150], xmm0
movss xmm0, dword [rsp + 0x5c]
call fcn.14005238c
movss xmm1, dword [rsp + 0x150]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x158], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movss dword [rsp + 0x154], xmm1
movss xmm0, dword [rsp + 0x5c]
call fcn.140043c08
movss xmm1, dword [rsp + 0x154]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004a020
call fcn.140060cbc
movss xmm1, dword [rsp + 0x158]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x15c], eax
lea rdx, [rsp + 0x15c]
lea rcx, [rsp + 0x200]
call fcn.14005a8cc
nop
cvtsi2ss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x160], xmm0
movss xmm0, dword [rsp + 0x5c]
call fcn.14005238c
movss xmm1, dword [rsp + 0x160]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x168], xmm0
imul eax, dword [rsp + 0x44], 0x5a
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movss dword [rsp + 0x164], xmm1
movss xmm0, dword [rsp + 0x5c]
call fcn.140043c08
movss xmm1, dword [rsp + 0x164]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14004a020
call fcn.14005238c
movss xmm1, dword [rsp + 0x168]
mulss xmm1, xmm0
movaps xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x16c], eax
lea rdx, [rsp + 0x16c]
lea rcx, [rsp + 0x200]
call fcn.14005a8cc
nop
call fcn.140009078
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x140069d70]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss dword [rsp + 0x170], xmm0
cvtsi2ss xmm0, dword [rsp + 0x44]
mulss xmm0, dword [0x140069d40]
movss xmm1, dword [rsp + 0x170]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [0x140069d70]
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [0x140069d70]
movss xmm2, dword [0x140069d70]
movaps xmm1, xmm0
lea rcx, [rsp + 0x5d0]
call fcn.14004b68c
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0xa4], eax
cvtsi2ss xmm0, dword [rsp + 0x9c]
cvtsi2ss xmm1, dword [rsp + 0x98]
movaps xmm2, xmm0
lea rcx, [rsp + 0x340]
call fcn.14003fdb8
mov edx, 1
lea rcx, [rsp + 0x200]
call fcn.140042240
mov eax, dword [rax]
mov ecx, dword [rsp + 0x9c]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x174], xmm0
xor edx, edx
lea rcx, [rsp + 0x200]
call fcn.140042240
mov eax, dword [rax]
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x178], xmm0
movss xmm2, dword [rsp + 0x174]
movss xmm1, dword [rsp + 0x178]
lea rcx, [rsp + 0x240]
call fcn.14003fdb8
mov edx, 3
lea rcx, [rsp + 0x200]
call fcn.140042240
mov eax, dword [rax]
mov ecx, dword [rsp + 0x9c]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x17c], xmm0
mov edx, 2
lea rcx, [rsp + 0x200]
call fcn.140042240
mov eax, dword [rax]
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
movss dword [rsp + 0x180], xmm0
movss xmm2, dword [rsp + 0x17c]
movss xmm1, dword [rsp + 0x180]
lea rcx, [rsp + 0x350]
call fcn.14003fdb8
call fcn.140008f18
mov qword [rsp + 0x348], rax
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0xa4]
lea r8, [rsp + 0x240]
lea rdx, [rsp + 0x340]
mov rcx, qword [rsp + 0x348]
call fcn.140012ac0
call fcn.140008f18
mov qword [rsp + 0x358], rax
movss xmm0, dword [0x140069d70]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0xa4]
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x240]
mov rcx, qword [rsp + 0x358]
call fcn.140012ac0
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
lea rcx, [rsp + 0x200]
call fcn.1400415a0
nop
jmp 0x140046a95
movss xmm0, dword [0x140069dc0]
movss dword [rsp + 0xb0], xmm0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x248], 0
mov dword [rsp + 0x54], 0
jmp 0x140046f12
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0x19
jge 0x140046f66
imul eax, dword [rsp + 0x54], 0x1000
cdqe
mov rcx, qword [0x14009ba40]
lea rax, [rcx + rax + 0x250]
mov rcx, rax
call fcn.140039b94
cmp eax, 0x260e020b
jne 0x140046f64
mov eax, dword [rsp + 0x54]
inc eax
imul eax, eax, 0x1000
cdqe
mov rcx, qword [0x14009ba40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x248], rax
jmp 0x140046f08
mov rax, qword [rsp + 0x248]
add rax, 0x117105c8
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b958], rax
mov rax, qword [0x140099280]
mov rcx, qword [0x14009b958]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x360], rax
mov rax, qword [0x140099288]
mov rcx, qword [rsp + 0x360]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x368], rax
mov rcx, qword [rsp + 0x368]
call fcn.140039d5c
mov qword [0x14009b970], rax
mov rax, qword [0x140099290]
mov rcx, qword [0x14009b970]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b980], rax
mov rax, qword [0x140099298]
mov rcx, qword [0x14009b980]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b960], rax
mov rax, qword [0x1400992a0]
mov rcx, qword [0x14009b960]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b968], rax
mov rax, qword [0x1400992a8]
mov rcx, qword [0x14009b960]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b978], rax
mov rax, qword [0x1400992b8]
mov rcx, qword [0x14009b958]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [0x14009b988], rax
mov rax, qword [0x1400992d0]
mov rcx, qword [0x14009b988]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039b94
mov dword [rsp + 0x3ec], eax
mov rax, qword [0x1400992d8]
mov rcx, qword [0x14009b988]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x440], rax
mov rax, qword [0x1400992b0]
mov rcx, qword [0x14009b958]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x250], rax
mov rax, qword [0x140099330]
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x370], rax
mov byte [rsp + 0x48], 0
cmp qword [0x14009b960], 0
je 0x140047133
mov byte [rsp + 0x48], 1
mov rax, qword [rsp + 0x250]
mov rcx, qword [0x140099330]
lea rax, [rax + rcx + 8]
mov rcx, rax
call fcn.140039b94
mov dword [rsp + 0x184], eax
mov dword [rsp + 0x60], 0
jmp 0x14004716a
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x184]
cmp dword [rsp + 0x60], eax
jae 0x1400481e9
mov eax, dword [rsp + 0x60]
imul rax, qword [0x1400992e0]
mov rcx, qword [rsp + 0x370]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x378], rax
mov rax, qword [0x140099328]
mov rcx, qword [rsp + 0x378]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0xc8], rax
cmp qword [rsp + 0xc8], 0
jne 0x1400471d7
jmp 0x140047160
cmp qword [0x14009b960], 0
jne 0x1400471eb
mov dword [0x14009ab20], 0x960
mov rax, qword [0x1400992e8]
mov rcx, qword [rsp + 0xc8]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x80], rax
mov rax, qword [0x140099300]
mov rcx, qword [0x14009b968]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039b94
mov dword [rsp + 0x18c], eax
mov rax, qword [0x1400992a0]
mov rcx, qword [rsp + 0xc8]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039d5c
mov qword [rsp + 0x380], rax
mov rax, qword [0x140099300]
mov rcx, qword [rsp + 0x380]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.140039b94
mov dword [rsp + 0x188], eax
lea rdx, [0x14009bde0]
lea rcx, [rsp + 0x498]
call fcn.14003facc
nop
mov eax, dword [rsp + 0x188]
cmp dword [rsp + 0x18c], eax
jne 0x1400472b4
lea rcx, [rsp + 0x498]
call fcn.1400415d8
nop
jmp 0x140047160
mov r8d, 0x6e
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x258]
call fcn.14004aed0
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x480]
call fcn.14004aed0
nop
lea rax, [rsp + 0x4d0]
lea rcx, [rsp + 0x480]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x218]
call fcn.14004c6f0
nop
movsd xmm0, qword [rsp + 0x268]
addsd xmm0, qword [0x1400901e8]
movaps xmm3, xmm0
movsd xmm2, qword [rsp + 0x260]
movsd xmm1, qword [rsp + 0x258]
lea rcx, [rsp + 0x4f0]
call fcn.14003fe4c
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x388]
mov qword [rsp + 0x390], rax
lea rax, [rsp + 0x4b0]
mov rdi, rax
mov rsi, qword [rsp + 0x390]
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x68]
call fcn.14004c6f0
nop
lea rcx, [rsp + 0x4f0]
call fcn.14002dc7c
nop
lea rax, [rsp + 0x510]
lea rcx, [rsp + 0x258]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x510]
lea rcx, [rsp + 0x400]
call fcn.14004c6f0
nop
lea rax, [rsp + 0x530]
lea rcx, [0x14009ba60]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x530]
lea rcx, [0x14009ba60]
call fcn.1400440c8
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x90], xmm0
movsd xmm0, qword [rsp + 0x70]
subsd xmm0, qword [rsp + 0x220]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0xa8], xmm0
cvtss2sd xmm0, dword [rsp + 0xa8]
mulsd xmm0, qword [0x1400901d0]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x190], xmm0
cvtsd2ss xmm0, qword [rsp + 0x68]
movss xmm1, dword [rsp + 0x190]
divss xmm1, dword [0x140069d70]
subss xmm0, xmm1
movss dword [rsp + 0x3e8], xmm0
cvtsd2ss xmm0, qword [rsp + 0x220]
movss dword [rsp + 0x3f0], xmm0
movsd xmm0, qword [rsp + 0x70]
subsd xmm0, qword [rsp + 0x220]
call fcn.140050f84
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x4c], xmm0
cvtsi2ss xmm0, dword [0x140099244]
movss xmm1, dword [rsp + 0x4c]
mulss xmm1, xmm0
movaps xmm0, xmm1
divss xmm0, dword [0x140069e68]
movss dword [rsp + 0x40], xmm0
movzx eax, byte [0x1400991cc]
test eax, eax
je 0x1400475c3
lea rdx, str.Distance__.fm_n_Player_n
lea rcx, [rsp + 0x660]
call fcn.14003dabc
cvtss2sd xmm0, dword [rsp + 0x90]
movsd qword [rsp + 0x398], xmm0
lea rcx, [rsp + 0x660]
call fcn.1400529c4
movsd xmm0, qword [rsp + 0x398]
movaps xmm2, xmm0
movq r8, xmm2
mov rdx, rax
lea rcx, [rsp + 0x740]
call fcn.14003d43c
nop
movsd xmm0, qword [rsp + 0x260]
subsd xmm0, qword [0x1400901f0]
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, qword [rsp + 0x258]
movaps xmm2, xmm0
lea rcx, [rsp + 0x448]
call fcn.14003fdb8
mov qword [rsp + 0x3a0], rax
lea rdx, [rsp + 0x740]
lea rcx, [rsp + 0x640]
call fcn.14003eba0
nop
mov rax, qword [0x14009b9a0]
mov qword [rsp + 0x3a8], rax
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 0xc800ffcf
movss xmm3, dword [0x140069d98]
mov r8, qword [rsp + 0x3a0]
lea rdx, [rsp + 0x640]
mov rcx, qword [rsp + 0x3a8]
call fcn.140048464
nop
lea rcx, [rsp + 0x640]
call fcn.1400410dc
nop
cvtsi2ss xmm0, dword [0x14009ab20]
comiss xmm0, dword [rsp + 0x90]
jbe 0x1400480ad
movzx eax, byte [0x1400991c6]
test eax, eax
je 0x1400480ad
movzx eax, byte [0x14009b915]
test eax, eax
je 0x1400478e5
movzx eax, byte [0x14009b925]
test eax, eax
je 0x1400477d9
movss xmm0, dword [0x140069e44]
movss dword [rsp + 0x194], xmm0
movss xmm0, dword [0x14009be74]
addss xmm0, dword [rsp + 0x194]
movss dword [0x14009be74], xmm0
movss xmm0, dword [0x14009be74]
comiss xmm0, dword [0x140069d70]
jbe 0x140047659
movss xmm0, dword [0x14009be74]
subss xmm0, dword [0x140069d70]
movss dword [0x14009be74], xmm0
movss xmm0, dword [0x14009be74]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x1a0], xmm0
movss xmm0, dword [0x14009be74]
addss xmm0, dword [0x1400901b0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x19c], xmm0
movss xmm0, dword [0x14009be74]
addss xmm0, dword [0x1400901c0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x198], xmm0
cvtsi2sd xmm0, dword [0x14009922c]
addsd xmm0, qword [0x140069e50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x1a4], eax
movss xmm0, dword [rsp + 0x198]
mulss xmm0, dword [0x140069dac]
cvttss2si eax, xmm0
movss xmm0, dword [rsp + 0x19c]
mulss xmm0, dword [0x140069dac]
cvttss2si ecx, xmm0
movss xmm0, dword [rsp + 0x1a0]
mulss xmm0, dword [0x140069dac]
cvttss2si edx, xmm0
mov edi, dword [0x140099254]
mov dword [rsp + 0x20], edi
mov r9d, eax
mov r8d, ecx
lea rcx, [rsp + 0x5f0]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1a8], eax
cvttss2si eax, dword [rsp + 0x4c]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x1a4]
mov dword [rsp + 0x28], esi
lea rsi, [rsp + 0x1a8]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140044220
nop
jmp 0x1400478e5
movsd xmm0, qword [rsp + 0x70]
subsd xmm0, qword [rsp + 0x220]
call fcn.140050f84
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x1ac], xmm0
cvtsi2ss xmm0, dword [0x140099244]
movss xmm1, dword [rsp + 0xa8]
mulss xmm1, xmm0
movaps xmm0, xmm1
divss xmm0, dword [0x140069e68]
cvttss2si eax, xmm0
mov dword [rsp + 0xac], eax
cvtsi2sd xmm0, dword [0x14009922c]
addsd xmm0, qword [0x140069e50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x1f8], eax
mov eax, dword [0x140099254]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x560]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1b0], eax
cvttss2si eax, dword [rsp + 0x1ac]
mov dword [rsp + 0x1b4], eax
cvttsd2si ecx, qword [rsp + 0x70]
mov eax, dword [rsp + 0xac]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov edx, dword [rsp + 0x1f8]
mov dword [rsp + 0x28], edx
lea rdx, [rsp + 0x1b0]
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x1b4]
mov r9d, edx
mov r8d, dword [rsp + 0xac]
mov edx, ecx
mov ecx, eax
call fcn.140044220
nop
movzx eax, byte [0x1400991c8]
test eax, eax
je 0x140047c3e
mov rcx, qword [rsp + 0x80]
call fcn.14005849c
movzx eax, al
test eax, eax
je 0x140047b8b
movzx eax, byte [0x14009b925]
test eax, eax
je 0x140047aeb
movss xmm0, dword [0x140069e44]
movss dword [rsp + 0x1b8], xmm0
movss xmm0, dword [0x14009be78]
addss xmm0, dword [rsp + 0x1b8]
movss dword [0x14009be78], xmm0
movss xmm0, dword [0x14009be78]
comiss xmm0, dword [0x140069d70]
jbe 0x14004796e
movss xmm0, dword [0x14009be78]
subss xmm0, dword [0x140069d70]
movss dword [0x14009be78], xmm0
movss xmm0, dword [0x14009be78]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x1c4], xmm0
movss xmm0, dword [0x14009be78]
addss xmm0, dword [0x1400901b0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x1c0], xmm0
movss xmm0, dword [0x14009be78]
addss xmm0, dword [0x1400901c0]
mulss xmm0, dword [0x14006d960]
call fcn.140060cbc
mulss xmm0, dword [0x140069d4c]
addss xmm0, dword [0x140069d4c]
movss dword [rsp + 0x1bc], xmm0
movss xmm0, dword [rsp + 0x1bc]
mulss xmm0, dword [0x140069dac]
movss xmm1, dword [rsp + 0x1c0]
mulss xmm1, dword [0x140069dac]
movss xmm2, dword [rsp + 0x1c4]
mulss xmm2, dword [0x140069dac]
movss dword [rsp + 0x1c8], xmm2
movss xmm3, dword [0x140069dac]
movss dword [rsp + 0x20], xmm3
movaps xmm3, xmm0
movaps xmm2, xmm1
movss xmm0, dword [rsp + 0x1c8]
movaps xmm1, xmm0
lea rcx, [rsp + 0x600]
call fcn.14003fd44
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1cc], eax
mov eax, dword [0x14009922c]
mov dword [rsp + 0x1d0], eax
cvttss2si eax, dword [rsp + 0x4c]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x1cc]
mov dword [rsp + 0x28], esi
mov esi, dword [rsp + 0x1d0]
mov dword [rsp + 0x20], esi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140043d94
nop
jmp 0x140047b8b
mov eax, dword [0x140099254]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x5e0]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1d4], eax
mov eax, dword [0x14009922c]
mov dword [rsp + 0x1d8], eax
cvttss2si eax, dword [rsp + 0x4c]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x1d4]
mov dword [rsp + 0x28], esi
mov esi, dword [rsp + 0x1d8]
mov dword [rsp + 0x20], esi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140043d94
nop
mov rcx, qword [rsp + 0x80]
call fcn.14005849c
movzx eax, al
test eax, eax
jne 0x140047c3e
mov dword [rsp + 0x20], 0xff
mov r9d, 1
mov r8d, 1
mov edx, 0xff
lea rcx, [rsp + 0x610]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1dc], eax
mov eax, dword [0x14009922c]
mov dword [rsp + 0x1e0], eax
cvttss2si eax, dword [rsp + 0x4c]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov esi, dword [rsp + 0x1dc]
mov dword [rsp + 0x28], esi
mov esi, dword [rsp + 0x1e0]
mov dword [rsp + 0x20], esi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140043d94
nop
movzx eax, byte [0x14009b92f]
test eax, eax
je 0x140047c57
mov rcx, qword [rsp + 0x80]
call fcn.140049058
nop
movzx eax, byte [0x14009b934]
test eax, eax
je 0x140047cc6
cvttsd2si eax, qword [rsp + 0x70]
mov dword [rsp + 0x1e4], eax
cvttsd2si ecx, qword [rsp + 0x68]
mov eax, dword [0x14009ba58]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x1e8], eax
mov eax, dword [0x14009ba54]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [0x14009922c]
mov dword [rsp + 0x28], edx
lea rdx, [0x140099430]
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x1e4]
mov r9d, edx
mov r8d, ecx
mov ecx, dword [rsp + 0x1e8]
mov edx, ecx
mov ecx, eax
call fcn.140048330
nop
movzx eax, byte [0x14009b935]
test eax, eax
je 0x140047d71
mov rcx, qword [rsp + 0x80]
call fcn.14005849c
movzx eax, al
test eax, eax
je 0x140047d23
cvttsd2si eax, qword [rsp + 0x70]
cvttsd2si ecx, qword [rsp + 0x68]
mov edx, dword [0x14009922c]
mov dword [rsp + 0x28], edx
lea rdx, [0x140099390]
mov qword [rsp + 0x20], rdx
mov r9d, eax
mov r8d, ecx
mov edx, dword [0x14009ba58]
mov ecx, dword [0x14009ba54]
call fcn.140048330
nop
mov rcx, qword [rsp + 0x80]
call fcn.14005849c
movzx eax, al
test eax, eax
jne 0x140047d71
cvttsd2si eax, qword [rsp + 0x70]
cvttsd2si ecx, qword [rsp + 0x68]
mov edx, dword [0x14009922c]
mov dword [rsp + 0x28], edx
lea rdx, [0x140099340]
mov qword [rsp + 0x20], rdx
mov r9d, eax
mov r8d, ecx
mov edx, dword [0x14009ba58]
mov ecx, dword [0x14009ba54]
call fcn.140048330
nop
movzx eax, byte [0x14009b932]
test eax, eax
je 0x140047e66
mov eax, dword [0x14009924c]
shl eax, 0x10
or eax, 0x3c000000
mov ecx, dword [0x14009b948]
shl ecx, 8
or eax, ecx
or eax, dword [0x140099250]
mov dword [rsp + 0x1ec], eax
cvttss2si eax, dword [rsp + 0x4c]
cvttss2si ecx, dword [rsp + 0x40]
cvttsd2si edx, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si edi, xmm0
mov dword [rsp + 0x28], 2
lea rsi, [rsp + 0x1ec]
mov qword [rsp + 0x20], rsi
mov r9d, eax
mov r8d, ecx
mov ecx, edi
call fcn.140044f24
nop
mov eax, dword [0x14009924c]
shl eax, 0x10
or eax, 0x3c000000
mov ecx, dword [0x14009b948]
shl ecx, 8
or eax, ecx
or eax, dword [0x140099250]
cvttss2si ecx, dword [rsp + 0x4c]
cvttss2si edx, dword [rsp + 0x40]
cvttsd2si edi, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x40]
divss xmm0, dword [0x140069d78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si esi, xmm0
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, edx
mov edx, edi
mov ecx, esi
call fcn.140048284
nop
movzx eax, byte [0x140099225]
test eax, eax
je 0x14004804d
cvttss2si eax, dword [rsp + 0x90]
mov edx, eax
lea rcx, [rsp + 0x718]
call fcn.140061c9c
mov qword [rsp + 0x3b0], rax
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x3b8], rax
mov r8, qword [rsp + 0x3b8]
lea rdx, [0x14008c8a5]
lea rcx, [rsp + 0x6f8]
call fcn.14002b9a8
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x3c8], rax
lea r8, [0x14008e248]
mov rdx, qword [rsp + 0x3c8]
lea rcx, [rsp + 0x620]
call fcn.14002b874
nop
lea rcx, [rsp + 0x6f8]
call fcn.1400410dc
nop
lea rcx, [rsp + 0x718]
call fcn.1400410dc
nop
lea rcx, [rsp + 0x620]
call fcn.140050e0c
movss xmm0, dword [0x140069dcc]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x3d0]
call fcn.140006524
movsd xmm0, qword [rsp + 0x220]
addsd xmm0, qword [0x1400901e0]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [rsp + 0x3d0]
divss xmm1, dword [0x140069d80]
cvtss2sd xmm1, xmm1
movsd xmm2, qword [rsp + 0x218]
subsd xmm2, xmm1
movaps xmm1, xmm2
cvtsd2ss xmm1, xmm1
movaps xmm2, xmm0
lea rcx, [rsp + 0x450]
call fcn.14003fdb8
nop
mov dword [rsp + 0x20], 0xff
mov r9d, dword [0x14009924c]
mov r8d, dword [0x14009b948]
mov edx, dword [0x140099250]
lea rcx, [rsp + 0x550]
call fcn.14003fcb0
mov rcx, rax
call fcn.1400423fc
mov dword [rsp + 0x1f0], eax
movsd xmm0, qword [rsp + 0x70]
subsd xmm0, qword [0x1400901f0]
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, qword [rsp + 0x68]
movaps xmm2, xmm0
lea rcx, [rsp + 0x458]
call fcn.14003fdb8
mov qword [rsp + 0x3d8], rax
mov rax, qword [0x14009b9a0]
mov qword [rsp + 0x3e0], rax
mov byte [rsp + 0x28], 1
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x20], eax
movss xmm3, dword [0x14009021c]
mov r8, qword [rsp + 0x3d8]
lea rdx, [rsp + 0x620]
mov rcx, qword [rsp + 0x3e0]
call fcn.140048464
nop
lea rcx, [rsp + 0x620]
call fcn.1400410dc
nop
movzx eax, byte [0x14009b924]
test eax, eax
je 0x1400480ad
cvttsd2si eax, qword [rsp + 0x220]
mov dword [rsp + 0x1f4], eax
cvttsd2si ecx, qword [rsp + 0x218]
mov eax, dword [0x14009ba54]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [0x14009922c]
mov dword [rsp + 0x28], edx
lea rdx, [0x140099340]
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x1f4]
mov r9d, edx
mov r8d, ecx
mov edx, dword [0x14009ba58]
mov ecx, eax
call fcn.140048330
nop
mov eax, dword [0x14009ba54]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x400]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x230], xmm0
mov eax, dword [0x14009ba58]
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x408]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x238], xmm0
movsd xmm0, qword [rsp + 0x230]
mulsd xmm0, qword [rsp + 0x230]
movsd xmm1, qword [rsp + 0x238]
mulsd xmm1, qword [rsp + 0x238]
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_sqrtf]
movss dword [rsp + 0x94], xmm0
mov rcx, qword [rsp + 0x80]
call fcn.14005849c
movzx eax, al
test eax, eax
je 0x140048193
cvtsi2ss xmm0, dword [0x140099240]
comiss xmm0, dword [rsp + 0x94]
jbe 0x140048193
movss xmm0, dword [rsp + 0xb0]
comiss xmm0, dword [rsp + 0x94]
jbe 0x140048193
movss xmm0, dword [rsp + 0x94]
movss dword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0x400]
call fcn.14002dc7c
nop
lea rcx, [rsp + 0x68]
call fcn.14002dc7c
nop
lea rcx, [rsp + 0x218]
call fcn.14002dc7c
nop
lea rcx, [rsp + 0x480]
call fcn.14002dc7c
nop
lea rcx, [rsp + 0x258]
call fcn.14002dc7c
nop
lea rcx, [rsp + 0x498]
call fcn.1400415d8
nop
jmp 0x140047160
movzx eax, byte [0x1400991ce]
test eax, eax
je 0x140048229
movzx eax, byte [0x1400991ce]
test eax, eax
je 0x140048229
cmp qword [rsp + 0xb8], 0
je 0x140048229
mov ecx, dword [0x1400991c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140048229
mov rcx, qword [rsp + 0xb8]
call fcn.140043b34
nop
movzx eax, byte [0x14009b92c]
test eax, eax
je 0x140048269
movzx eax, byte [0x14009b92c]
test eax, eax
je 0x140048269
cmp qword [rsp + 0xb8], 0
je 0x140048269
mov ecx, dword [0x1400991c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x140048269
mov rcx, qword [rsp + 0xb8]
call fcn.1400608d0
nop
mov rcx, qword [rsp + 0x780]
xor rcx, rsp
call fcn.140064ba0
add rsp, 0x798
pop rdi
pop rsi
ret