Function at 0x140049180
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x368]
sub rsp, 0x468
mov rax, qword [0x14005e040]
xor rax, rsp
mov qword [rbp + 0x2a8], rax
mov rcx, qword [0x1401686f0]
movss xmm0, dword [0x140054d74]
add rcx, qword [0x140168488]
movss dword [rbp - 0x68], xmm0
mov qword [rbp - 0x48], 0
call fcn.14004b860
mov qword [rsp + 0x70], rax
mov rsi, rax
test rax, rax
je 0x14004b0cb
mov rcx, qword [0x140168480]
add rcx, qword [0x1401686f0]
call fcn.14004b860
test rax, rax
je 0x14004b0cb
mov rcx, qword [0x140168490]
add rcx, qword [0x1401686f0]
call fcn.14004b860
test rax, rax
je 0x14004b0cb
lea rcx, [rax + 0x10]
call fcn.14004b860
mov qword [rbp + 0xa0], rax
mov rdx, rax
test rax, rax
je 0x14004b0cb
mov qword [rsp + 0x480], rbx
xor eax, eax
mov qword [rsp + 0x488], rdi
mov qword [rsp + 0x490], r12
lea r12, [0x140167860]
movaps xmmword [rsp + 0x440], xmm6
movaps xmmword [rsp + 0x430], xmm7
movaps xmmword [rsp + 0x420], xmm8
movaps xmmword [rsp + 0x400], xmm10
movss xmm10, dword [0x140054bb4]
movaps xmmword [rsp + 0x3d0], xmm13
xorps xmm13, xmm13
mov qword [rsp + 0x460], r13
mov qword [rsp + 0x458], r14
mov qword [rsp + 0x450], r15
movaps xmmword [rsp + 0x410], xmm9
movaps xmmword [rsp + 0x3f0], xmm11
movaps xmmword [rsp + 0x3e0], xmm12
movaps xmmword [rsp + 0x3c0], xmm14
movaps xmmword [rsp + 0x3b0], xmm15
mov dword [rbp - 0x64], eax
nop dword [rax]
nop word [rax + rax]
inc eax
imul ecx, eax, 0x78
movsxd rcx, ecx
add rcx, rdx
call fcn.14004b860
mov rdi, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14004ad77
cmp rax, rsi
je 0x14004ad77
lea rcx, [rsi + 0x3bf]
call fcn.14004b940
lea rcx, [rdi + 0x3bf]
mov ebx, eax
call fcn.14004b940
cmp byte [0x14016840e], 0
jne 0x140049335
cmp eax, ebx
je 0x14004ad77
lea rcx, [rdi + 0x7bc]
call fcn.14004b940
mov ebx, eax
test eax, eax
jne 0x14004934c
xor r14d, r14d
jmp 0x1400493a1
mov rcx, qword [0x1401686f0]
add rcx, qword [0x140168490]
call fcn.14004b860
mov rcx, rax
test rax, rax
jne 0x14004936c
xor r14d, r14d
jmp 0x1400493a1
mov eax, ebx
add rcx, 0x10
shr eax, 9
and eax, 0x3f
shl eax, 3
add rcx, rax
call fcn.14004b860
test rax, rax
jne 0x14004938d
xor r14d, r14d
jmp 0x1400493a1
and ebx, 0x1ff
imul ecx, ebx, 0x78
add rcx, rax
call fcn.14004b860
mov r14, rax
lea rcx, [rsi + 0x7bc]
mov qword [rsp + 0x50], r14
call fcn.14004b940
mov ebx, eax
test eax, eax
jne 0x1400493bd
xor r13d, r13d
jmp 0x140049412
mov rcx, qword [0x1401686f0]
add rcx, qword [0x140168490]
call fcn.14004b860
mov rcx, rax
test rax, rax
jne 0x1400493dd
xor r13d, r13d
jmp 0x140049412
mov eax, ebx
add rcx, 0x10
shr eax, 9
and eax, 0x3f
shl eax, 3
add rcx, rax
call fcn.14004b860
test rax, rax
jne 0x1400493fe
xor r13d, r13d
jmp 0x140049412
and ebx, 0x1ff
imul ecx, ebx, 0x78
add rcx, rax
call fcn.14004b860
mov r13, rax
mov qword [rbp - 0x70], r13
test r14, r14
je 0x14004ad77
test r13, r13
je 0x14004ad77
lea rcx, [r14 + 0x32c]
call fcn.14004b940
mov r15d, eax
test eax, eax
je 0x14004ad77
mov r8d, 6
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.1400402a0
movsd xmm0, qword [rax]
movss xmm6, dword [rax + 8]
movaps xmm7, xmm0
movsd qword [rbp + 0x60], xmm0
movss xmm9, dword [rbp + 0x60]
ucomiss xmm9, xmm13
shufps xmm7, xmm7, 0x55
jp 0x14004948d
jne 0x14004948d
ucomiss xmm7, xmm13
jp 0x14004948d
jne 0x14004948d
ucomiss xmm6, xmm13
jp 0x14004948d
je 0x14004ad77
xor eax, eax
lea rdx, [r14 + 0x1224]
lea r8, [rbp - 0x60]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], eax
lea r9d, [rax + 0xc]
call fcn.14003a9e0
movsd xmm0, qword [rbp - 0x60]
lea rdx, [r13 + 0x1224]
mov ebx, dword [rbp - 0x58]
lea r8, [rbp - 0x40]
xor eax, eax
movsd qword [rbp + 0xf0], xmm0
movss xmm0, dword [rbp - 0x60]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rbp - 0x5c]
lea r9d, [rax + 0xc]
movss dword [rsp + 0x6c], xmm0
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], eax
call fcn.14003a9e0
movss xmm0, dword [rbp - 0x40]
lea rdx, [rdi + 0x610]
movss xmm14, dword [rbp - 0x3c]
cmp r15d, 0x64
movss dword [rsp + 0x64], xmm0
mov eax, r15d
movss xmm0, dword [rbp - 0x38]
mov ecx, 0x64
movss dword [rsp + 0x78], xmm0
cmovge eax, ecx
mov dword [rbp + 0xf0], eax
cvtps2pd xmm0, xmm6
addsd xmm0, qword [0x140054c58]
cvtpd2ps xmm8, xmm0
movd xmm0, ebx
subss xmm0, dword [0x140054cc8]
movss dword [rsp + 0x60], xmm0
cmp rdx, 0xffffffffffffffff
je 0x14004955d
lea r9d, [rcx - 0x32]
lea r8, [rbp + 0x210]
call fcn.14003a9e0
mov rdx, qword [0x140168498]
add rdx, qword [0x1401686f0]
cmp rdx, 0xffffffffffffffff
je 0x140049583
mov r9d, 0x40
lea r8, [rbp + 0x130]
call fcn.14003a9e0
movss xmm6, dword [rbp + 0x134]
movss xmm12, dword [rbp + 0x130]
movaps xmm11, xmm6
movss xmm15, dword [rbp + 0x138]
movaps xmm0, xmm12
movss xmm2, dword [rbp + 0x144]
movaps xmm1, xmm15
movss xmm3, dword [rbp + 0x164]
movaps xmm5, xmm2
mulss xmm0, xmm9
movaps xmm4, xmm3
mulss xmm1, xmm8
mulss xmm11, xmm7
mulss xmm5, xmm7
addss xmm11, xmm0
mulss xmm4, xmm7
movss xmm0, dword [rbp + 0x140]
movss xmm7, dword [rbp + 0x160]
movss dword [rbp - 0x50], xmm0
mulss xmm0, xmm9
addss xmm11, xmm1
movss xmm1, dword [rbp + 0x148]
movss dword [rsp + 0x7c], xmm1
addss xmm5, xmm0
mulss xmm1, xmm8
addss xmm11, dword [rbp + 0x13c]
movaps xmm0, xmm7
mulss xmm0, xmm9
movss xmm9, dword [rbp + 0x168]
addss xmm5, xmm1
movaps xmm1, xmm9
addss xmm4, xmm0
mulss xmm1, xmm8
movss xmm8, dword [rbp + 0x16c]
movss xmm0, dword [0x140054b78]
addss xmm5, dword [rbp + 0x14c]
addss xmm4, xmm1
addss xmm4, xmm8
comiss xmm0, xmm4
jae 0x14004a7dc
mulss xmm6, dword [rsp + 0x6c]
xorps xmm1, xmm1
movss xmm0, dword [0x140054be0]
mulss xmm3, dword [rsp + 0x6c]
mulss xmm2, dword [rsp + 0x6c]
mulss xmm15, dword [rsp + 0x60]
mulss xmm7, dword [rsp + 0x68]
mulss xmm12, dword [rsp + 0x68]
cvtsi2ss xmm1, dword [0x1401686ec]
divss xmm11, xmm4
divss xmm5, xmm4
addss xmm11, xmm0
xorps xmm4, xmm4
cvtsi2ss xmm4, dword [0x1401684b0]
mulss xmm11, xmm10
addss xmm3, xmm7
movss xmm7, dword [0x140054b78]
addss xmm6, xmm12
movaps xmm10, xmm0
movss xmm0, dword [rbp - 0x50]
mulss xmm0, dword [rsp + 0x68]
subss xmm10, xmm5
movss xmm5, dword [0x140054bb4]
addss xmm6, xmm15
mulss xmm11, xmm1
movss xmm15, dword [rsp + 0x60]
addss xmm2, xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm9, xmm15
addss xmm6, dword [rbp + 0x13c]
mulss xmm0, xmm15
addss xmm3, xmm9
mulss xmm10, xmm5
addss xmm2, xmm0
mulss xmm10, xmm4
addss xmm3, xmm8
addss xmm2, dword [rbp + 0x14c]
comiss xmm7, xmm3
jae 0x14004a7f0
cmp byte [0x14016840f], 0
movss xmm0, dword [0x140054be0]
divss xmm6, xmm3
divss xmm2, xmm3
addss xmm6, xmm0
movaps xmm7, xmm0
subss xmm7, xmm2
mulss xmm6, xmm5
mulss xmm7, xmm5
mulss xmm6, xmm1
mulss xmm7, xmm4
je 0x140049784
lea rdx, [0x1401677e0]
mov rcx, r14
call fcn.140040780
cmp byte [0x1401684a6], 0
je 0x140049867
movaps xmm0, xmm10
subss xmm0, xmm7
comiss xmm13, xmm0
jbe 0x1400497a7
mulss xmm0, dword [0x140054d98]
mov ecx, dword [0x14016786c]
xorps xmm1, xmm1
cvttss2si r9d, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mov ecx, dword [0x140167868]
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm1, rcx
mov r8d, eax
cdq
sub eax, edx
lea rcx, [rbp + 0x28]
sar eax, 1
divsd xmm0, qword [0x140054ca0]
divsd xmm1, qword [0x140054c78]
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm3, xmm1
xorps xmm1, xmm1
movss dword [rbp + 0x34], xmm4
cvttss2si r11d, xmm11
movss dword [rbp + 0x30], xmm3
sub r11d, eax
mov eax, dword [0x140167864]
cvttss2si r10d, xmm10
cvtsi2sd xmm0, rax
mov eax, dword [0x140167860]
cvtsi2sd xmm1, rax
divsd xmm0, qword [0x140054c90]
divsd xmm1, qword [0x140054ca0]
cvtpd2ps xmm2, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x2c], xmm2
movss dword [rbp + 0x28], xmm0
call fcn.140002ec0
mov dword [rsp + 0x7c], eax
mov edx, r10d
lea rax, [rsp + 0x7c]
mov ecx, r11d
mov qword [rsp + 0x20], rax
call fcn.14003f390
cmp byte [0x1401684b5], 0
je 0x14004989f
mov eax, dword [0x1401686ec]
cdq
mov dword [rsp + 0x28], 1
sub eax, edx
mov qword [rsp + 0x20], r12
mov edx, dword [0x1401684b0]
sar eax, 1
cvttss2si r9d, xmm7
mov ecx, eax
cvttss2si r8d, xmm6
call fcn.14003f0d0
movaps xmm0, xmm10
subss xmm0, xmm7
comiss xmm13, xmm0
jbe 0x1400498b5
mulss xmm0, dword [0x140054d98]
cvttss2si eax, xmm0
cvttss2si r12d, xmm11
cdq
sub eax, edx
sar eax, 1
cvttss2si r13d, xmm10
add r12d, eax
cmp byte [0x140168409], 0
je 0x140049958
subss xmm7, xmm10
cvtps2pd xmm0, xmm7
movss xmm7, dword [0x140054cac]
mulsd xmm0, qword [0x140054c30]
cvtpd2ps xmm5, xmm0
cvtps2pd xmm0, xmm10
cvtps2pd xmm2, xmm5
movaps xmm1, xmm2
mulsd xmm2, qword [0x140054c00]
mulsd xmm1, qword [0x140054c18]
subsd xmm0, xmm2
cvtpd2ps xmm3, xmm1
cvtpd2ps xmm4, xmm0
mulss xmm3, dword [0x140054bb4]
xorps xmm1, xmm1
movaps xmm0, xmm7
unpcklps xmm0, xmm5
subss xmm6, xmm3
movq r9, xmm0
movss xmm0, dword [0x140054d14]
cvtsi2ss xmm1, r15d
subss xmm6, dword [0x140054cc4]
unpcklps xmm6, xmm4
movq r8, xmm6
call fcn.14003fc00
jmp 0x140049960
movss xmm7, dword [0x140054cac]
cmp byte [0x1401684b4], 0
je 0x140049dea
movss xmm6, dword [0x140054d10]
lea rax, [rbp + 0x38]
movaps xmm9, xmm11
mov dword [rbp + 0x38], 9
movaps xmm8, xmm10
mov dword [rbp + 0x3c], 9
subss xmm8, dword [0x140054d04]
subss xmm9, xmm6
mov dword [rbp + 0x40], 9
mov r9d, 0x1a
mov dword [rbp + 0x44], pe_nt_image_headers64
mov r8d, 0x9b
mov dword [rbp + 0x48], 0x1c
mov dword [rbp + 0x4c], 0x36
cvttss2si ebx, xmm8
mov dword [rbp + 0x50], 0x3a
mov dword [rbp + 0x54], 0xfa
mov qword [rsp + 0x20], rax
cvttss2si edi, xmm9
mov edx, ebx
mov ecx, edi
call fcn.14003fb00
mov r9d, 0x19
lea rax, [rbp + 0x48]
mov edx, ebx
mov qword [rsp + 0x20], rax
mov ecx, edi
lea r8d, [r9 + 5]
call fcn.14003fb00
movss xmm12, dword [rsp + 0x64]
movaps xmm2, xmm14
subss xmm2, dword [rsp + 0x6c]
movss xmm15, dword [rsp + 0x78]
movaps xmm1, xmm12
subss xmm1, dword [rsp + 0x68]
movaps xmm0, xmm15
subss xmm0, dword [rsp + 0x60]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140049a58
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140049a60
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x1400544c0]
lea rdx, [rbp + 0xe8]
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0x248]
movzx eax, byte [0x1400544c4]
xorps xmm2, xmm2
xor byte [rbp + 0xe9], 0x37
xor al, 0x3a
xor byte [rbp + 0xea], 0x38
xor byte [rbp + 0xeb], 0x39
divss xmm0, xmm6
mov byte [rbp + 0xe8], 0x25
mov byte [rbp + 0xec], al
cvtss2sd xmm2, xmm0
movq r8, xmm2
call fcn.140039ac0
movss xmm6, dword [0x140054ce0]
lea rax, [rbp + 0x248]
movaps xmm0, xmm8
mov qword [rsp + 0x30], rax
addss xmm0, xmm7
mov dword [rbp - 0xc], 0xcb
xor ebx, ebx
mov dword [rbp - 8], 0xff
movaps xmm1, xmm9
mov byte [rsp + 0x28], bl
addss xmm1, dword [0x140054cd0]
lea r9, [rbp - 0x10]
mov dword [rbp - 0x10], ebx
cvttss2si esi, xmm0
mov dword [rbp - 4], 0xff
mov byte [rsp + 0x20], bl
movaps xmm0, xmm6
cvttss2si edx, xmm1
mov r8d, esi
movd ecx, xmm0
call fcn.14003e120
mov eax, dword [0x140054604]
lea rdx, [rbp + 0xd8]
mov dword [rbp + 0xd8], eax
lea rcx, [rbp + 0x288]
movzx eax, word [0x140054608]
mov r8d, r15d
xor byte [rbp + 0xd9], 0x37
xor byte [rbp + 0xda], 0x38
xor byte [rbp + 0xdb], 0x39
mov word [rbp + 0xdc], ax
xor al, 0x3a
xor byte [rbp + 0xdd], 0x3b
mov byte [rbp + 0xdc], al
mov byte [rbp + 0xd8], 0x25
call fcn.14004be60
movaps xmm0, xmm8
lea rax, [rbp + 0x288]
subss xmm0, xmm7
mov qword [rsp + 0x30], rax
movaps xmm1, xmm9
mov byte [rsp + 0x28], bl
addss xmm1, dword [0x140054d24]
lea r9, [rbp - 0x10]
mov byte [rsp + 0x20], bl
cvttss2si r8d, xmm0
movaps xmm0, xmm6
cvttss2si edx, xmm1
movd ecx, xmm0
call fcn.14003e120
mov rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], ebx
mov r9d, edi
mov qword [rsp + 0x20], rbx
lea r8, [rbp + 0x210]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov eax, 2
mul rbx
cmovo rax, rdi
mov rcx, rax
call fcn.14004d1a4
mov rdi, rax
mov dword [rsp + 0x28], ebx
lea r8, [rbp + 0x210]
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movaps xmm0, xmm9
mov qword [rsp + 0x30], rdi
addss xmm0, dword [0x140054d00]
mov byte [rsp + 0x28], 0
lea r9, [rbp - 0x80]
mov r8d, esi
mov dword [rbp - 0x80], 0xc9
mov dword [rbp - 0x7c], 0x10
mov dword [rbp - 0x78], 0x10
cvttss2si edx, xmm0
mov dword [rbp - 0x74], 0xff
mov byte [rsp + 0x20], 0
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.14003e910
mov rcx, rdi
call fcn.14004cf44
movaps xmm0, xmmword [0x140054f10]
lea rcx, [rbp + 0x1f0]
addss xmm8, dword [0x140054cfc]
mov r10, qword [0x140168410]
movups xmmword [rbp + 0x1f0], xmm0
call fcn.140002ec0
movss xmm2, dword [0x140054be0]
lea r8, [rbp]
movaps xmm7, xmm9
movss dword [rsp + 0x30], xmm2
addss xmm7, dword [0x140054d2c]
movaps xmm6, xmm8
mov dword [rsp + 0x28], 0xf
addss xmm6, dword [0x140054cb8]
movaps xmm1, xmm9
movss dword [rsp + 0x20], xmm13
addss xmm1, xmm2
mov r9d, eax
movaps xmm0, xmm7
lea rdx, [rbp + 8]
subss xmm0, xmm2
lea rcx, [r10 + 0x1cc8]
movss dword [rbp + 8], xmm1
movss dword [rbp], xmm0
movaps xmm0, xmm6
subss xmm0, xmm2
movss dword [rbp + 4], xmm0
movaps xmm0, xmm8
addss xmm0, xmm2
movss dword [rbp + 0xc], xmm0
call fcn.14001ee50
movaps xmm0, xmmword [0x140054f10]
lea rcx, [rbp + 0x1f0]
mov r10, qword [0x140168410]
movups xmmword [rbp + 0x1f0], xmm0
call fcn.140002ec0
movss xmm0, dword [0x140054be0]
lea r8, [rbp - 0x18]
movss dword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x28], 0xf
lea rcx, [r10 + 0x1cc8]
mov r9d, eax
movss dword [rsp + 0x20], xmm13
movss dword [rbp - 0x18], xmm7
movss dword [rbp - 0x14], xmm6
movss dword [rsp + 0x58], xmm9
movss dword [rsp + 0x5c], xmm8
call fcn.14001ee50
mov eax, dword [rbp + 0xf0]
lea rcx, [0x140167640]
cmp eax, 0x32
lea rdx, [0x140167660]
lea r9, [0x140167620]
cmovge rcx, rdx
cmp eax, 0x14
cmovge r9, rcx
cdq
mov qword [rsp + 0x20], r9
sub eax, edx
mov r9d, 6
sar eax, 1
cvttss2si edx, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm9
mulss xmm0, dword [0x140054c70]
cvttss2si r8d, xmm0
call fcn.14003fb00
jmp 0x140049df8
movss xmm12, dword [rsp + 0x64]
movss xmm15, dword [rsp + 0x78]
cmp byte [0x140168474], 0
je 0x140049ec8
mov rsi, 0xffffffffffffffff
mov dword [rsp + 0x28], 0
mov r9d, esi
mov qword [rsp + 0x20], 0
lea r8, [rbp + 0x210]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov eax, 2
mul rbx
cmovo rax, rsi
mov rcx, rax
call fcn.14004d1a4
mov r9d, esi
mov dword [rsp + 0x28], ebx
lea r8, [rbp + 0x210]
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movss xmm8, dword [0x140054ce0]
lea rbx, [0x140167860]
movaps xmm0, xmm10
mov qword [rsp + 0x30], rdi
subss xmm0, dword [0x140054ce8]
movaps xmm1, xmm11
mov byte [rsp + 0x28], 1
subss xmm1, dword [0x140054cf4]
mov r9, rbx
mov byte [rsp + 0x20], 0
cvttss2si r8d, xmm0
movaps xmm0, xmm8
cvttss2si edx, xmm1
movd ecx, xmm0
call fcn.14003e910
mov rcx, rdi
call fcn.14004cf44
jmp 0x140049ed8
movss xmm8, dword [0x140054ce0]
lea rbx, [0x140167860]
cmp byte [0x140168477], 0
je 0x140049f6c
mov eax, dword [0x1400541e0]
lea rdx, [rbp + 0xe0]
mov dword [rbp + 0xe0], eax
lea rcx, [rbp + 0x1f0]
movzx eax, word [0x1400541e4]
mov r8d, r15d
xor byte [rbp + 0xe1], 0x37
xor byte [rbp + 0xe2], 0x38
xor byte [rbp + 0xe3], 0x39
mov word [rbp + 0xe4], ax
xor al, 0x3a
xor byte [rbp + 0xe5], 0x3b
mov byte [rbp + 0xe4], al
mov byte [rbp + 0xe0], 0x25
call fcn.14004be60
movaps xmm0, xmm8
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x30], rax
mov r9, rbx
movd ecx, xmm0
mov r8d, r13d
mov byte [rsp + 0x28], 1
mov edx, r12d
mov byte [rsp + 0x20], 0
call fcn.14003e120
cmp byte [0x140168475], 0
je 0x14004a1ac
movaps xmm0, xmm15
movaps xmm1, xmm12
subss xmm1, dword [rsp + 0x68]
movss xmm15, dword [rsp + 0x60]
movaps xmm2, xmm14
subss xmm2, dword [rsp + 0x6c]
subss xmm0, xmm15
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140049fc2
xorps xmm7, xmm7
sqrtss xmm7, xmm2
jmp 0x140049fcd
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
cmp byte [0x1400544bf], 0
mov rax, qword [0x1400544b8]
divss xmm7, dword [0x140054d10]
mov qword [rbp + 0xf0], rax
je 0x14004a144
cmp dword [0x14005e008], 2
jl 0x14004a103
movdqa xmm2, xmmword [0x140054e70]
movdqa xmm3, xmmword [0x140054e80]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140055040]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140054e90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0xf0]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140054eb0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140054ed0]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0xf0], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140054e90]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0xf4]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140054eb0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140054ed0]
xorps xmm2, xmm0
movd dword [rbp + 0xf4], xmm2
jmp 0x14004a144
lea r9, [rbp + 0xf0]
xor r8d, r8d
nop dword [rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x36
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x14004a110
xorps xmm2, xmm2
lea rdx, [rbp + 0xf0]
cvtss2sd xmm2, xmm7
lea rcx, [rbp + 0x268]
movq r8, xmm2
call fcn.140039ac0
cmp byte [0x140168477], 0
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
je 0x14004a17c
addss xmm0, dword [0x140054ce4]
cvttss2si r8d, xmm0
lea rax, [rbp + 0x268]
mov r9, rbx
mov qword [rsp + 0x30], rax
mov edx, r12d
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
movaps xmm0, xmm8
movd ecx, xmm0
call fcn.14003e120
jmp 0x14004a1b3
movss xmm15, dword [rsp + 0x60]
cmp byte [0x1401684b6], 0
je 0x14004a40b
mov r8d, 6
mov qword [rbp + 0xf0], r14
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xb8]
call fcn.1400402a0
lea rcx, [r14 + 0x1508]
movsd xmm8, qword [rax]
mov ebx, dword [rax + 8]
call fcn.14004ba20
mov qword [rbp + 0xf0], rax
movss xmm9, dword [rbp + 0xf0]
cvtps2pd xmm9, xmm9
mulsd xmm9, qword [0x140054c48]
divsd xmm9, qword [0x140054c98]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movss xmm7, dword [rbp + 0xf4]
xorps xmm1, xmm1
mulsd xmm0, qword [0x140054c80]
cvtps2pd xmm7, xmm7
cvtsd2ss xmm1, xmm0
mulsd xmm7, qword [0x140054c48]
cvtps2pd xmm6, xmm1
divsd xmm7, qword [0x140054c98]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm1, xmm0
xorps xmm12, xmm12
xorps xmm0, xmm0
mulsd xmm1, xmm6
cvtss2sd xmm0, xmm8
addsd xmm1, xmm0
movaps xmm0, xmm7
cvtsd2ss xmm12, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movaps xmm1, xmm0
movsd qword [rbp + 0xf0], xmm8
movaps xmm0, xmm8
mulsd xmm1, xmm6
shufps xmm0, xmm0, 0x55
xorps xmm7, xmm7
cvtss2sd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, ebx
cvtps2pd xmm6, xmm0
movaps xmm0, xmm9
cvtsd2ss xmm7, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rdx, qword [0x140168498]
add rdx, qword [0x1401686f0]
mulsd xmm0, qword [0x140054c80]
subsd xmm6, xmm0
cvtpd2ps xmm6, xmm6
cmp rdx, 0xffffffffffffffff
je 0x14004a2e9
mov r9d, 0x40
lea r8, [rbp + 0x1b0]
call fcn.14003a9e0
movss xmm9, dword [0x140054be0]
movaps xmm2, xmm12
mulss xmm2, dword [rbp + 0x1b0]
movaps xmm3, xmm12
mulss xmm12, dword [rbp + 0x1e0]
movaps xmm0, xmm7
mulss xmm0, dword [rbp + 0x1b4]
movaps xmm1, xmm6
mulss xmm1, dword [rbp + 0x1b8]
mulss xmm3, dword [rbp + 0x1c0]
addss xmm2, xmm0
movss xmm8, dword [0x140054bb4]
movaps xmm0, xmm7
mulss xmm7, dword [rbp + 0x1e4]
mulss xmm0, dword [rbp + 0x1c4]
addss xmm2, xmm1
addss xmm12, xmm7
movaps xmm1, xmm6
mulss xmm6, dword [rbp + 0x1e8]
mulss xmm1, dword [rbp + 0x1c8]
addss xmm3, xmm0
movss xmm7, dword [0x140054b78]
addss xmm12, xmm6
addss xmm2, dword [rbp + 0x1bc]
addss xmm3, xmm1
addss xmm12, dword [rbp + 0x1ec]
addss xmm3, dword [rbp + 0x1cc]
comiss xmm7, xmm12
jae 0x14004a425
movd xmm0, dword [0x1401686ec]
lea rax, [0x1401677e0]
divss xmm2, xmm12
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
cvtdq2ps xmm0, xmm0
addss xmm2, xmm9
movaps xmm1, xmm9
divss xmm3, xmm12
mulss xmm2, xmm8
subss xmm1, xmm3
cvttss2si edx, xmm10
mulss xmm2, xmm0
movd xmm0, dword [0x1401684b0]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm8
cvttss2si r8d, xmm2
mulss xmm1, xmm0
cvttss2si ecx, xmm11
cvttss2si r9d, xmm1
call fcn.14003f0d0
jmp 0x14004a425
movss xmm8, dword [0x140054bb4]
movss xmm9, dword [0x140054be0]
movss xmm7, dword [0x140054b78]
cmp byte [0x1401684a7], 0
mov r13, qword [rbp - 0x70]
je 0x14004a7f0
cmp byte [0x14005e0a4], 0
jne 0x14004a7f0
lea rcx, [r13 + 0x32c]
call fcn.14004b940
test eax, eax
jle 0x14004a7f0
mov eax, dword [0x1401686ec]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x1401684b0]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
subss xmm11, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm11, xmm11
subss xmm10, xmm0
xorps xmm0, xmm0
mulss xmm10, xmm10
addss xmm10, xmm11
ucomiss xmm0, xmm10
ja 0x14004a4a7
xorps xmm1, xmm1
sqrtss xmm1, xmm10
jmp 0x14004a4b3
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movss xmm0, dword [0x140167b8c]
comiss xmm0, xmm1
jbe 0x14004a4d8
movss xmm0, dword [rbp - 0x68]
comiss xmm0, xmm1
jbe 0x14004a4d8
movss dword [rbp - 0x68], xmm1
mov r12, r14
mov qword [rbp - 0x48], r14
jmp 0x14004a4dc
mov r12, qword [rbp - 0x48]
mov r8d, 6
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xc8]
call fcn.1400402a0
mov rdx, qword [0x140168498]
add rdx, qword [0x1401686f0]
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
movsd qword [rbp + 0x70], xmm0
cmp rdx, 0xffffffffffffffff
je 0x14004a525
mov r9d, 0x40
lea r8, [rbp + 0x170]
call fcn.14003a9e0
movss xmm4, dword [rbp + 0x74]
movss xmm3, dword [rbp + 0x70]
movss xmm0, dword [rbp + 0x170]
movss xmm1, dword [rbp + 0x178]
movss xmm5, dword [rbp + 0x174]
movss xmm6, dword [rbp + 0x184]
movss xmm7, dword [rbp + 0x1a4]
mulss xmm0, xmm3
mulss xmm5, xmm4
movd xmm2, ebx
mulss xmm1, xmm2
addss xmm5, xmm0
mulss xmm6, xmm4
movss xmm0, dword [rbp + 0x180]
mulss xmm0, xmm3
addss xmm5, xmm1
mulss xmm7, xmm4
movss xmm1, dword [rbp + 0x188]
addss xmm6, xmm0
movss xmm0, dword [rbp + 0x1a0]
mulss xmm1, xmm2
addss xmm5, dword [rbp + 0x17c]
mulss xmm0, xmm3
addss xmm6, xmm1
movss xmm1, dword [rbp + 0x1a8]
mulss xmm1, xmm2
addss xmm7, xmm0
movss xmm0, dword [0x140054b78]
addss xmm6, dword [rbp + 0x18c]
addss xmm7, xmm1
addss xmm7, dword [rbp + 0x1ac]
comiss xmm0, xmm7
jae 0x14004a673
divss xmm5, xmm7
xorps xmm0, xmm0
movaps xmm1, xmm9
cvtsi2ss xmm0, dword [0x1401686ec]
addss xmm5, xmm9
divss xmm6, xmm7
mulss xmm5, xmm8
subss xmm1, xmm6
mulss xmm5, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x1401684b0]
ucomiss xmm5, xmm13
mulss xmm1, xmm8
mulss xmm1, xmm0
jp 0x14004a63d
jne 0x14004a63d
ucomiss xmm1, xmm13
jp 0x14004a63d
jne 0x14004a63d
movss xmm0, dword [rbp + 0xf0]
ucomiss xmm0, xmm13
jp 0x14004a63d
je 0x14004a673
cmp byte [0x1401684a7], 0
je 0x14004a673
test r12, r12
je 0x14004a673
movsxd rcx, dword [0x1401687e8]
lea rax, [0x140053770]
mov ecx, dword [rax + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14004a7e8
mov rcx, r12
call fcn.140040c20
movss xmm10, dword [0x140054bb4]
movss xmm7, dword [0x140054b78]
cmp byte [0x14016840c], 0
je 0x14004aaf8
xor eax, eax
lea rdx, [r14 + 0x1224]
lea r8, [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], eax
lea r9d, [rax + 0xc]
call fcn.14003a9e0
movss xmm0, dword [rbp + 0x160]
movss xmm1, dword [rbp + 0x164]
movss xmm8, dword [rbp - 0x2c]
movss xmm9, dword [rbp - 0x30]
mulss xmm1, xmm8
mulss xmm0, xmm9
addss xmm1, xmm0
movss xmm0, dword [rbp + 0x168]
mulss xmm0, dword [rbp - 0x28]
addss xmm1, xmm0
addss xmm1, dword [rbp + 0x16c]
comiss xmm7, xmm1
jb 0x14004aaf8
lea rcx, [r13 + 0x1508]
call fcn.14004ba20
mov ebx, dword [0x1401686ec]
xorps xmm11, xmm11
mov edi, dword [0x1401684b0]
xorps xmm10, xmm10
mov qword [rsp + 0x50], rax
movss xmm6, dword [rsp + 0x54]
cvtps2pd xmm6, xmm6
cvtsi2ss xmm11, ebx
mulsd xmm6, qword [0x140054be8]
cvtsi2ss xmm10, edi
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movss xmm12, dword [rsp + 0x64]
subss xmm8, xmm14
xorps xmm1, xmm1
subss xmm9, xmm12
cvtsd2ss xmm1, xmm0
movaps xmm2, xmm8
movaps xmm0, xmm9
mulss xmm0, xmm1
mulss xmm8, xmm1
movaps xmm1, xmm10
mulss xmm1, dword [0x140054bb4]
mulss xmm2, xmm7
mulss xmm9, xmm7
subss xmm2, xmm0
movaps xmm0, xmm11
mulss xmm0, dword [0x140054bb4]
addss xmm11, xmm13
addss xmm8, xmm9
divss xmm2, dword [0x140054d28]
divss xmm8, dword [0x140054d28]
addss xmm2, xmm13
addss xmm2, xmm0
movaps xmm0, xmm13
subss xmm0, xmm8
comiss xmm2, xmm11
addss xmm1, xmm0
jbe 0x14004a7fe
movaps xmm2, xmm11
jmp 0x14004a808
movss xmm15, dword [rsp + 0x60]
jmp 0x14004a67c
movss xmm7, dword [0x140054b78]
movss xmm10, dword [0x140054bb4]
jmp 0x14004a684
comiss xmm13, xmm2
jbe 0x14004a808
movaps xmm2, xmm13
addss xmm10, xmm13
comiss xmm1, xmm10
jbe 0x14004a819
movaps xmm1, xmm10
jmp 0x14004a823
comiss xmm13, xmm1
jbe 0x14004a823
movaps xmm1, xmm13
cvttss2si ecx, xmm2
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movd xmm8, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm8, xmm8
movd xmm10, eax
cvttss2si eax, xmm1
movd xmm0, ecx
movaps xmm3, xmm8
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm10, xmm10
subss xmm3, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm3, xmm13
movaps xmm2, xmm10
subss xmm2, xmm0
jp 0x14004a87f
jne 0x14004a87f
ucomiss xmm2, xmm13
jp 0x14004a87f
jne 0x14004a87f
movaps xmm9, xmm13
jmp 0x14004a897
movaps xmm1, xmm3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm9, xmm0
mulss xmm9, dword [0x140054d08]
addss xmm9, dword [0x140054d30]
mov eax, dword [0x14005e0e4]
cdq
sub eax, edx
sar eax, 1
mulss xmm9, dword [0x140054b7c]
shl eax, 3
movaps xmm0, xmm9
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm7, xmm0
movaps xmm0, xmm9
mulss xmm7, xmm6
addss xmm7, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov eax, dword [0x14005e0e4]
lea rbx, [rbp + 0x100]
movaps xmm8, xmm0
mov dword [rbp + 0x108], 0
mulss xmm8, xmm6
movaps xmm3, xmm7
cdq
mov dword [rbp + 0x114], 0
addss xmm7, dword [0x140054cc0]
subss xmm3, dword [0x140054cd8]
addss xmm8, xmm10
mov dword [rbp + 0x120], 0
movss xmm10, dword [0x140054bb4]
and edx, 3
add eax, edx
movss dword [rbp + 0x10c], xmm7
addss xmm7, xmm3
sar eax, 2
movaps xmm0, xmm8
movss dword [rbp + 0x110], xmm8
movaps xmm2, xmm8
movss dword [rbp + 0x100], xmm3
movss dword [rbp + 0x118], xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm7, xmm3
addss xmm1, dword [0x140054c88]
divss xmm7, dword [0x140054c6c]
mulss xmm1, xmm10
addss xmm0, xmm1
subss xmm2, xmm1
movss dword [rbp + 0x11c], xmm0
addss xmm8, xmm2
movss dword [rbp + 0x104], xmm2
addss xmm8, xmm0
movaps xmm0, xmm9
divss xmm8, dword [0x140054c6c]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm5, xmm0
nop word [rax + rax]
movss xmm0, dword [rbx]
lea rax, [rbp + 0x124]
movss xmm1, dword [rbx + 4]
subss xmm0, xmm7
movss xmm2, dword [rbx + 8]
subss xmm1, xmm8
subss xmm2, xmm13
movaps xmm4, xmm6
unpcklps xmm0, xmm1
movaps xmm1, xmm8
movsd qword [rbx], xmm0
movaps xmm0, xmm5
movss dword [rbx + 8], xmm2
movaps xmm2, xmm6
mulss xmm0, dword [rbx + 4]
mulss xmm2, dword [rbx + 4]
mulss xmm4, dword [rbx]
subss xmm4, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [rbx]
addss xmm2, xmm0
movaps xmm0, xmm7
addss xmm0, xmm4
addss xmm1, xmm2
movss xmm2, dword [rbx + 8]
addss xmm2, xmm13
unpcklps xmm0, xmm1
movsd qword [rbx], xmm0
movss dword [rbx + 8], xmm2
add rbx, 0xc
cmp rbx, rax
jne 0x14004a9d0
cvttss2si ebx, dword [rbp + 0x110]
lea rax, [0x140167640]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
cvttss2si edi, dword [rbp + 0x10c]
mov r9d, ebx
cvttss2si esi, dword [rbp + 0x104]
mov r8d, edi
cvttss2si r14d, dword [rbp + 0x100]
mov edx, esi
cvttss2si r15d, dword [rbp + 0x11c]
mov ecx, r14d
cvttss2si r12d, dword [rbp + 0x118]
call fcn.14003f0d0
lea rax, [0x140167640]
mov dword [rsp + 0x28], 1
mov r9d, r15d
mov qword [rsp + 0x20], rax
mov r8d, r12d
mov edx, ebx
mov ecx, edi
call fcn.14003f0d0
lea rax, [0x140167640]
mov dword [rsp + 0x28], 1
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, r15d
mov ecx, r12d
call fcn.14003f0d0
jmp 0x14004aaff
movss xmm12, dword [rsp + 0x64]
cmp byte [0x140168476], 0
je 0x14004abcc
lea rcx, [r13 + 0x1508]
call fcn.14004ba20
movss xmm3, dword [rsp + 0x6c]
movaps xmm0, xmm12
movss xmm1, dword [rsp + 0x78]
subss xmm12, dword [rsp + 0x68]
unpcklps xmm0, xmm14
movq xmm6, rax
subss xmm14, xmm3
movsd qword [rbp + 0x80], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rbp + 0x88], xmm1
subss xmm1, xmm15
unpcklps xmm0, xmm3
mulss xmm12, xmm12
mulss xmm14, xmm14
mulss xmm1, xmm1
addss xmm14, xmm12
movsd qword [rbp + 0x90], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x98], xmm15
addss xmm14, xmm1
ucomiss xmm0, xmm14
ja 0x14004ab97
xorps xmm0, xmm0
sqrtss xmm0, xmm14
jmp 0x14004aba0
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, dword [0x140054cf0]
lea rax, [0x140167660]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x80]
lea r8, [rbp + 0x90]
movq rdx, xmm6
call fcn.140040fe0
cmp byte [0x14016840d], 0
je 0x14004ad6b
lea rcx, [r13 + 0x1534]
call fcn.14004b940
mov ebx, eax
test eax, eax
je 0x14004ad6b
cmp eax, 0xffffffff
je 0x14004ad6b
mov ecx, eax
mov dword [rbp - 0x1c], 0
shr ecx, 9
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
lea ecx, [rcx*8 + 0x10]
mov dword [rbp - 0x20], ecx
mov ecx, 8
call fcn.14004cfbc
mov rcx, qword [rbp - 0x20]
mov qword [rbp + 0x10], rax
lea rdx, [rax + 8]
mov qword [rbp + 0x20], rdx
mov qword [rax], rcx
mov rcx, qword [0x1401686f0]
add rcx, qword [0x140168490]
mov qword [rbp + 0x18], rdx
lea rdx, [rbp + 0x10]
call fcn.14003ac90
test rax, rax
je 0x14004ad6b
and ebx, 0x1ff
imul ecx, ebx, 0x78
add rcx, rax
call fcn.14004b860
mov rbx, rax
test rax, rax
je 0x14004ad6b
lea rcx, [rax + 0x3bf]
call fcn.14004b940
lea rcx, [r13 + 0x3bf]
mov edi, eax
call fcn.14004b940
lea rcx, [rbx + 0x32c]
mov esi, eax
call fcn.14004b940
cmp byte [0x14016840e], 0
jne 0x14004acb5
cmp esi, edi
je 0x14004ad6b
test eax, eax
jle 0x14004ad6b
mov rax, qword gs:[0x58]
mov edx, 0x10
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140168c58], eax
jle 0x14004ad06
lea rcx, [0x140168c58]
call fcn.14004cbbc
cmp dword [0x140168c58], 0xffffffff
jne 0x14004ad06
lea rcx, [0x140168c60]
call fcn.14003a260
lea rcx, [0x140168c58]
call fcn.14004cb50
lea rcx, [rbp + 0x58]
call fcn.14003a260
movsxd rax, dword [0x14005e0a0]
mov rbx, qword [rbp + 0x58]
imul rax, rax, 0xf4240
mov rcx, rbx
sub rcx, qword [0x140168c60]
cmp rcx, rax
jl 0x14004ad6b
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [0x140168c60], rbx
mov rsi, qword [rsp + 0x70]
lea r12, [0x140167860]
mov eax, dword [rbp - 0x64]
mov rdx, qword [rbp + 0xa0]
inc eax
mov dword [rbp - 0x64], eax
cmp eax, 0x40
jl 0x1400492e0
cmp byte [0x1401684a5], 0
movaps xmm15, xmmword [rsp + 0x3b0]
movaps xmm14, xmmword [rsp + 0x3c0]
movaps xmm13, xmmword [rsp + 0x3d0]
movaps xmm12, xmmword [rsp + 0x3e0]
movaps xmm11, xmmword [rsp + 0x3f0]
mov r15, qword [rsp + 0x450]
mov r14, qword [rsp + 0x458]
mov r13, qword [rsp + 0x460]
mov r12, qword [rsp + 0x490]
je 0x14004b030
mov rax, qword [0x140168410]
lea rcx, [rbp - 0x80]
xorps xmm1, xmm1
xorps xmm0, xmm0
movss xmm8, dword [rax + 0x10]
lea rdi, [rax + 0x1cc8]
movss xmm9, dword [rax + 0x14]
mov eax, dword [0x1401677e0]
mulss xmm8, xmm10
mulss xmm9, xmm10
cvtsi2sd xmm0, rax
mov eax, dword [0x1401677e4]
cvtsi2sd xmm1, rax
mov eax, dword [0x1401677e8]
divsd xmm0, qword [0x140054ca0]
divsd xmm1, qword [0x140054c90]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x80], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1401677ec]
movss dword [rbp - 0x7c], xmm0
divsd xmm1, qword [0x140054c78]
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rbp - 0x78], xmm0
divsd xmm1, qword [0x140054ca0]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x74], xmm0
call fcn.140002ec0
movss xmm1, dword [0x140054b74]
xorps xmm0, xmm0
movss xmm6, dword [0x140054cd0]
movzx ecx, al
mov r8d, eax
shr r8d, 0x18
movss dword [rsp + 0x5c], xmm9
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movss dword [rsp + 0x54], xmm9
mulss xmm0, xmm1
movss dword [rbp - 0x80], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
lea rcx, [rbp - 0x80]
mulss xmm0, xmm1
movss dword [rbp - 0x7c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
mulss xmm0, xmm1
movss dword [rbp - 0x78], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movaps xmm1, xmm8
subss xmm1, xmm6
movss dword [rbp - 0x74], xmm0
movaps xmm0, xmm8
addss xmm0, xmm6
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x50], xmm0
call fcn.140002ec0
movss xmm7, dword [0x140054ba0]
lea rdx, [rsp + 0x58]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea r8, [rsp + 0x50]
mov rcx, rdi
mov ebx, eax
call fcn.14001ecd0
movaps xmm0, xmm9
movss dword [rsp + 0x58], xmm8
subss xmm0, xmm6
movaps xmm1, xmm9
movss dword [rsp + 0x5c], xmm0
addss xmm1, xmm6
movss dword [rsp + 0x50], xmm8
mov r9d, ebx
movss dword [rsp + 0x20], xmm7
lea r8, [rsp + 0x50]
mov rcx, rdi
lea rdx, [rsp + 0x58]
movss dword [rsp + 0x54], xmm1
call fcn.14001ecd0
movss xmm6, dword [0x140054c3c]
lea r8, [rsp + 0x50]
movaps xmm0, xmm8
movss dword [rsp + 0x5c], xmm9
subss xmm0, xmm6
movss dword [rsp + 0x54], xmm9
mov r9d, ebx
movss dword [rsp + 0x20], xmm7
lea rdx, [rsp + 0x58]
mov rcx, rdi
movss dword [rsp + 0x58], xmm0
movaps xmm0, xmm8
addss xmm0, xmm6
movss dword [rsp + 0x50], xmm0
call fcn.14001ecd0
movaps xmm0, xmm9
movss dword [rsp + 0x58], xmm8
subss xmm0, xmm6
movss dword [rsp + 0x50], xmm8
addss xmm9, xmm6
movss dword [rsp + 0x20], xmm7
mov r9d, ebx
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, rdi
movss dword [rsp + 0x5c], xmm0
movss dword [rsp + 0x54], xmm9
call fcn.14001ecd0
cmp byte [0x14016840a], 0
movaps xmm9, xmmword [rsp + 0x410]
movaps xmm8, xmmword [rsp + 0x420]
movaps xmm7, xmmword [rsp + 0x430]
movaps xmm6, xmmword [rsp + 0x440]
mov rdi, qword [rsp + 0x488]
mov rbx, qword [rsp + 0x480]
je 0x14004b0c2
movss xmm1, dword [0x140167b8c]
lea r9, [0x140167620]
mov eax, dword [0x1401684b0]
movaps xmm0, xmm1
cdq
mulss xmm0, xmm10
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, dword [0x1401686ec]
cdq
cvttss2si r11d, xmm0
sub eax, edx
mov edx, r10d
sar eax, 1
mov ecx, eax
movss xmm0, dword [0x140054be0]
movss dword [rsp + 0x28], xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x20], r11d
call fcn.14003f1e0
movaps xmm10, xmmword [rsp + 0x400]
mov rcx, qword [rbp + 0x2a8]
xor rcx, rsp
call fcn.14004cb30
add rsp, 0x468
pop rsi
pop rbp
ret