Function at 0x140040100
Capabilities:
Log keystrokes via polling
Terminate process

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x788]
sub rsp, 0x848
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rbx, qword [0x1400f7430]
add rbx, 0x1f90
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], 0
xor eax, eax
mov dword [rbp - 0x20], eax
mov rcx, qword [0x1400f7420]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400401a1
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor r13d, r13d
mov dword [rbp + 0xe4], r13d
mov dword [rbp + 0x101], r13d
mov word [rbp + 0x105], r13w
mov byte [rbp + 0x107], r13b
mov qword [rbp + 0xe8], rbx
lea rax, [rbp - 0x38]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], 0x1c
mov eax, dword [0x1400f7328]
mov dword [rbp + 0xe0], eax
mov byte [rbp + 0x100], r13b
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0xe0]
mov edx, 0x3b2c22c
mov rcx, qword [0x1400f7320]
call qword [0x1400f74d0]
movss xmm0, dword [rbp - 0x38]
movss dword [0x1400f75d8], xmm0
movss xmm1, dword [rbp - 0x34]
movss dword [0x1400f75dc], xmm1
movss xmm0, dword [rbp - 0x30]
movss dword [0x1400f75e0], xmm0
movsd xmm1, qword [rbp - 0x2c]
movsd qword [0x1400f75b8], xmm1
mov eax, dword [rbp - 0x24]
mov dword [0x1400f75c0], eax
movss xmm0, dword [rbp - 0x20]
movss dword [0x1400f7404], xmm0
movss xmm0, dword [0x1400c6bf4]
movss dword [rsp + 0x70], xmm0
mov dword [rsp + 0x74], r13d
mov rcx, qword [0x1400f7490]
mov rdi, qword [0x1400f7488]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400420d6
mov r14d, r13d
mov qword [rsp + 0x60], r13
mov qword [rbp - 0x60], 0x539
movss xmm12, dword [0x1400c6b7c]
movss xmm13, dword [0x1400c6bb0]
movss xmm14, dword [0x1400c6c20]
movss xmm15, dword [0x1400c6c18]
nop word [rax + rax]
lea rbx, [r14 + r14*4]
shl rbx, 5
mov rax, qword [rdi + rbx]
mov qword [rbp + 0x130], rax
mov rax, qword [rdi + rbx + 8]
mov qword [rbp + 0x138], rax
mov rax, qword [rdi + rbx + 0x10]
mov qword [rbp + 0x140], rax
mov rax, qword [rdi + rbx + 0x18]
mov qword [rbp + 0x148], rax
mov rax, qword [rdi + rbx + 0x20]
mov qword [rbp + 0x150], rax
mov eax, dword [rdi + rbx + 0x28]
mov dword [rbp + 0x158], eax
mov eax, dword [rdi + rbx + 0x2c]
mov dword [rbp + 0x15c], eax
lea rdx, [rbx + 0x30]
add rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140044040
nop
lea rdx, [rbx + 0x50]
add rdx, rdi
lea rcx, [rbp + 0x180]
call fcn.140044040
nop
lea rdx, [rbx + 0x70]
add rdx, rdi
lea rcx, [rbp + 0x1a0]
call fcn.140044040
movss xmm0, dword [rdi + rbx + 0x90]
movss dword [rbp + 0x1c0], xmm0
movss xmm1, dword [rdi + rbx + 0x94]
movss dword [rbp + 0x1c4], xmm1
movss xmm0, dword [rdi + rbx + 0x98]
movss dword [rbp + 0x1c8], xmm0
movzx edi, byte [rdi + rbx + 0x9c]
mov byte [rbp + 0x1cc], dil
mov rax, qword [0x1400f7490]
cmp qword [0x1400f7488], rax
je 0x1400420ca
mov rsi, qword [rbp + 0x150]
lea rcx, [rsi + 0x1b0]
call fcn.1400446a0
movaps xmm10, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm10
jae 0x140040402
comiss xmm10, dword [0x1400c6bd8]
jbe 0x140040411
mov rax, qword [0x1400f7488]
mov byte [rbx + rax + 0x9c], 0
test dil, dil
jne 0x14004048e
mov rdi, qword [0x1400f7490]
mov rbx, qword [0x1400f7488]
cmp rbx, rdi
je 0x140040441
mov rax, qword [rbp + 0x130]
cmp qword [rbx], rax
je 0x140040441
add rbx, 0xa0
cmp rbx, rdi
jne 0x140040430
add rbx, 0xa0
cmp rbx, rdi
je 0x140040472
nop dword [rax]
lea rcx, [rbx - 0xa0]
mov rdx, rbx
call fcn.1400459f0
add rbx, 0xa0
cmp rbx, rdi
jne 0x140040450
mov rdi, qword [0x1400f7490]
lea rcx, [rdi - 0xa0]
call fcn.14003c8e0
sub qword [0x1400f7490], 0xa0
jmp 0x140042061
mov rbx, qword [rbp + 0x130]
lea rcx, [rbx + 0x3d8]
call fcn.140044a40
lea rcx, [rax + 0x610]
call fcn.140044a40
lea rcx, [rax + 0xf8]
call fcn.140044b40
cmp eax, dword [0x1400f7408]
jne 0x1400404c6
jmp 0x140042061
lea rcx, [rbx + 0x38]
call fcn.140044b40
cmp eax, 0x11e0101
je 0x1400404db
jmp 0x140042061
lea rax, [rbp - 0x10]
mov qword [rbp + 0x790], rax
mov qword [rbp - 0x10], rbx
mov rax, qword [rbp + 0x138]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rsi
mov eax, dword [rbp + 0x158]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x15c]
mov dword [rbp + 0x1c], eax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x20]
call fcn.140044040
nop
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x40]
call fcn.140044040
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x60]
call fcn.140044040
movss xmm0, dword [rbp + 0x1c0]
movss dword [rbp + 0x80], xmm0
movss xmm1, dword [rbp + 0x1c4]
movss dword [rbp + 0x84], xmm1
movss xmm0, dword [rbp + 0x1c8]
movss dword [rbp + 0x88], xmm0
movzx eax, byte [rbp + 0x1cc]
mov byte [rbp + 0x8c], al
lea r8, [rbp - 0x10]
xor edx, edx
lea rcx, [rbp + 0x108]
call fcn.14003ccb0
lea rax, [rbp - 0x10]
mov qword [rbp + 0x790], rax
mov rax, qword [rbp + 0x130]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x138]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x10], rax
mov eax, dword [rbp + 0x158]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x15c]
mov dword [rbp + 0x1c], eax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x20]
call fcn.140044040
nop
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x40]
call fcn.140044040
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x60]
call fcn.140044040
movss xmm0, dword [rbp + 0x1c0]
movss dword [rbp + 0x80], xmm0
movss xmm1, dword [rbp + 0x1c4]
movss dword [rbp + 0x84], xmm1
movss xmm0, dword [rbp + 0x1c8]
movss dword [rbp + 0x88], xmm0
movzx eax, byte [rbp + 0x1cc]
mov byte [rbp + 0x8c], al
lea r8, [rbp - 0x10]
mov edx, 8
lea rcx, [rbp - 0x58]
call fcn.14003ccb0
movss xmm9, dword [rbp + 0x110]
movss dword [rbp + 0x90], xmm9
movaps xmm8, xmm9
subss xmm8, dword [0x1400c6b50]
movss xmm6, dword [rbp + 0x108]
movss dword [rbp + 0x798], xmm6
movss xmm7, dword [rbp + 0x10c]
movss dword [rbp + 0x790], xmm7
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3e0], xmm0
movss dword [rbp + 0x3e8], xmm9
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x480]
call fcn.14003c9f0
movaps xmm1, xmm9
subss xmm1, xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3f0], xmm0
movss dword [rbp + 0x3f8], xmm1
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x550]
call fcn.14003c9f0
movss xmm6, dword [rbp - 0x58]
movss dword [rbp + 0x7a8], xmm6
movss xmm11, dword [rbp - 0x54]
movss dword [rbp + 0x7a0], xmm11
movaps xmm0, xmm6
unpcklps xmm0, xmm11
movsd qword [rbp + 0x400], xmm0
movss xmm7, dword [rbp - 0x50]
movss dword [rbp + 0x408], xmm7
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x460]
call fcn.14003c9f0
movaps xmm1, xmm7
addss xmm1, xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm11
movsd qword [rbp + 0x410], xmm0
movss dword [rbp + 0x418], xmm1
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x390]
call fcn.14003c9f0
movaps xmm1, xmm7
addss xmm1, dword [0x1400c6b90]
movaps xmm0, xmm6
unpcklps xmm0, xmm11
movsd qword [rbp + 0x420], xmm0
movss dword [rbp + 0x428], xmm1
lea rdx, [rbp + 0x420]
lea rcx, [rbp + 0x560]
call fcn.14003c9f0
movss xmm11, dword [rbp + 0x394]
subss xmm11, dword [rbp + 0x484]
andps xmm11, xmmword [0x1400c7060]
cvtps2pd xmm0, xmm11
mulsd xmm0, qword [0x1400c6ae0]
cvtpd2ps xmm12, xmm0
movaps xmm6, xmm7
addss xmm6, dword [0x1400c6b84]
addss xmm7, dword [0x1400c6b8c]
movss xmm0, dword [rbp + 0x798]
movss xmm1, dword [rbp + 0x790]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x108], xmm0
movsd qword [rbp + 0x430], xmm0
movss dword [rbp + 0x438], xmm9
lea rdx, [rbp + 0x430]
lea rcx, [rbp + 0x4a0]
call fcn.14003c9f0
movss xmm9, dword [rbp + 0x7a8]
movaps xmm0, xmm9
movss xmm1, dword [rbp + 0x7a0]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x58], xmm0
movsd qword [rbp + 0x440], xmm0
movss xmm0, dword [rbp - 0x50]
movss dword [rbp + 0x448], xmm0
lea rdx, [rbp + 0x440]
lea rcx, [rbp + 0x3b0]
call fcn.14003c9f0
movss xmm0, dword [rbp + 0x798]
movss dword [rbp + 0x220], xmm0
movss xmm0, dword [rbp + 0x790]
movss dword [rbp + 0x224], xmm0
movss dword [rbp + 0x228], xmm8
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x380]
call fcn.14003c9f0
movss dword [rbp + 0x230], xmm9
movss xmm8, dword [rbp + 0x7a0]
movss dword [rbp + 0x234], xmm8
movss dword [rbp + 0x238], xmm6
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x490]
call fcn.14003c9f0
movss dword [rbp + 0x240], xmm9
movss dword [rbp + 0x244], xmm8
movss dword [rbp + 0x248], xmm7
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x570]
call fcn.14003c9f0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r12d, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
mov dword [rsp + 0x50], eax
mov r13, qword [rbp + 0x130]
lea rcx, [r13 + 0x238]
call fcn.140044980
mov qword [rsp + 0x78], 0
mov dword [rbp - 0x80], 0
lea rcx, [rax + 0x164]
mov r8d, 0xc
lea rdx, [rsp + 0x78]
call fcn.14003b470
movss xmm1, dword [rbp - 0x80]
subss xmm1, dword [0x1400f75e0]
movss xmm0, dword [rsp + 0x7c]
subss xmm0, dword [0x1400f75dc]
movss xmm2, dword [rsp + 0x78]
subss xmm2, dword [0x1400f75d8]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400409c9
xorps xmm7, xmm7
sqrtss xmm7, xmm2
jmp 0x1400409d4
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
divss xmm7, dword [0x1400c6be4]
addss xmm7, xmm7
movsd xmm1, qword [rsp + 0x78]
movsd qword [rbp + 0x450], xmm1
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x458], eax
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x470]
call fcn.14003c9f0
mov r15d, 2
mov rax, qword [0x1400f72f0]
movss xmm2, dword [0x1400c6b78]
lea rdx, str.C:WindowsFontsCalibri.ttf
mov rcx, qword [rax + 0xa0]
call fcn.140020c40
mov qword [rbp - 0x70], rax
mov rbx, qword [0x1400f72f0]
mov rdi, rax
test rax, rax
jne 0x140040a66
mov rax, qword [rbx + 0xb0]
test rax, rax
jne 0x140040a5f
mov rax, qword [rbx + 0xa0]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
mov rdi, rax
mov rcx, rax
call fcn.14000d950
lea rcx, [rbx + 0x1a98]
lea rdx, [rbp - 0x70]
call fcn.1400147c0
mov rax, qword [rbx + 0x19f8]
mov rdx, qword [rdi + 0x58]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2a0]
call fcn.14001d3c0
mov rbx, qword [0x1400f72f0]
mov rax, qword [rbx + 0x19f8]
mov rcx, qword [rax + 0x2a0]
dec dword [rcx + 0x70]
call fcn.14001d150
movsxd rcx, dword [rbx + 0x1a98]
lea eax, [rcx - 1]
mov dword [rbx + 0x1a98], eax
test eax, eax
jne 0x140040aed
mov rax, qword [0x1400f72f0]
mov rcx, qword [rax + 0xb0]
test rcx, rcx
jne 0x140040af9
mov rax, qword [rax + 0xa0]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
jmp 0x140040af9
mov rax, qword [rbx + 0x1aa0]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.14000d950
cmp byte [0x1400f50ef], 0
je 0x140040b18
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
movss xmm8, dword [rbp + 0x464]
movss xmm9, dword [rbp + 0x460]
cmp byte [0x1400f50b6], 0
je 0x140040b9a
mov r8, qword [0x1400f72f0]
movups xmm0, xmmword [0x1400f5108]
movups xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x70]
call fcn.140003760
movss dword [rbp + 0x1e0], xmm9
movss dword [rbp + 0x1e4], xmm8
movaps xmm2, xmm12
divss xmm2, dword [0x1400c6b6c]
movss xmm6, dword [0x1400c6abc]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x40
mov r9d, eax
lea rdx, [rbp + 0x1e0]
lea rcx, [r8 + 0x1cc8]
call fcn.14001fe60
jmp 0x140040ba2
movss xmm6, dword [0x1400c6abc]
cmp byte [0x1400f50e2], 0
je 0x140040cb7
movups xmm6, xmmword [0x1400f5138]
lea rax, [rbp + 0x4b0]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x4b0], r13
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x4b8], rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x4c0], rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x4c8], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x4d0], rax
mov eax, dword [rbp + 0x158]
mov dword [rbp + 0x4d8], eax
mov eax, dword [rbp + 0x15c]
mov dword [rbp + 0x4dc], eax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x4e0]
call fcn.140044040
nop
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x500]
call fcn.140044040
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x520]
call fcn.140044040
movss xmm0, dword [rbp + 0x1c0]
movss dword [rbp + 0x540], xmm0
movss xmm1, dword [rbp + 0x1c4]
movss dword [rbp + 0x544], xmm1
movss xmm0, dword [rbp + 0x1c8]
movss dword [rbp + 0x548], xmm0
movzx eax, byte [rbp + 0x1cc]
mov byte [rbp + 0x54c], al
movdqa xmmword [rbp - 0x70], xmm6
movss xmm6, dword [0x1400c6abc]
movaps xmm2, xmm6
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x4b0]
call fcn.14003dad0
mov r13, qword [rbp + 0x130]
cmp byte [0x1400f50e3], 0
je 0x140040de1
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1400f5100]
test eax, eax
jne 0x140040ce2
xorps xmm1, xmm1
jmp 0x140040ce9
movd xmm1, esi
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
movsd qword [rbp - 0x70], xmm0
lea r8, [0x1400c5f94]
mov rdx, r8
test eax, eax
lea rax, str.Bottom
cmove rdx, rax
movss xmm0, dword [0x1400f5148]
movss xmm1, dword [0x1400f514c]
movss xmm2, dword [0x1400f5150]
movss xmm3, dword [0x1400f5154]
movss dword [rbp + 0xa0], xmm9
movss dword [rbp + 0xa4], xmm8
mov r10, qword [0x1400f72f0]
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140040d83
cmp rcx, 4
jne 0x140040d50
movss xmm8, dword [0x1400c6bb8]
mulss xmm3, xmm8
mulss xmm2, xmm8
mulss xmm1, xmm8
mulss xmm0, xmm8
jmp 0x140040d9b
movss xmm4, dword [0x1400c6bb8]
mulss xmm3, xmm4
mulss xmm2, xmm4
mulss xmm1, xmm4
mulss xmm0, xmm4
cvttss2si r9, xmm3
cvttss2si rax, xmm2
shl r9d, 8
or r9d, eax
cvttss2si rax, xmm1
shl r9d, 8
or r9d, eax
cvttss2si rax, xmm0
shl r9d, 8
movss dword [rsp + 0x20], xmm6
or r9d, eax
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x70]
lea rcx, [r10 + 0x1cc8]
call fcn.14001f540
cmp byte [0x1400f50e6], 0
je 0x140040f0b
movss xmm2, dword [0x1400c6af4]
movaps xmm9, xmm2
divss xmm9, xmm7
mulss xmm12, dword [0x1400c6a8c]
movss xmm8, dword [rbp + 0x470]
subss xmm8, xmm12
subss xmm8, dword [0x1400c6b50]
subss xmm8, xmm9
divss xmm10, dword [0x1400c6ba0]
mulss xmm10, xmm11
movaps xmm1, xmm11
movss xmm12, dword [0x1400c6a8c]
mulss xmm1, xmm12
movss xmm6, dword [rbp + 0x474]
movaps xmm7, xmm6
subss xmm7, xmm1
movaps xmm0, xmm11
subss xmm0, xmm10
addss xmm7, xmm0
subss xmm6, xmm1
movaps xmm0, xmm11
subss xmm0, xmm11
addss xmm6, xmm0
cvttss2si r14d, xmm10
cvttss2si esi, xmm11
lea r9d, [rsi + 2]
movaps xmm0, xmm9
addss xmm0, xmm2
cvttss2si r8d, xmm0
movaps xmm1, xmm6
subss xmm1, dword [0x1400c6abc]
cvttss2si edx, xmm1
movaps xmm0, xmm8
subss xmm0, dword [0x1400c6abc]
cvttss2si ecx, xmm0
lea rax, [0x1400f4c90]
mov qword [rsp + 0x20], rax
call fcn.14003b520
cvttss2si ebx, xmm9
cvttss2si edi, xmm8
cvttss2si edx, xmm6
lea rax, [0x1400f4ac0]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, ebx
mov ecx, edi
call fcn.14003f830
cvttss2si edx, xmm7
lea rax, [0x1400f4b00]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8d, ebx
mov ecx, edi
call fcn.14003f830
mov esi, dword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
jmp 0x140040f14
movss xmm12, dword [0x1400c6a8c]
movss xmm11, dword [rbp + 0x384]
movss xmm10, dword [rbp + 0x380]
cmp byte [0x1400f50e0], 0
je 0x140041030
movss xmm9, dword [rbp + 0x494]
mov eax, dword [0x1400f5104]
test eax, eax
jne 0x140040f9c
movaps xmm6, xmm11
subss xmm6, xmm9
movaps xmm7, xmm6
mulss xmm7, xmm12
lea rcx, [0x1400f5118]
call fcn.140003760
mov dword [rsp + 0x50], eax
cvttss2si r9d, xmm6
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
mulss xmm7, xmm12
movaps xmm0, xmm10
subss xmm0, xmm7
cvttss2si ecx, xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14003d600
mov eax, dword [0x1400f5104]
cmp eax, 1
jne 0x140041030
movaps xmm8, xmm11
subss xmm8, xmm9
movaps xmm7, xmm8
mulss xmm7, xmm12
movups xmm0, xmmword [0x1400f5118]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm6, xmm7
mulss xmm6, xmm12
movss xmm0, dword [rbp + 0x4a0]
subss xmm0, xmm6
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movaps xmm2, xmm7
movss xmm1, dword [rbp + 0x394]
call fcn.14003f940
lea rcx, [0x1400f5118]
call fcn.140003760
mov dword [rsp + 0x50], eax
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
movaps xmm0, xmm10
subss xmm0, xmm6
cvttss2si ecx, xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14003d600
cmp byte [0x1400f50e7], 0
je 0x140041270
lea rcx, [r13 + 0x18]
call fcn.140044b40
mov edx, eax
lea rcx, [rbp + 0x1e8]
call fcn.14003fc50
nop
lea rax, [rbp + 0x1e8]
mov r10, qword [rbp + 0x1e8]
mov r11, qword [rbp + 0x200]
cmp r11, 0xf
cmova rax, r10
mov rbx, qword [0x1400f72f0]
mov rdi, qword [rbx + 0x18f0]
movss xmm6, dword [rbx + 0x18f8]
test rax, rax
jne 0x140041095
xorps xmm7, xmm7
xorps xmm6, xmm6
jmp 0x14004110f
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1400c6c14]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400c6bf4]
movaps xmm2, xmm6
lea rdx, [rbp + 0x1d0]
mov rcx, rdi
call fcn.140023240
divss xmm6, dword [rdi]
movss xmm0, dword [rbp + 0x1d0]
xorps xmm7, xmm7
comiss xmm0, xmm7
jbe 0x1400410e6
subss xmm0, xmm6
addss xmm0, dword [0x1400c6ab8]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x1d0], xmm6
mov r11, qword [rbp + 0x200]
mov r10, qword [rbp + 0x1e8]
lea r9, [rbp + 0x1e8]
cmp r11, 0xf
cmova r9, r10
mov rax, qword [0x1400f72f0]
mov dword [rbp + 0x2b0], 0x3f800000
mov dword [rbp + 0x2b4], 0x3f800000
mov dword [rbp + 0x2b8], 0x3f800000
movss xmm0, dword [rax + 0x1550]
movss dword [rbp + 0x2bc], xmm0
lea rcx, [rbp + 0x2b0]
call fcn.140003760
mov edi, eax
movaps xmm2, xmm11
movss xmm8, dword [0x1400c6af4]
addss xmm2, xmm8
mulss xmm6, xmm12
movaps xmm1, xmm10
subss xmm1, xmm6
test eax, 0xff000000
je 0x140041214
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r9 + r8], 0
jne 0x140041192
add r8, r9
cmp r9, r8
je 0x140041214
mov rax, qword [rbx + 0x1d00]
movsxd rdx, dword [rbx + 0x1d28]
add rdx, rdx
mov rcx, qword [rbx + 0x1d30]
movups xmm0, xmmword [rcx + rdx*8 - 0x10]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r9
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
unpcklps xmm1, xmm2
movq r9, xmm1
movss xmm2, dword [rax + 0x10]
lea rdx, [rbx + 0x1cc8]
mov rcx, qword [rax + 8]
call fcn.1400234b0
mov r11, qword [rbp + 0x200]
mov r10, qword [rbp + 0x1e8]
mov r15d, 0x10
cmp r11, 0xf
jbe 0x140041251
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x140041249
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400420b9
mov rcx, r10
call fcn.140056064
mov qword [rbp + 0x1f8], 0
mov qword [rbp + 0x200], 0xf
mov byte [rbp + 0x1e8], 0
jmp 0x140041279
movss xmm8, dword [0x1400c6af4]
cmp byte [0x1400f50e5], 0
je 0x14004149f
movss xmm0, dword [rbp + 0x790]
subss xmm0, dword [0x1400f75dc]
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm0, dword [rbp + 0x798]
subss xmm0, dword [0x1400f75d8]
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movss xmm0, dword [rbp + 0x90]
subss xmm0, dword [0x1400f75e0]
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x1400412ed
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1400412f5
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, dword [0x1400c6ba0]
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movq r8, xmm2
lea rdx, str._.fm
lea rcx, [rbp + 0x5a0]
call fcn.140044c50
mov rdi, qword [0x1400f72f0]
mov rbx, qword [rdi + 0x18f0]
movss xmm6, dword [rdi + 0x18f8]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x5a0]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1400c6c14]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400c6bf4]
movaps xmm2, xmm6
lea rdx, [rbp + 0x1d8]
mov rcx, rbx
call fcn.140023240
divss xmm6, dword [rbx]
movss xmm0, dword [rbp + 0x1d8]
xorps xmm7, xmm7
comiss xmm0, xmm7
jbe 0x14004138a
subss xmm0, xmm6
addss xmm0, dword [0x1400c6ab8]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x1d8], xmm6
mov dword [rbp + 0x2c0], 0x3f800000
mov dword [rbp + 0x2c4], 0x3f800000
mov dword [rbp + 0x2c8], 0x3f800000
movss xmm0, dword [rdi + 0x1550]
movss dword [rbp + 0x2cc], xmm0
lea rcx, [rbp + 0x2c0]
call fcn.140003760
mov r10d, eax
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
addss xmm1, xmm11
mulss xmm6, xmm12
subss xmm10, xmm6
test eax, 0xff000000
je 0x14004149f
lea rcx, [rbp + 0x5a0]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140041412
lea r9, [rbp + 0x5a0]
add r9, rax
lea rax, [rbp + 0x5a0]
cmp rax, r9
je 0x14004149f
mov rax, qword [rdi + 0x1d00]
movsxd rdx, dword [rdi + 0x1d28]
add rdx, rdx
mov rcx, qword [rdi + 0x1d30]
movups xmm0, xmmword [rcx + rdx*8 - 0x10]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], r9
lea rcx, [rbp + 0x5a0]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r10d
movaps xmm0, xmm10
unpcklps xmm0, xmm1
movq r9, xmm0
movss xmm2, dword [rax + 0x10]
lea rdx, [rdi + 0x1cc8]
mov rcx, qword [rax + 8]
call fcn.1400234b0
cmp byte [0x1400f50ea], 0
je 0x140041545
mov dword [rbp + 0x98], 0x42c80000
lea rax, [r13 + 0x6f0]
xor r13d, r13d
mov dword [rbp + 0xe4], r13d
mov dword [rbp + 0x101], r13d
mov word [rbp + 0x105], r13w
mov byte [rbp + 0x107], r13b
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0x98]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], 4
mov eax, dword [0x1400f7328]
mov dword [rbp + 0xe0], eax
mov byte [rbp + 0x100], 1
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0x28
lea r8, [rbp + 0xe0]
mov edx, 0x3b2c22c
mov rcx, qword [0x1400f7320]
call qword [0x1400f74d0]
jmp 0x140041548
xor r13d, r13d
cmp byte [0x1400f50e4], 0
je 0x1400417a2
mov rcx, qword [rbp + 0x148]
add rcx, 0x170
mov qword [rbp + 0xa8], 0
mov dword [rbp + 0xb0], 0
mov r8d, 0xc
lea rdx, [rbp + 0xa8]
call fcn.14003b470
movss xmm0, dword [rbp + 0xac]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1400c6ac0]
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
movss xmm1, dword [rbp + 0xa8]
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [0x1400c6ac0]
cvtpd2ps xmm6, xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm12, xmm0
movss xmm1, dword [0x1400c6bbc]
mulss xmm7, xmm1
movss xmm0, dword [rbp - 0x50]
movaps xmm11, xmm0
subss xmm11, xmm7
movaps xmm10, xmm12
mulss xmm10, xmm8
mulss xmm10, xmm1
movss xmm2, dword [rbp + 0x7a0]
addss xmm10, xmm2
mulss xmm12, xmm9
mulss xmm12, xmm1
movss xmm1, dword [rbp + 0x7a8]
addss xmm12, xmm1
movss dword [rbp + 0x250], xmm1
movss dword [rbp + 0x254], xmm2
movss dword [rbp + 0x258], xmm0
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x580]
call fcn.14003c9f0
movsd xmm7, qword [rax]
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
movss dword [rbp + 0x260], xmm12
movss dword [rbp + 0x264], xmm10
movss dword [rbp + 0x268], xmm11
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x58c]
call fcn.14003c9f0
movsd xmm6, qword [rax]
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
mov rax, qword [0x1400f72f0]
lea r10, [rax + 0x1cc8]
mov dword [rbp + 0x2d0], 0
mov qword [rbp + 0x2d4], 0x3f800000
movss xmm0, dword [rax + 0x1550]
movss dword [rbp + 0x2dc], xmm0
lea rcx, [rbp + 0x2d0]
call fcn.140003760
movss dword [rbp + 0x218], xmm6
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x60], xmm6
movss dword [rbp + 0x21c], xmm0
movss dword [rbp + 0x210], xmm7
movaps xmm0, xmm7
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x60], xmm7
movss dword [rbp + 0x214], xmm0
movss xmm6, dword [0x1400c6abc]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x210]
mov rcx, r10
call fcn.14001f540
movaps xmm1, xmm11
addss xmm1, dword [0x1400c6b84]
movaps xmm0, xmm12
unpcklps xmm0, xmm10
movsd qword [rbp + 0x3a0], xmm0
movss dword [rbp + 0x3a8], xmm1
movss dword [rbp + 0x270], xmm12
movss dword [rbp + 0x274], xmm10
movss dword [rbp + 0x278], xmm11
movss dword [rsp + 0x20], xmm6
movss xmm2, dword [0x1400c6b8c]
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x270]
call fcn.14003cea0
xorps xmm0, xmm0
cvtsi2ss xmm0, r12d
mulss xmm0, dword [0x1400c6a8c]
movss xmm7, dword [rbp + 0x3b0]
movaps xmm2, xmm7
subss xmm2, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
mulss xmm1, dword [0x1400c6a8c]
movss xmm8, dword [rbp + 0x3b4]
movaps xmm3, xmm8
subss xmm3, xmm1
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x1400417fe
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x140041809
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
cvttss2si ecx, xmm8
cvttss2si r8d, xmm7
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
sub eax, r8d
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140041852
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14004185a
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm7, dword [0x1400f50c0]
cmp byte [0x1400f72e9], 0
je 0x14004188a
movss xmm1, dword [rsp + 0x70]
comiss xmm1, xmm6
jbe 0x14004188a
comiss xmm7, xmm0
jbe 0x14004188a
movss dword [rsp + 0x70], xmm6
mov r15, r14
mov qword [rbp - 0x60], r14
jmp 0x14004188e
mov r15, qword [rbp - 0x60]
cmp byte [0x1400f50b4], 0
je 0x140041fc0
cmp byte [0x1400f50b8], 0
jne 0x140041fc0
cmp r15, 0x539
je 0x140041fc0
lea rbx, [r15 + r15*4]
shl rbx, 5
add rbx, qword [0x1400f7488]
mov rax, qword [rbx]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp], rax
mov rax, qword [rbx + 0x18]
mov qword [rbp + 8], rax
mov rax, qword [rbx + 0x20]
mov qword [rbp + 0x10], rax
mov eax, dword [rbx + 0x28]
mov dword [rbp + 0x18], eax
mov eax, dword [rbx + 0x2c]
mov dword [rbp + 0x1c], eax
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0x20]
call fcn.140044040
nop
lea rdx, [rbx + 0x50]
lea rcx, [rbp + 0x40]
call fcn.140044040
nop
lea rdx, [rbx + 0x70]
lea rcx, [rbp + 0x60]
call fcn.140044040
movss xmm0, dword [rbx + 0x90]
movss dword [rbp + 0x80], xmm0
movss xmm1, dword [rbx + 0x94]
movss dword [rbp + 0x84], xmm1
movss xmm0, dword [rbx + 0x98]
movss dword [rbp + 0x88], xmm0
movzx eax, byte [rbx + 0x9c]
mov byte [rbp + 0x8c], al
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x790], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x2e0], rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x300], rax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x30c], eax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x310]
call fcn.140044040
nop
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x330]
call fcn.140044040
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x350]
call fcn.140044040
movss xmm0, dword [rbp + 0x80]
movss dword [rbp + 0x370], xmm0
movss xmm1, dword [rbp + 0x84]
movss dword [rbp + 0x374], xmm1
movss xmm0, dword [rbp + 0x88]
movss dword [rbp + 0x378], xmm0
movzx eax, byte [rbp + 0x8c]
mov byte [rbp + 0x37c], al
lea r8, [rbp + 0x2e0]
mov edx, 8
lea rcx, [rbp + 0x280]
call fcn.14003ccb0
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x790], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x2e0], rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x300], rax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x30c], eax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x310]
call fcn.140044040
nop
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x330]
call fcn.140044040
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x350]
call fcn.140044040
movss xmm0, dword [rbp + 0x80]
movss dword [rbp + 0x370], xmm0
movss xmm1, dword [rbp + 0x84]
movss dword [rbp + 0x374], xmm1
movss xmm0, dword [rbp + 0x88]
movss dword [rbp + 0x378], xmm0
movzx eax, byte [rbp + 0x8c]
mov byte [rbp + 0x37c], al
lea r8, [rbp + 0x2e0]
mov edx, 6
lea rcx, [rbp + 0x290]
call fcn.14003ccb0
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x790], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x2e0], rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x300], rax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x30c], eax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x310]
call fcn.140044040
nop
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x330]
call fcn.140044040
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x350]
call fcn.140044040
movss xmm0, dword [rbp + 0x80]
movss dword [rbp + 0x370], xmm0
movss xmm1, dword [rbp + 0x84]
movss dword [rbp + 0x374], xmm1
movss xmm0, dword [rbp + 0x88]
movss dword [rbp + 0x378], xmm0
movzx eax, byte [rbp + 0x8c]
mov byte [rbp + 0x37c], al
lea r8, [rbp + 0x2e0]
mov edx, 3
lea rcx, [rbp + 0x2a0]
call fcn.14003ccb0
xorps xmm12, xmm12
xorps xmm10, xmm10
xorps xmm11, xmm11
xorps xmm6, xmm6
mov eax, dword [0x1400f50f4]
test eax, eax
jne 0x140041c2c
movss xmm10, dword [rbp + 0x280]
movss xmm11, dword [rbp + 0x284]
movss xmm6, dword [rbp + 0x288]
jmp 0x140041c6c
cmp eax, 1
jne 0x140041c4d
movss xmm10, dword [rbp + 0x290]
movss xmm11, dword [rbp + 0x294]
movss xmm6, dword [rbp + 0x298]
jmp 0x140041c6c
cmp eax, 2
jne 0x140041c6c
movss xmm10, dword [rbp + 0x2a0]
movss xmm11, dword [rbp + 0x2a4]
movss xmm6, dword [rbp + 0x2a8]
mov rcx, qword [rbp + 8]
add rcx, 0x164
mov qword [rbp + 0x118], 0
mov dword [rbp + 0x120], 0
mov r8d, 0xc
lea rdx, [rbp + 0x118]
call fcn.14003b470
movss xmm0, dword [rbp + 0x120]
comiss xmm0, xmm6
jae 0x1400420c0
mov rcx, qword [0x1400f7428]
add rcx, 0x440
mov qword [rbp - 0x48], 0
mov dword [rbp - 0x40], 0
mov r8d, 0xc
lea rdx, [rbp - 0x48]
call fcn.14003b470
subss xmm6, dword [0x1400f75e0]
movaps xmm0, xmm11
movss xmm8, dword [0x1400f75dc]
subss xmm0, xmm8
movss xmm1, dword [0x1400c6af4]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm0, xmm10
movss xmm9, dword [0x1400f75d8]
subss xmm0, xmm9
movss xmm1, dword [0x1400c6af4]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
movss xmm1, dword [0x1400c6af4]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x140041d4d
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x140041d55
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
mulss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x1400c6af8]
cvtpd2ps xmm6, xmm1
subss xmm8, xmm11
subss xmm9, xmm10
divss xmm8, xmm9
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1400c6b28]
cvtpd2ps xmm2, xmm1
comiss xmm9, xmm12
jb 0x140041daf
addss xmm2, xmm13
xorps xmm1, xmm1
movss xmm8, dword [rbp - 0x40]
subss xmm1, xmm8
movss xmm7, dword [rbp - 0x44]
subss xmm2, xmm7
movss xmm3, dword [rbp - 0x48]
subss xmm6, xmm3
movss xmm9, dword [0x1400c6b9c]
comiss xmm6, xmm9
jbe 0x140041deb
nop
addss xmm6, xmm14
comiss xmm6, xmm9
ja 0x140041de0
comiss xmm15, xmm6
jbe 0x140041dfc
addss xmm6, xmm13
comiss xmm15, xmm6
ja 0x140041df1
movss xmm4, dword [0x1400c6c24]
comiss xmm2, xmm13
jbe 0x140041e1a
nop word [rax + rax]
addss xmm2, xmm4
comiss xmm2, xmm13
ja 0x140041e10
movss xmm5, dword [0x1400c6bc0]
comiss xmm14, xmm2
jbe 0x140041e3a
nop dword [rax + rax]
addss xmm2, xmm5
comiss xmm14, xmm2
ja 0x140041e30
movss xmm0, dword [0x1400f50c4]
divss xmm1, xmm0
divss xmm2, xmm0
addss xmm8, xmm1
addss xmm7, xmm2
divss xmm6, xmm0
addss xmm6, xmm3
comiss xmm6, xmm9
jbe 0x140041e6c
addss xmm6, xmm14
comiss xmm6, xmm9
ja 0x140041e61
comiss xmm15, xmm6
jbe 0x140041e7d
addss xmm6, xmm13
comiss xmm15, xmm6
ja 0x140041e72
comiss xmm7, xmm13
jbe 0x140041e8d
addss xmm7, xmm4
comiss xmm7, xmm13
ja 0x140041e83
comiss xmm14, xmm7
jbe 0x140041e9d
addss xmm7, xmm5
comiss xmm14, xmm7
ja 0x140041e93
movsxd rcx, dword [0x1400f50b0]
lea rax, [0x14008caf0]
mov ecx, dword [rax + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140041faf
cmp byte [0x1400f50b5], 1
jne 0x140041f07
cmp byte [0x1400f72e9], 0
je 0x140041faf
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3c0], xmm0
movss dword [rbp + 0x3c8], xmm8
mov rax, qword [0x1400f7428]
add rax, 0x440
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x3c0]
jmp 0x140041f39
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp + 0x3d0], xmm0
movss dword [rbp + 0x3d8], xmm8
mov rax, qword [0x1400f7428]
add rax, 0x440
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rbp + 0xc8], rax
mov dword [rsp + 0x28], r13d
mov eax, dword [0x1400f7328]
mov qword [rsp + 0x20], r13
mov dword [rbp + 0xbc], r13d
mov dword [rbp + 0xd9], r13d
mov word [rbp + 0xdd], r13w
mov byte [rbp + 0xdf], 0
mov qword [rbp + 0xd0], 0xc
mov dword [rbp + 0xb8], eax
mov byte [rbp + 0xd8], 1
mov r9d, 0x28
lea r8, [rbp + 0xb8]
mov edx, 0x3b2c22c
mov rcx, qword [0x1400f7320]
call qword [0x1400f74d0]
nop
lea rcx, [rbp - 0x10]
call fcn.14003c8e0
movss xmm7, dword [0x1400f50c0]
cmp byte [0x1400f50bb], 0
je 0x140042058
mov rax, qword [0x1400f72f0]
lea r8, [rax + 0x1cc8]
mov dword [rbp - 0x38], 0x3f800000
mov dword [rbp - 0x34], 0x3f800000
mov dword [rbp - 0x30], 0x3f800000
movss xmm0, dword [rax + 0x1550]
movss dword [rbp - 0x2c], xmm0
lea rcx, [rbp - 0x38]
call fcn.140003760
movd xmm1, dword [0x1400f74a0]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x1400f74a4]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x208], xmm0
movss dword [rbp + 0x20c], xmm1
movss xmm0, dword [0x1400c6abc]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0x40
mov r9d, eax
movaps xmm2, xmm7
lea rdx, [rbp + 0x208]
mov rcx, r8
call fcn.14001fe60
nop
movss xmm12, dword [0x1400c6b7c]
lea rcx, [rbp + 0x130]
call fcn.14003c8e0
mov esi, dword [rsp + 0x74]
inc esi
mov dword [rsp + 0x74], esi
inc r14
mov qword [rsp + 0x60], r14
mov rcx, qword [0x1400f7490]
mov rdi, qword [0x1400f7488]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jb 0x1400402f0
jmp 0x1400420d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [rbp - 0x10]
call fcn.14003c8e0
nop
lea rcx, [rbp + 0x130]
call fcn.14003c8e0
lea r11, [rsp + 0x848]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret