Function at 0x14003ced0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5d8]
sub rsp, 0x698
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
xor r12d, r12d
mov esi, r12d
mov dword [rbp + 0x60], r12d
mov dword [rbp + 0x5e0], r12d
movss xmm0, dword [0x1400b36bc]
movss dword [rbp + 0x90], xmm0
mov qword [rbp + 0x148], r12
mov ecx, 0x400
call fcn.1400605b0
mov rbx, rax
mov qword [rbp + 0x140], rax
mov rdx, qword [0x1400ea0d0]
add rdx, 0x1320
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1f0], xmm0
movups xmmword [rbp + 0x200], xmm0
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], rax
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x58], rdx
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 0x48
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
movups xmm0, xmmword [rbp + 0x1f0]
movups xmmword [0x1400ea030], xmm0
movups xmm1, xmmword [rbp + 0x200]
movups xmmword [0x1400ea040], xmm1
movups xmm0, xmmword [rbp + 0x210]
movups xmmword [0x1400ea050], xmm0
movups xmm1, xmmword [rbp + 0x220]
movups xmmword [0x1400ea060], xmm1
movsd xmm0, qword [rbp + 0x230]
movsd qword [0x1400ea070], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x158], xmm1
mov qword [rbp + 0x168], r12
mov rcx, qword [0x1400ea6f0]
sub rcx, qword [0x1400ea6e8]
movabs r15, 0x4924924924924925
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14003d0e2
movabs rax, 0x492492492492492
cmp rdx, rax
ja 0x14003fb16
lea rcx, [rbp + 0x158]
call fcn.14004c510
mov rdi, qword [0x1400ea6f0]
mov rdx, qword [0x1400ea6e8]
sub rdi, rdx
mov r8, rdi
mov r14, qword [rbp + 0x158]
mov rcx, r14
call fcn.140051cd0
mov rax, r15
imul rdi
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x38
add rax, r14
mov qword [rbp + 0x160], rax
jmp 0x14003d0e9
mov r14, qword [rbp + 0x158]
movss xmm14, dword [0x1400b3520]
cmp byte [0x1400ea0e2], 1
jne 0x14003d1ed
mov ecx, 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003d176
mov dword [rbp + 0x5e0], 0x3fc00000
mov rdx, qword [0x1400ea0d8]
add rdx, 0x6c
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 2
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
lea rax, [rbp + 0x5e0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
mov dword [rbp - 0x48], 4
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov ecx, 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14003d1ed
mov dword [rbp + 0x5e0], 0x3f800000
mov rdx, qword [0x1400ea0d8]
add rdx, 0x6c
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 2
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
lea rax, [rbp + 0x5e0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
mov dword [rbp - 0x48], 4
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov dword [rbp + 0x94], r12d
mov rcx, qword [0x1400ea6f0]
sub rcx, qword [0x1400ea6e8]
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14003fab1
mov r8, r12
mov qword [rbp + 0x138], r12
movss xmm15, dword [0x1400b3668]
nop
imul rax, r8, 0x38
add rax, r14
movups xmm2, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp], xmm1
movsd xmm0, qword [rax + 0x30]
movsd qword [rbp + 0x10], xmm0
mov qword [rbp + 0xe0], r12
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
movq r14, xmm2
mov qword [rbp + 0x118], r14
lea rax, [r14 + 0x328]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0xe0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 8
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov qword [rbp + 0x5f0], r12
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
lea rax, [r14 + 0x2c0]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x5f0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 8
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov r15, qword [rbp + 0xe0]
mov rcx, r15
call fcn.14003ba00
movzx r13d, al
mov byte [rsp + 0x40], al
mov rdx, qword [0x1400ea0d8]
add rdx, 0x1a8
mov qword [rbp + 0x5e0], r12
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x58], rdx
lea rax, [rbp + 0x5e0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 8
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov rax, qword [rbp + 0x5e0]
mov qword [0x1400ea080], rax
mov qword [rbp + 0x5e0], r12
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
lea rax, [r14 + 0x1a8]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x5e0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 8
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
mov rax, qword [rbp + 0x5e0]
add rax, 0x130
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0xb0]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 0x18
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
mov rdx, qword [0x1400ea080]
add rdx, 0x130
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], rax
mov qword [rbp - 0x64], r12
mov dword [rbp - 0x5c], r12d
mov dword [rbp - 0x44], r12d
lea rdi, [rbp - 0x70]
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x68], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp - 0x6c], eax
mov qword [rbp - 0x58], rdx
lea rax, [rbp + 0xc8]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 0x18
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [0x1400ea6d8]
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp - 0x40], xmm1
movsd xmm8, qword [rbp + 0xb0]
movsd qword [rbp + 0x70], xmm8
movsd xmm10, qword [rbp + 0xb8]
movsd qword [rbp + 0x78], xmm10
movsd xmm9, qword [rbp + 0xc0]
movsd qword [rbp + 0x80], xmm9
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
mov r8d, 0x12
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.14003b180
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp - 0x40], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x80], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.14003b620
movups xmm11, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm0
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp - 0x40], xmm1
movsd qword [rbp + 0x70], xmm6
unpckhpd xmm6, xmm6
movsd qword [rbp + 0x78], xmm6
movsd qword [rbp + 0x30], xmm7
addsd xmm7, qword [0x1400b35a0]
movsd qword [rbp + 0x80], xmm7
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x1d0]
call fcn.14003b620
movups xmm12, xmmword [rax]
movups xmmword [rbp + 0x360], xmm12
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x370], xmm0
unpckhpd xmm12, xmm12
movaps xmm13, xmm12
unpckhpd xmm11, xmm11
movups xmmword [rbp + 0xf0], xmm11
subsd xmm13, xmm11
andps xmm13, xmmword [0x1400b3d50]
movaps xmm11, xmm13
mulsd xmm11, qword [0x1400b3550]
subsd xmm8, qword [rbp + 0xc8]
subsd xmm10, qword [rbp + 0xd0]
subsd xmm9, qword [rbp + 0xd8]
mulsd xmm10, xmm10
mulsd xmm8, xmm8
addsd xmm10, xmm8
mulsd xmm9, xmm9
addsd xmm10, xmm9
xorps xmm0, xmm0
ucomisd xmm0, xmm10
ja 0x14003d6e3
sqrtpd xmm6, xmm10
jmp 0x14003d6ef
movaps xmm0, xmm10
call fcn.14007e998
movaps xmm6, xmm0
movsd xmm10, qword [0x1400b35e0]
divsd xmm6, xmm10
movsd xmm0, qword [0x1400b3570]
comisd xmm0, xmm6
jae 0x14003db66
movd xmm0, dword [0x1400c0cc0]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm6
jb 0x14003db66
mov rdx, qword [0x1400ea0d8]
add rdx, 0x18
mov dword [rbp + 0x5e8], r12d
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x60], rdx
lea rax, [rbp + 0x5e8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov dword [rbp + 0x5e0], r12d
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0x18]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5e0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov r12d, dword [rbp + 0x5e0]
mov edx, r12d
lea rcx, [rbp - 0x70]
call fcn.14003be00
nop
lea rcx, [rbp - 0x70]
mov rdi, qword [rbp - 0x70]
mov r15, qword [rbp - 0x58]
cmp r15, 0x10
cmovae rcx, rdi
mov qword [rsp + 0x20], 0xf
lea r9, str.BP_Helicopter_C
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
call fcn.14004af40
cmp rax, 0xffffffffffffffff
je 0x14003db1f
lea rax, [0x1400b3438]
mov qword [rbp + 0x3e0], rax
xor r15d, r15d
mov qword [rbp + 0x470], r15
mov qword [rbp + 0x498], r15
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x4a0], xmm0
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x468], rax
or esi, 1
mov dword [rbp + 0x5e0], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp + 0x3e0]
call fcn.140048a20
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3e8]
call fcn.140049f60
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x3e8], rax
mov qword [rbp + 0x450], r15
mov dword [rbp + 0x458], 4
lea rdx, str.Helicopter_n
lea rcx, [rbp + 0x3e0]
call fcn.14004a450
mov rbx, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
btr ecx, 0xc
bts ecx, 0xd
mov dword [rdx + rax + 0x18], ecx
xor edx, edx
lea rcx, [rbp + 0x4e0]
call fcn.14004efa8
mov rdi, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call rdi
movaps xmm1, xmm6
mov rcx, rbx
call fcn.140046950
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov ecx, 0xf
mov qword [rsp + 0x60], rcx
mov byte [rsp + 0x48], r15b
or esi, 4
mov dword [rbp + 0x5e0], esi
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rax
mov edx, dword [rbp + 0x458]
mov eax, edx
and al, 0x22
cmp al, 2
je 0x14003d9c9
mov rax, qword [rbp + 0x428]
mov r8, qword [rax]
test r8, r8
je 0x14003d9c9
mov rax, qword [rbp + 0x408]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x450]
cmovb r8, qword [rbp + 0x450]
sub r8, rdx
jmp 0x14003da01
test dl, 4
jne 0x14003d9f9
mov rax, qword [rbp + 0x420]
mov rdi, qword [rax]
test rdi, rdi
je 0x14003d9f9
mov rax, qword [rbp + 0x400]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x438]
movsxd r8, dword [rax]
add r8, rdi
sub r8, rdx
jmp 0x14003da01
mov r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x14003da15
lea rcx, [rsp + 0x48]
call fcn.140049ff0
mov rcx, qword [rsp + 0x60]
and esi, 0xfffffffb
or esi, 2
mov dword [rbp + 0x60], esi
lea r9, [rsp + 0x48]
cmp rcx, 0x10
cmovae r9, qword [rsp + 0x48]
cvttsd2si edx, qword [rbp + 0x108]
cvttsd2si ecx, qword [rbp + 0x100]
lea r8, [0x1400e7370]
call fcn.140039f40
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14003da88
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003da82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fb1c
call fcn.14004dc4c
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3e8]
call fcn.1400466b0
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x3dc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x468], rax
lea rcx, [rbp + 0x468]
call fcn.14004edfc
nop
mov r15, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x70]
mov rbx, qword [rbp + 0x140]
cmp dword [rbp + 0x5e8], r12d
je 0x14003dbcd
cmp r15, 0x10
jb 0x14003db63
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003db5b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fb10
mov rcx, rdi
call fcn.14004dc4c
xor r12d, r12d
mov edi, dword [rbp + 0x94]
inc edi
mov dword [rbp + 0x94], edi
mov r8, qword [rbp + 0x138]
inc r8
mov qword [rbp + 0x138], r8
mov rcx, qword [0x1400ea6f0]
sub rcx, qword [0x1400ea6e8]
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jae 0x14003f819
mov rbx, qword [rbp + 0x140]
mov r14, qword [rbp + 0x158]
jmp 0x14003d230
mov byte [rbp + 0x5f8], 0
xor r12d, r12d
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0xcf5]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5f8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov byte [rbp + 0x5e8], r12b
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0xd00]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5e8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov byte [rbp + 0x5e0], r12b
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0xcf2]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5e0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov rcx, qword [rbp + 0x5f0]
add rcx, 0x368
call fcn.14004a2e0
mov rdx, rax
test rax, rax
je 0x14003de4d
mov qword [rbp + 0x2c], r12
mov dword [rbp + 0x34], r12d
mov dword [rbp + 0x4c], r12d
lea rdi, [rbp + 0x20]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rbp + 0x20], 1
mov dword [rbp + 0x28], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rbp + 0x24], eax
mov qword [rbp + 0x38], rdx
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], 0x40
xor edx, edx
lea rcx, [rbp + 0x20]
call qword [0x1400ea6d8]
xor edx, edx
mov r8d, 0xbf
lea rcx, [rbp + 0x420]
call fcn.140051830
movups xmm0, xmmword [rbp + 0x1f0]
movups xmmword [rbp + 0x3e0], xmm0
movups xmm1, xmmword [rbp + 0x200]
movups xmmword [rbp + 0x3f0], xmm1
movups xmm0, xmmword [rbp + 0x210]
movups xmmword [rbp + 0x400], xmm0
movups xmm1, xmmword [rbp + 0x220]
movups xmmword [rbp + 0x410], xmm1
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
lea rax, [rbp + 0x3e0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r12b
jne 0x14003ddf0
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x48]
call fcn.14004b1a0
or esi, 8
mov dword [rbp + 0x60], esi
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14003de4d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003de48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fb22
call fcn.14004dc4c
mov byte [rbp + 0x5f0], r12b
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0x780]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5f0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
mov rdx, qword [0x1400ea0d8]
add rdx, 0x780
mov byte [rbp + 0x5e0], r12b
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x60], rdx
lea rax, [rbp + 0x5e0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
movzx eax, byte [rbp + 0x5f0]
test al, al
jne 0x14003df61
test r13b, r13b
jne 0x14003df9f
cmp byte [rbp + 0x5e0], r12b
je 0x14003df9f
mov qword [rbp - 0x30], 0xff
mov dword [rbp - 0x28], r12d
mov qword [rsp + 0x78], 0xff
mov dword [rbp - 0x80], r12d
jmp 0x14003e062
cmp al, 1
jne 0x14003dfb5
test r13b, r13b
je 0x14003df96
cmp byte [rbp + 0x5e0], al
je 0x14003df9f
mov qword [rbp - 0x30], 0xff
mov dword [rbp - 0x28], 0xff
mov qword [rsp + 0x78], 0xff
mov dword [rbp - 0x80], 0xff
jmp 0x14003e062
cmp byte [rbp + 0x5e0], 1
jne 0x14003df72
mov qword [rbp - 0x2c], 0xff
mov qword [rsp + 0x7c], 0xff
jmp 0x14003e053
cmp al, 2
jne 0x14003e070
test r13b, r13b
je 0x14003dff8
cmp byte [rbp + 0x5e0], al
jne 0x14003e036
mov dword [rbp - 0x30], 0x19
mov dword [rbp - 0x2c], 0x9b
mov dword [rbp - 0x28], 0xff
mov dword [rsp + 0x78], 0x19
mov dword [rsp + 0x7c], 0x9b
mov dword [rbp - 0x80], 0xff
jmp 0x14003e062
cmp byte [rbp + 0x5e0], 2
jne 0x14003e036
mov dword [rbp - 0x30], 0x19
mov dword [rbp - 0x2c], 0x9b
mov dword [rbp - 0x28], 0xff
mov dword [rsp + 0x78], 0x19
mov dword [rsp + 0x7c], 0x9b
mov dword [rbp - 0x80], 0xff
mov dword [rbp - 0x7c], 0x78
jmp 0x14003e069
mov dword [rbp - 0x2c], 0x37
mov dword [rbp - 0x28], 0x37
mov dword [rsp + 0x7c], 0x37
mov dword [rbp - 0x80], 0x37
mov dword [rbp - 0x30], 0xff
mov dword [rsp + 0x78], 0xff
mov dword [rbp - 0x7c], 0xff
mov dword [rbp - 0x24], 0x78
movzx edi, byte [rbp + 0x5f8]
test dil, dil
je 0x14003e0ab
mov dword [rbp + 0x5c], 0xff
test r13b, r13b
je 0x14003e096
mov dword [rbp + 0x50], r12d
mov qword [rbp + 0x54], 0xff
jmp 0x14003e0ab
mov dword [rbp + 0x50], 0xff
mov dword [rbp + 0x54], 0xff
mov dword [rbp + 0x58], 0xff
lea rcx, [r14 + 0x7e0]
call fcn.14004a2e0
test rax, rax
je 0x14003e10f
lea rcx, [rax + 0x128]
call fcn.14004a3e0
test eax, eax
jne 0x14003e0d2
movaps xmm7, xmm15
jmp 0x14003e112
cmp eax, 1
jne 0x14003e0e1
movss xmm7, dword [0x1400b3664]
jmp 0x14003e112
cmp eax, 2
jne 0x14003e0f0
movss xmm7, dword [0x1400b3658]
jmp 0x14003e112
cmp eax, 3
jne 0x14003e0ff
movss xmm7, dword [0x1400b3644]
jmp 0x14003e112
cmp eax, 4
je 0x14003e10f
cmp eax, 5
jne 0x14003e10f
movaps xmm7, xmm15
jmp 0x14003e112
xorps xmm7, xmm7
mov r15, qword [rbp + 0xe0]
test r15, r15
jne 0x14003e12e
comiss xmm7, xmm14
jae 0x14003e12e
comiss xmm15, xmm7
jb 0x14003f7d5
mov r8d, 0x12
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x80], xmm1
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2b8], xmm0
mov r8d, 0xa
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x240], xmm0
mov r8d, 0x10
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2a0], xmm0
mov r8d, 0xc9
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2e8], xmm0
mov r8d, 0x96
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x300], xmm0
mov r8d, 0xca
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x318], xmm0
mov r8d, 0x97
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x330], xmm0
mov r8d, 0xd2
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x348], xmm0
mov r8d, 0x9f
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2d0], xmm0
mov r8d, 0x113
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x270], xmm0
mov r8d, 0xfb
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x258], xmm0
mov r8d, 0x114
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x288], xmm0
mov r8d, 0xfc
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xc0], xmm1
mov r8d, 0xfd
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1d0], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x1e0], xmm1
mov r8d, 0x115
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
mov r8d, 0xa
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm8, xmmword [rax]
movsd xmm9, qword [rax + 0x10]
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movups xmm0, xmm8
movaps xmmword [rbp + 0x20], xmm0
movaps xmm1, xmm9
movsd qword [rbp + 0x30], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.14003b620
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc8], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xd8], xmm1
movzx r15d, byte [rbp + 0x5e8]
cmp byte [0x1400ea0e3], 1
jne 0x14003e8ef
comisd xmm6, xmmword [0x1400b3560]
jb 0x14003e8ef
movaps xmmword [rbp + 0x20], xmm8
movsd qword [rbp + 0x30], xmm9
lea r9, [rbp - 0x30]
movzx r8d, r15b
movzx edx, dil
lea rcx, [rbp + 0x20]
call fcn.14003bff0
movsd xmm8, qword [rbp + 0x78]
movsd xmm9, qword [rbp + 0x70]
test r15b, r15b
je 0x14003e9cb
movsd xmm0, qword [0x1400b35d0]
comisd xmm0, xmm6
jb 0x14003edb6
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x390], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x398], rax
movabs rax, 0xfe5fce74152801b7
mov qword [rbp + 0x180], rax
movabs rax, 0xc22fa8fba0044846
mov qword [rbp + 0x188], rax
movdqa xmm0, xmmword [rbp + 0x390]
pxor xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x180], xmm0
movaps xmm2, xmm6
movq r8, xmm6
lea rdx, [rbp + 0x180]
mov rcx, rbx
call fcn.140014d30
movsd xmm0, qword [rbp + 0xd0]
subsd xmm0, qword [0x1400b35c0]
cvttsd2si edx, xmm0
movsd xmm1, qword [rbp + 0xc8]
movsd xmm10, qword [0x1400b3598]
addsd xmm1, xmm10
cvttsd2si ecx, xmm1
mov r9, rbx
lea r8, [0x1400e7670]
call fcn.140039f40
jmp 0x14003edbf
test dil, dil
je 0x14003ee59
movsd xmm0, qword [0x1400b35f0]
comisd xmm6, xmm0
jb 0x14003ea3d
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x3d0], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x3d8], rax
movabs rcx, 0xd06deb4e512210b2
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
movdqa xmm0, xmmword [rbp + 0x3d0]
pxor xmm0, xmmword [rbp + 0x190]
movdqa xmmword [rbp + 0x190], xmm0
lea rdx, [rbp + 0x190]
jmp 0x14003eaa6
comisd xmm0, xmm6
jb 0x14003eac2
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x3c0], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x3c8], rax
movabs rax, 0xfe5fce74192810b2
mov qword [rbp + 0x1a0], rax
movabs rax, 0xc22fa8fba0044846
mov qword [rbp + 0x1a8], rax
movdqa xmm0, xmmword [rbp + 0x3c0]
pxor xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x1a0], xmm0
lea rdx, [rbp + 0x1a0]
xorps xmm2, xmm2
movaps xmm3, xmm6
cvtss2sd xmm2, xmm7
movq r9, xmm6
movq r8, xmm2
mov rcx, rbx
call fcn.140014d30
cvttsd2si edx, qword [rbp + 0x2c0]
cvttsd2si ecx, qword [rbp + 0x2b8]
mov r9, rbx
lea r8, [0x1400e7550]
call fcn.140039f40
cvttsd2si r15d, qword [rbp + 0x2a8]
cvttsd2si r12d, qword [rbp + 0x2a0]
cvttsd2si r9d, xmm8
cvttsd2si r8d, xmm9
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0xd0]
cvttsd2si ecx, qword [rbp + 0xc8]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x2f0]
cvttsd2si ebx, qword [rbp + 0x2e8]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si esi, qword [rbp + 0x308]
cvttsd2si r14d, qword [rbp + 0x300]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, esi
mov ecx, r14d
call fcn.14003ab80
cvttsd2si r15d, qword [rbp + 0x320]
cvttsd2si r12d, qword [rbp + 0x318]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x338]
cvttsd2si ebx, qword [rbp + 0x330]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si r9d, qword [rbp + 0x350]
cvttsd2si r8d, qword [rbp + 0x348]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si r9d, qword [rbp + 0x2d8]
cvttsd2si r8d, qword [rbp + 0x2d0]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x248]
cvttsd2si ebx, qword [rbp + 0x240]
cvttsd2si esi, qword [rbp + 0x260]
cvttsd2si r14d, qword [rbp + 0x258]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, esi
mov ecx, r14d
call fcn.14003ab80
cvttsd2si r15d, qword [rbp + 0x278]
cvttsd2si r12d, qword [rbp + 0x270]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si r13d, qword [rbp + 0xb8]
cvttsd2si eax, qword [rbp + 0xb0]
mov dword [rsp + 0x28], 1
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x20], rcx
mov r9d, esi
mov r8d, r14d
mov edx, r13d
mov ecx, eax
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x290]
cvttsd2si ebx, qword [rbp + 0x288]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0x1d8]
cvttsd2si ecx, qword [rbp + 0x1d0]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp + 0xb0]
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0x108]
cvttsd2si ecx, qword [rbp + 0x100]
mov dword [rsp + 0x28], 1
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
call fcn.14003ab80
mov esi, dword [rbp + 0x60]
mov r14, qword [rbp + 0x118]
movzx r13d, byte [rsp + 0x40]
movzx r15d, byte [rbp + 0x5e8]
xor r12d, r12d
movsd xmm10, qword [0x1400b3598]
test r15b, r15b
jne 0x14003f7d5
test r13b, r13b
je 0x14003f4ac
mov eax, dword [0x1400ea604]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm3, xmm9
subsd xmm3, xmm0
mov eax, dword [0x1400ea600]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm2, xmm8
subsd xmm2, xmm0
mov eax, dword [0x1400ea140]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x80]
subsd xmm1, xmm0
mulsd xmm2, xmm2
mulsd xmm3, xmm3
addsd xmm2, xmm3
mulsd xmm1, xmm1
addsd xmm2, xmm1
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14003f476
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x14003f47e
movsd xmm0, qword [0x1400b3608]
comisd xmm6, xmm0
jb 0x14003eec5
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x3b0], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x3b8], rax
movabs rcx, 0xd06deb4e0c717ca8
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x1b8], rax
movdqa xmm0, xmmword [rbp + 0x3b0]
pxor xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp + 0x1b0], xmm0
lea rdx, [rbp + 0x1b0]
jmp 0x14003efa5
comisd xmm6, xmm10
jb 0x14003ef37
comisd xmm0, xmm6
jb 0x14003ef37
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x380], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x388], rax
movabs rax, 0xfe5fce6e0c717ca8
mov qword [rbp + 0x1c0], rax
movabs rax, 0xc22fa8fba0042546
mov qword [rbp + 0x1c8], rax
movdqa xmm0, xmmword [rbp + 0x380]
pxor xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp + 0x1c0], xmm0
lea rdx, [rbp + 0x1c0]
jmp 0x14003efa5
comisd xmm10, xmm6
jb 0x14003efc6
movabs rax, 0xd06deb4e512259f3
mov qword [rbp + 0x3a0], rax
movabs rax, 0xc22fa8fba0044820
mov qword [rbp + 0x3a8], rax
movabs rax, 0xfe5fce6e0c717ca8
mov qword [rbp + 0x170], rax
movabs rax, 0xc22fa8fba0042546
mov qword [rbp + 0x178], rax
movdqa xmm0, xmmword [rbp + 0x3a0]
pxor xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x170], xmm0
lea rdx, [rbp + 0x170]
xorps xmm3, xmm3
cvtss2sd xmm3, xmm7
movsd qword [rsp + 0x20], xmm6
movq r9, xmm3
lea r8, [rbp + 0x1f0]
mov rcx, rbx
call fcn.140014d30
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rbx + rax], r12b
jne 0x14003efd0
add eax, 4
imul eax, eax, 7
lea edi, [rax + 0xa]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm6, xmm9
subsd xmm6, xmm0
movss xmm1, dword [0x1400ea620]
cvtps2pd xmm1, xmm1
addsd xmm1, xmm8
subsd xmm1, qword [0x1400b35a8]
cvttsd2si edx, xmm1
movss xmm0, dword [0x1400ea624]
mulss xmm0, dword [0x1400b34f4]
cvtps2pd xmm1, xmm0
addsd xmm1, xmm6
subsd xmm1, qword [0x1400b3560]
cvttsd2si ecx, xmm1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 3
mov r8d, edi
call fcn.14003a8d0
movss xmm0, dword [0x1400ea620]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm8
subsd xmm0, qword [0x1400b35b8]
cvttsd2si edx, xmm0
movss xmm0, dword [0x1400ea624]
mulss xmm0, dword [0x1400b34f4]
cvtps2pd xmm1, xmm0
addsd xmm1, xmm6
subsd xmm1, qword [0x1400b3560]
cvttsd2si ecx, xmm1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x10
mov r8d, edi
call fcn.14003a8d0
movss xmm0, dword [0x1400ea620]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm8
subsd xmm0, qword [0x1400b35b0]
cvttsd2si edx, xmm0
movss xmm0, dword [0x1400ea624]
mulss xmm0, dword [0x1400b34f4]
cvtps2pd xmm1, xmm0
addsd xmm1, xmm6
movsd xmm10, qword [0x1400b3598]
addsd xmm1, xmm10
cvttsd2si ecx, xmm1
mov r9, rbx
lea r8, [0x1400e7550]
call fcn.14003a5b0
mov byte [rbp + 0x5e0], r12b
mov qword [rsp + 0x54], r12
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x74], r12d
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x50], 0xdeadbeef
mov eax, dword [0x1400ea6e4]
mov dword [rsp + 0x4c], eax
lea rax, [r14 + 0xc43]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x5e0]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 1
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [0x1400ea6d8]
cmp byte [rbp + 0x5e0], 1
jne 0x14003f18e
cvttsd2si edx, qword [rbp + 0x2c0]
cvttsd2si ecx, qword [rbp + 0x2b8]
lea r9, str.Protected
lea r8, [0x1400e7550]
call fcn.140039f40
cvttsd2si r15d, qword [rbp + 0x2a8]
cvttsd2si r12d, qword [rbp + 0x2a0]
cvttsd2si r9d, xmm8
cvttsd2si r8d, xmm9
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0xd0]
cvttsd2si ecx, qword [rbp + 0xc8]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x2f0]
cvttsd2si ebx, qword [rbp + 0x2e8]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si esi, qword [rbp + 0x308]
cvttsd2si r14d, qword [rbp + 0x300]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, esi
mov ecx, r14d
call fcn.14003ab80
cvttsd2si r15d, qword [rbp + 0x320]
cvttsd2si r12d, qword [rbp + 0x318]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x338]
cvttsd2si ebx, qword [rbp + 0x330]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si r9d, qword [rbp + 0x350]
cvttsd2si r8d, qword [rbp + 0x348]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si r9d, qword [rbp + 0x2d8]
cvttsd2si r8d, qword [rbp + 0x2d0]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x248]
cvttsd2si ebx, qword [rbp + 0x240]
cvttsd2si esi, qword [rbp + 0x260]
cvttsd2si r14d, qword [rbp + 0x258]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, esi
mov ecx, r14d
call fcn.14003ab80
cvttsd2si r15d, qword [rbp + 0x278]
cvttsd2si r12d, qword [rbp + 0x270]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.14003ab80
cvttsd2si r13d, qword [rbp + 0xb8]
cvttsd2si eax, qword [rbp + 0xb0]
mov dword [rsp + 0x28], 2
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x20], rcx
mov r9d, esi
mov r8d, r14d
mov edx, r13d
mov ecx, eax
call fcn.14003ab80
cvttsd2si edi, qword [rbp + 0x290]
cvttsd2si ebx, qword [rbp + 0x288]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8d, r12d
mov edx, edi
mov ecx, ebx
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0x1d8]
cvttsd2si ecx, qword [rbp + 0x1d0]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttsd2si r8d, qword [rbp + 0xb0]
call fcn.14003ab80
cvttsd2si edx, qword [rbp + 0x108]
cvttsd2si ecx, qword [rbp + 0x100]
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8d, ebx
call fcn.14003ab80
mov esi, dword [rbp + 0x60]
mov r14, qword [rbp + 0x118]
movzx r13d, byte [rsp + 0x40]
movzx r15d, byte [rbp + 0x5e8]
xor r12d, r12d
jmp 0x14003edbf
movaps xmm0, xmm3
call fcn.14007ea64
divss xmm0, xmm15
movss xmm1, dword [0x1400e7340]
comiss xmm1, xmm0
jbe 0x14003f4ac
movss xmm1, dword [rbp + 0x90]
comiss xmm1, xmm0
jbe 0x14003f4ac
movss dword [rbp + 0x90], xmm0
mov qword [rbp + 0x148], r14
movaps xmm0, xmm8
subsd xmm0, qword [rbp + 0xf0]
andps xmm0, xmmword [0x1400b3d50]
cvtsd2ss xmm0, xmm0
divss xmm0, dword [0x1400b364c]
cvttss2si r8d, xmm0
cvttsd2si edx, xmm8
cvttsd2si ecx, xmm9
mov dword [rsp + 0x20], 0x1e
lea r9, [0x1400e7390]
call fcn.14003aaa0
movsd xmm6, qword [rbp + 0x360]
cmp byte [0x1400ea01b], 1
jne 0x14003f532
mov eax, dword [0x1400ea604]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
cvttsd2si edx, xmm12
cvttsd2si ecx, xmm6
mov dword [rsp + 0x28], 1
lea rax, [0x1400e75a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.14003ab80
cmp byte [0x1400ea019], 1
jne 0x14003f597
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm11
movaps xmm4, xmm11
mulsd xmm4, qword [0x1400b3558]
xorps xmm3, xmm3
xorps xmm1, xmm1
lea rax, [rbp + 0xf0]
cvtsd2ss xmm3, xmm13
cvtsd2ss xmm1, xmm12
mov qword [rsp + 0x20], rax
test r13b, r13b
jne 0x14003f579
movaps xmm0, xmmword [0x1400b3d10]
jmp 0x14003f580
movaps xmm0, xmmword [0x1400b3b50]
movaps xmmword [rbp + 0xf0], xmm0
movaps xmm0, xmm6
subsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
call fcn.14003ad50
cmp byte [0x1400c0cd7], 1
jne 0x14003f7d5
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm13
movaps xmm0, xmm11
divsd xmm0, xmm10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm2, dword [0x1400b356c]
maxss xmm2, xmm1
movss xmm10, dword [0x1400b35cc]
minss xmm10, xmm2
cvttss2si r14d, xmm7
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm12
mulsd xmm11, qword [0x1400b3558]
subsd xmm6, xmm11
subsd xmm6, qword [0x1400b3580]
cvtpd2ps xmm11, xmm6
mov r10, qword [0x1400ea020]
mov eax, 0x64
cmp r14d, eax
cmovl eax, r14d
test eax, eax
jns 0x14003f61f
mov ecx, r12d
mov edi, r12d
jmp 0x14003f62f
imul ecx, eax, 0x1fe
mov edi, ecx
cmp ecx, 0x639c
jge 0x14003f644
mov eax, 0x51eb851f
imul ecx
mov ebx, edx
sar ebx, 5
mov eax, ebx
shr eax, 0x1f
add ebx, eax
jmp 0x14003f649
mov ebx, 0xff
mov ecx, 0xc738
sub ecx, edi
cmp ecx, 0x639c
jge 0x14003f66d
mov eax, 0x51eb851f
imul ecx
mov edi, edx
sar edi, 5
mov eax, edi
shr eax, 0x1f
add edi, eax
jmp 0x14003f672
mov edi, 0xff
movaps xmm0, xmmword [0x1400b3af0]
movups xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0xf0]
call fcn.140003140
movaps xmm7, xmm11
addss xmm7, xmm10
movaps xmm0, xmm7
addss xmm0, xmm14
movss dword [rbp + 0x120], xmm0
movaps xmm1, xmm9
addss xmm1, xmm8
addss xmm1, xmm14
movss dword [rbp + 0x124], xmm1
movaps xmm0, xmm11
subss xmm0, xmm14
movss dword [rbp + 0x150], xmm0
movaps xmm1, xmm9
subss xmm1, xmm14
movss dword [rbp + 0x154], xmm1
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], r12d
xorps xmm10, xmm10
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x150]
lea rcx, [r10 + 0x1cc8]
call fcn.14001f740
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400b34b4]
movss dword [rbp + 0xa0], xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1400b34b4]
movss dword [rbp + 0xa4], xmm1
mov dword [rbp + 0xa8], 0x3dc8c8ca
mov dword [rbp + 0xac], 0x3f800000
divss xmm8, xmm15
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mulss xmm8, xmm0
cvttss2si eax, xmm8
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, xmm9
mov rdi, qword [0x1400ea020]
lea rcx, [rbp + 0xa0]
call fcn.140003140
movss dword [rbp + 0x128], xmm7
movss dword [rbp + 0x12c], xmm6
movss dword [rbp + 0x130], xmm11
movss dword [rbp + 0x134], xmm9
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x130]
lea rcx, [rdi + 0x1cc8]
call fcn.14001f880
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14003db66
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f80f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fb10
call fcn.14004dc4c
jmp 0x14003db66
mov rdi, qword [rbp + 0x148]
test rdi, rdi
je 0x14003fab1
mov ecx, dword [0x1400e7344]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003f861
cmp byte [0x1400c0cf8], 1
jne 0x14003fab1
cmp byte [0x1400c0cd4], 1
jne 0x14003fab1
mov rcx, rdi
call fcn.14003baf0
jmp 0x14003fab1
cmp byte [0x1400c0cf8], 1
jne 0x14003fab1
cmp byte [0x1400c0cd4], 1
jne 0x14003fab1
cmp byte [0x1400c0cd5], 1
jne 0x14003f88e
movss xmm6, dword [0x1400b3640]
jmp 0x14003f896
movss xmm6, dword [0x1400b362c]
lea rcx, [rdi + 0x328]
call fcn.14004a2e0
mov rdi, rax
mov rcx, rax
call fcn.14003ba00
test al, al
je 0x14003fab1
cvttss2si r8d, xmm6
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.14003b180
movups xmm2, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movups xmm0, xmmword [0x1400ea040]
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [0x1400ea050]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [0x1400ea060]
movaps xmmword [rbp], xmm0
movsd xmm1, qword [0x1400ea070]
movsd qword [rbp + 0x10], xmm1
movsd qword [rbp + 0x70], xmm2
unpckhpd xmm2, xmm2
movsd qword [rbp + 0x78], xmm2
addsd xmm3, qword [0x1400b3580]
movsd qword [rbp + 0x80], xmm3
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.14003b3e0
movups xmm9, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x370], xmm0
xorps xmm1, xmm1
movaps xmm8, xmm9
unpckhpd xmm8, xmm9
ucomisd xmm9, xmm1
jp 0x14003f96f
jne 0x14003f96f
ucomisd xmm8, xmm1
jp 0x14003f96f
jne 0x14003f96f
movsd xmm0, qword [rbp + 0x370]
ucomisd xmm0, xmm1
jp 0x14003f96f
je 0x14003fab1
mov eax, dword [0x1400ea600]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
movd xmm7, eax
cvtdq2pd xmm7, xmm7
mov eax, dword [0x1400ea604]
cdq
sub eax, edx
sar eax, 1
mov esi, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm9
movsd xmm1, qword [0x1400b3570]
call fcn.140066e20
movaps xmm6, xmm0
subsd xmm7, xmm8
movsd xmm1, qword [0x1400b3570]
movaps xmm0, xmm7
call fcn.140066e20
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x14003f9d6
sqrtsd xmm0, xmm0
jmp 0x14003f9db
call fcn.14007e998
movss xmm1, dword [0x1400e7340]
mulss xmm1, dword [0x1400b3628]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
jb 0x14003fab1
mov rax, qword [0x1400ea020]
lea rdi, [rax + 0x1cc8]
movss xmm0, dword [0x1400e78d0]
movss xmm1, dword [0x1400e78d4]
movss xmm2, dword [0x1400e78d8]
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm1
movss dword [rbp + 0xa8], xmm2
movss xmm0, dword [rax + 0x1550]
movss dword [rbp + 0xac], xmm0
lea rcx, [rbp + 0xa0]
call fcn.140003140
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm9
movss dword [rbp + 0x5e0], xmm0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
movss dword [rbp + 0x5e4], xmm1
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x5e8], xmm0
movss dword [rbp + 0x5ec], xmm2
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x5e0]
lea rdx, [rbp + 0x5e8]
mov rcx, rdi
call fcn.14001f5c0
nop
lea rcx, [rbp + 0x158]
call fcn.1400489a0
lea r11, [rsp + 0x698]
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
call fcn.140062cd0
nop
call fcn.14004c4f0
nop
call fcn.140062cd0
nop
call fcn.140062cd0
int3