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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x998]
sub rsp, 0xa70
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140398010]
xor rax, rsp
mov qword [rbp + 0x8c0], rax
xor r12d, r12d
call fcn.1400051d8
mov rsi, rax
movss xmm7, dword [0x14039a7f8]
movaps xmm1, xmm7
movss xmm13, dword [0x14039152c]
mulss xmm1, xmm13
movss xmm6, dword [0x14039a7fc]
movaps xmm0, xmm6
mulss xmm0, xmm13
movss dword [rbp + 0x258], xmm0
movss dword [rbp + 0x25c], xmm1
lea ebx, [r12 + 0xf]
lea r13d, [r12 + 1]
lea r14d, [r12 + 2]
cmp byte [0x14039a782], r12b
je 0x14004e7d4
mov rbx, qword [0x14039aa28]
mov rdi, qword [0x14039aa30]
cmp rbx, rdi
je 0x14004e7cf
lea r15d, [r12 + 0xf]
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp + 0x7a0], xmm0
movabs rcx, 0x400000000002533
cmp qword [rbx], rcx
je 0x14004e7c2
and dword [rbp + 0x7b0], 0
and dword [rbp + 0x7b4], 0
and dword [rbp + 0x30], 0
and dword [rbp + 0x34], 0
and dword [rbp + 0x28], 0
and dword [rbp + 0x2c], 0
and dword [rbp + 0x20], 0
and dword [rbp + 0x24], 0
and dword [rbp + 0x10], 0
and dword [rbp + 0x14], 0
and dword [rbp + 0x18], 0
and dword [rbp + 0x1c], 0
and dword [rbp + 8], 0
and dword [rbp + 0xc], 0
and dword [rbp], 0
and dword [rbp + 4], 0
and dword [rbp + 0x7b8], 0
and dword [rbp + 0x7bc], 0
movss xmm9, dword [rbp + 0x7a0]
movss dword [rbp + 0xc0], xmm9
movss xmm8, dword [rbp + 0x7a4]
movaps xmm0, xmm8
addss xmm0, xmm13
movss dword [rbp + 0xc4], xmm0
movss xmm10, dword [rbx + 0x18]
movss dword [rbp + 0xc8], xmm10
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x7b8]
lea rdx, [rbp + 0xc0]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movaps xmm11, xmm9
subss xmm11, xmm13
movaps xmm12, xmm10
subss xmm12, xmm13
movss dword [rbp + 0xd0], xmm11
movss dword [rbp + 0xd4], xmm8
movss dword [rbp + 0xd8], xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x7b0]
lea rdx, [rbp + 0xd0]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movss dword [rbp + 0xe0], xmm11
movss dword [rbp + 0xe4], xmm8
movss dword [rbp + 0xe8], xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x7b0]
lea rdx, [rbp + 0xe0]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movaps xmm15, xmm10
addss xmm15, xmm13
movss dword [rbp + 0x50], xmm11
movss dword [rbp + 0x54], xmm8
movss dword [rbp + 0x58], xmm15
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x50]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movaps xmm14, xmm9
addss xmm14, xmm13
movss dword [rbp + 0x60], xmm14
movss dword [rbp + 0x64], xmm8
movss dword [rbp + 0x68], xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x60]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movss dword [rbp + 0x70], xmm14
movss dword [rbp + 0x74], xmm8
movss dword [rbp + 0x78], xmm15
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x70]
call fcn.14003eefc
test al, al
je 0x14004e7c2
movaps xmm13, xmm8
addss xmm13, dword [0x140391578]
movss dword [rbp + 0x80], xmm11
movss dword [rbp + 0x84], xmm13
movss dword [rbp + 0x88], xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x80]
call fcn.14003eefc
test al, al
je 0x14004e7b9
movss dword [rbp + 0x90], xmm11
movss dword [rbp + 0x94], xmm13
movss dword [rbp + 0x98], xmm15
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x90]
call fcn.14003eefc
test al, al
je 0x14004e7b9
movss dword [rbp + 0xa0], xmm14
movss dword [rbp + 0xa4], xmm13
movss dword [rbp + 0xa8], xmm12
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 8]
lea rdx, [rbp + 0xa0]
call fcn.14003eefc
test al, al
je 0x14004e7b9
movss dword [rbp + 0xb0], xmm14
movss dword [rbp + 0xb4], xmm13
movss dword [rbp + 0xb8], xmm15
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp]
lea rdx, [rbp + 0xb0]
call fcn.14003eefc
test al, al
je 0x14004e7b9
lea rdx, [rbp + 0x418]
call fcn.14003ee74
movss xmm7, dword [rax + 8]
lea rdx, [rbp + 0x560]
call fcn.14003ee74
movss xmm6, dword [rax + 4]
lea rdx, [rbp + 0x550]
call fcn.14003ee74
subss xmm10, xmm7
subss xmm8, xmm6
subss xmm9, dword [rax]
mulss xmm9, xmm9
mulss xmm8, xmm8
addss xmm9, xmm8
mulss xmm10, xmm10
addss xmm9, xmm10
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
mov rax, qword [0x140390d68]
mov qword [rbp + 0x810], rax
cmp byte [0x140390d6f], r12b
je 0x14004e2bf
mov r8d, r12d
lea r9, [rbp + 0x810]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 8
jl 0x14004e298
mov rax, qword [0x14039a710]
mov dword [rbp + 0x308], 0x3f800000
and dword [rbp + 0x30c], 0
mov dword [rbp + 0x310], 0x3e4ccccd
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x314], xmm0
lea rcx, [rbp + 0x308]
call fcn.140003450
movss xmm7, dword [rbp + 0x7bc]
movaps xmm5, xmm7
subss xmm5, dword [0x14039168c]
movss xmm6, dword [rbp + 0x7b8]
subss xmm6, dword [0x140391670]
movss dword [rbp + 0x40], xmm6
movss dword [rbp + 0x44], xmm5
movss xmm3, dword [0x1403916a8]
lea r8, [rbp + 0x810]
mov edx, eax
lea rcx, [rbp + 0x40]
call fcn.140040128
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004e387
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, r14d
jl 0x14004e361
cvttss2si edx, xmm8
lea rcx, [rbp + 0x7c0]
call fcn.14003e940
mov r10, rax
movsd xmm0, qword [str.cshh]
movsd qword [rbp + 0x7e0], xmm0
mov cl, byte [0x1403911f8]
mov byte [rbp + 0x7e8], cl
mov r8d, r12d
lea r9, [rbp + 0x7e0]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 9
jl 0x14004e3c1
lea rax, [rbp + 0x7e0]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r12b
jne 0x14004e3f3
lea r8, [rbp + 0x7e0]
mov rcx, r10
call fcn.140069108
xorps xmm0, xmm0
movups xmmword [rbp + 0x7f0], xmm0
mov qword [rbp + 0x800], r12
mov qword [rbp + 0x808], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x7f0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x800], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r15
mov byte [rax], r12b
lea rax, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14004e44c
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x7f0]
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r15
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
mov rax, qword [0x14039a710]
mov dword [rbp + 0x318], 0x3f800000
and dword [rbp + 0x31c], 0
mov dword [rbp + 0x320], 0x3e4ccccd
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x324], xmm0
lea rcx, [rbp + 0x318]
call fcn.140003450
addss xmm7, dword [0x14039168c]
movss dword [rbp + 0x38], xmm6
movss dword [rbp + 0x3c], xmm7
movss xmm3, dword [0x1403916a8]
mov edx, eax
lea rcx, [rbp + 0x38]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004e55a
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e555
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e90d
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r15
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x808]
cmp rdx, 0x10
jb 0x14004e5b0
inc rdx
mov rcx, qword [rbp + 0x7f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e5ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e914
call fcn.14006ab70
mov qword [rbp + 0x800], r12
mov qword [rbp + 0x808], r15
mov byte [rbp + 0x7f0], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004e606
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e601
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e91b
call fcn.14006ab70
mov dword [rsp + 0x54], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x54]
movsd xmm13, qword [rbp + 0x30]
movq rdx, xmm13
movsd xmm10, qword [rbp + 0x7b0]
movq rcx, xmm10
call fcn.140040bb4
mov dword [rsp + 0x58], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x58]
movsd xmm12, qword [rbp + 0x28]
movq rdx, xmm12
movq rcx, xmm10
call fcn.140040bb4
mov dword [rsp + 0x5c], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x5c]
movsd xmm11, qword [rbp + 0x20]
movq rdx, xmm11
movq rcx, xmm13
call fcn.140040bb4
mov dword [rsp + 0x60], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x60]
movq rdx, xmm11
movq rcx, xmm12
call fcn.140040bb4
mov dword [rsp + 0x64], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x64]
movsd xmm9, qword [rbp + 0x18]
movq rdx, xmm9
movsd xmm6, qword [rbp + 0x10]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rsp + 0x68], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x68]
movsd xmm8, qword [rbp + 8]
movq rdx, xmm8
movq rcx, xmm6
call fcn.140040bb4
mov dword [rsp + 0x6c], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x6c]
movsd xmm7, qword [rbp]
movq rdx, xmm7
movq rcx, xmm9
call fcn.140040bb4
mov dword [rsp + 0x70], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x70]
movq rdx, xmm7
movq rcx, xmm8
call fcn.140040bb4
mov dword [rsp + 0x74], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x74]
movq rdx, xmm6
movq rcx, xmm10
call fcn.140040bb4
mov dword [rsp + 0x78], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x78]
movq rdx, xmm9
movq rcx, xmm13
call fcn.140040bb4
mov dword [rsp + 0x7c], 0xff996664
mov r9d, r14d
mov r8d, dword [rsp + 0x7c]
movq rdx, xmm8
movq rcx, xmm12
call fcn.140040bb4
mov dword [rbp - 0x80], 0xff996664
mov r9d, r14d
mov r8d, dword [rbp - 0x80]
movq rdx, xmm7
movq rcx, xmm11
call fcn.140040bb4
movss xmm7, dword [0x14039a7f8]
movss xmm6, dword [0x14039a7fc]
movss xmm13, dword [0x14039152c]
add rbx, 0x1c
cmp rbx, rdi
jne 0x14004defe
mov ebx, 0xf
mov r8b, byte [0x14039a75c]
cmp byte [0x14039a7ae], r12b
jne 0x14004e82c
cmp byte [0x14039a784], r12b
jne 0x14004e82c
test r8b, r8b
jne 0x14004e82c
cmp byte [0x14039a74f], r12b
jne 0x14004e82c
cmp byte [0x14039a777], r12b
jne 0x14004e82c
cmp byte [0x14039a7b8], r12b
jne 0x14004e82c
cmp byte [0x14039a796], r12b
jne 0x14004e82c
cmp byte [0x140398073], r12b
jne 0x14004e82c
cmp byte [0x1403980ca], r12b
je 0x140051ccb
mov r14, qword [0x14039aa50]
mov rdi, qword [0x14039aa48]
mov rcx, r14
sub rcx, rdi
movabs rax, 0x6c80d901b2036407
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140051cc1
mov r15d, r12d
cmp rdi, r14
je 0x140051cc1
movss xmm12, dword [0x140391724]
movss xmm14, dword [0x1403915f8]
xorps xmm8, xmm8
movss xmm11, dword [0x140391734]
mov rdx, rdi
lea rcx, [rbp + 0x660]
call fcn.14004c778
nop
cmp byte [0x14039a796], r12b
je 0x14004ef8e
test r15d, r15d
jne 0x14004ea89
movss xmm1, dword [0x14039a7f8]
subss xmm1, xmm11
movss xmm0, dword [0x14039a7fc]
subss xmm0, xmm12
movss dword [rbp + 0x278], xmm0
movss dword [rbp + 0x27c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, 0x78000000
movaps xmm2, xmm12
lea rdx, [rbp + 0x278]
mov rcx, rsi
call fcn.14001f7dc
cmp byte [0x14039a7aa], r12b
je 0x14004e922
movss xmm0, dword [0x140398080]
jmp 0x14004e960
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rax, qword [0x14039aa40]
mov rdx, qword [rax + 0x21]
add rdx, 0x37fe348
and dword [rsp + 0x50], 0
mov r9d, 4
lea r8, [rsp + 0x50]
mov rcx, qword [0x14039a7c0]
call fcn.14006a854
test eax, eax
jne 0x14004e95a
movaps xmm0, xmm8
jmp 0x14004e960
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm13
mulss xmm0, dword [0x1403914c8]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
mulss xmm6, xmm12
movaps xmm1, xmm6
mulss xmm1, xmm6
movss xmm0, dword [0x140391774]
subss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
mov dword [rbp - 0x80], 0xff6699ff
movss xmm4, dword [0x14039a7f8]
subss xmm4, xmm11
movaps xmm2, xmm4
subss xmm2, xmm6
movss xmm3, dword [0x14039a7fc]
subss xmm3, xmm12
movaps xmm0, xmm3
subss xmm0, xmm7
mov r9d, 2
mov r8d, dword [rbp - 0x80]
unpcklps xmm0, xmm2
movq rdx, xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm4
movq rcx, xmm1
call fcn.140040bb4
mov dword [rsp + 0x7c], 0xff6699ff
movss xmm3, dword [0x14039a7f8]
subss xmm3, xmm11
movaps xmm1, xmm3
subss xmm1, xmm6
movss xmm2, dword [0x14039a7fc]
subss xmm2, xmm12
addss xmm7, xmm2
mov r9d, 2
mov r8d, dword [rsp + 0x7c]
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movq rdx, xmm0
movaps xmm1, xmm2
unpcklps xmm1, xmm3
movq rcx, xmm1
call fcn.140040bb4
mov dword [rsp + 0x78], 0xffff78
movss xmm3, dword [0x14039a7f8]
subss xmm3, xmm11
movaps xmm1, xmm3
subss xmm1, xmm12
movss xmm2, dword [0x14039a7fc]
subss xmm2, xmm12
mov r9d, r13d
mov r8d, dword [rsp + 0x78]
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq rdx, xmm0
movaps xmm1, xmm2
unpcklps xmm1, xmm3
movq rcx, xmm1
call fcn.140040bb4
mov r15d, r13d
mov rax, qword [0x140399eb0]
cmp qword [rbp + 0x660], rax
jne 0x14004eaf7
movss xmm1, dword [0x14039a7f8]
subss xmm1, xmm11
movss xmm0, dword [0x14039a7fc]
subss xmm0, xmm12
movss dword [rbp + 0x280], xmm0
movss dword [rbp + 0x284], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, 0xff33ffff
movss xmm2, dword [0x140391668]
lea rdx, [rbp + 0x280]
mov rcx, rsi
call fcn.14001f7dc
nop
lea rcx, [rbp + 0x660]
call fcn.140043a80
jmp 0x140051c42
xorps xmm15, xmm15
ucomiss xmm15, dword [rbp + 0x76a]
jp 0x14004eb23
jne 0x14004eb23
ucomiss xmm15, dword [rbp + 0x76e]
jp 0x14004eb23
jne 0x14004eb23
ucomiss xmm15, dword [rbp + 0x772]
jp 0x14004eb23
je 0x14004ef92
movss xmm0, dword [rbp + 0x70a]
comiss xmm0, xmm15
jbe 0x14004ef92
movss xmm0, dword [0x140399fae]
call fcn.14003ecec
xor ecx, ecx
call fcn.14003ea0c
movaps xmm11, xmm3
movaps xmm15, xmm2
movaps xmm8, xmm1
movaps xmmword [rbp + 0x810], xmm1
movaps xmm9, xmm0
movaps xmmword [rbp + 0x790], xmm0
lea rdx, [rbp + 0x650]
call fcn.14003ee74
movss xmm7, dword [rbp + 0x746]
subss xmm7, dword [rax]
lea rdx, [rbp + 0x5b0]
call fcn.14003ee74
movss xmm6, dword [rbp + 0x74a]
subss xmm6, dword [rax + 4]
lea rdx, [rbp + 0x5bc]
call fcn.14003ee74
movss xmm4, dword [rbp + 0x74e]
subss xmm4, dword [rax + 8]
cvtps2pd xmm0, xmm7
mulsd xmm0, qword [0x140391608]
cvtpd2ps xmm3, xmm0
cvtps2pd xmm1, xmm6
mulsd xmm1, qword [0x140391608]
cvtpd2ps xmm2, xmm1
cvtps2pd xmm0, xmm4
mulsd xmm0, qword [0x140391608]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x5a8], xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm2
xorps xmm6, xmm6
movsd xmm6, xmm1
movss xmm0, dword [rbp + 0x5a8]
movlhps xmm6, xmm0
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xaa
mulps xmm1, xmm15
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
mulps xmm0, xmm8
addps xmm1, xmm11
addps xmm1, xmm0
shufps xmm6, xmm6, 0
mulps xmm6, xmm9
addps xmm6, xmm1
movsd qword [rbp + 0x550], xmm6
shufps xmm6, xmm6, 0xaa
movss xmm7, dword [rbp + 0x550]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm12
jbe 0x14004ec69
divss xmm7, xmm0
mulss xmm7, xmm12
divss xmm6, xmm0
mulss xmm6, xmm12
movss xmm10, dword [0x14039a7f8]
subss xmm10, dword [0x140391734]
subss xmm10, xmm6
movss xmm9, dword [0x14039a7fc]
subss xmm9, xmm12
subss xmm9, xmm7
movss dword [rbp + 0x40], xmm9
movss dword [rbp + 0x44], xmm10
and dword [rbp + 0xf0], 0
and dword [rbp + 0xf4], 0
and dword [rbp + 0xf8], 0
and dword [rbp + 0x388], 0
and dword [rbp + 0x38c], 0
and dword [rbp + 0x390], 0
and dword [rbp + 0x3a8], 0
and dword [rbp + 0x3ac], 0
and dword [rbp + 0x3b0], 0
and dword [rbp + 0x398], 0
and dword [rbp + 0x39c], 0
and dword [rbp + 0x3a0], 0
and dword [rbp + 0x3b8], 0
and dword [rbp + 0x3bc], 0
and dword [rbp + 0x3c0], 0
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x398]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3a8]
lea r8, [rbp + 0x388]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x660]
call fcn.140042878
movss xmm8, dword [rbp + 0xf0]
subss xmm8, dword [rbp + 0x746]
lea rdx, [rbp + 0x5c8]
call fcn.14003ee74
mulss xmm8, dword [0x140391668]
addss xmm8, dword [rbp + 0xf0]
subss xmm8, dword [rax]
lea rdx, [rbp + 0x5d4]
call fcn.14003ee74
movss xmm7, dword [rbp + 0xf4]
subss xmm7, dword [rax + 4]
movss xmm6, dword [rbp + 0xf8]
subss xmm6, dword [rbp + 0x74e]
mulss xmm6, dword [0x140391668]
addss xmm6, dword [rbp + 0xf8]
lea rdx, [rbp + 0x5e0]
call fcn.14003ee74
subss xmm6, dword [rax + 8]
cvtps2pd xmm0, xmm8
movsd xmm4, qword [0x140391608]
mulsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm4
cvtpd2ps xmm2, xmm1
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x568], xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm2
xorps xmm2, xmm2
movsd xmm2, xmm1
movss xmm0, dword [rbp + 0x568]
movlhps xmm2, xmm0
movaps xmm6, xmm2
shufps xmm6, xmm2, 0xaa
mulps xmm6, xmm15
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
mulps xmm0, xmmword [rbp + 0x810]
addps xmm6, xmm11
addps xmm6, xmm0
shufps xmm2, xmm2, 0
mulps xmm2, xmmword [rbp + 0x790]
addps xmm6, xmm2
movsd qword [rbp + 0x418], xmm6
shufps xmm6, xmm6, 0xaa
movss xmm7, dword [rbp + 0x418]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x140391720]
comiss xmm0, xmm1
jbe 0x14004ee80
divss xmm7, xmm0
mulss xmm7, xmm1
divss xmm6, xmm0
mulss xmm6, xmm1
movss xmm8, dword [0x14039a7f8]
movss xmm11, dword [0x140391734]
subss xmm8, xmm11
subss xmm8, xmm6
movss xmm6, dword [0x14039a7fc]
subss xmm6, xmm12
subss xmm6, xmm7
mov al, byte [rbp + 0x731]
neg al
sbb r9d, r9d
and r9d, 0xff9a0033
add r9d, 0xff9900cc
mov dword [rsp + 0x20], r12d
movss xmm2, dword [0x140391640]
lea rdx, [rbp + 0x40]
mov rcx, rsi
cmp byte [rbp + 0x732], r12b
jne 0x14004eef3
mov r9d, 0xffffff66
call fcn.14001f7dc
jmp 0x14004ef8e
call fcn.14001f7dc
mov dword [rsp + 0x74], 0xffff
mov r9d, 2
mov r8d, dword [rsp + 0x74]
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq rdx, xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm8
movq rcx, xmm1
call fcn.140040bb4
cmp byte [0x14039a788], r12b
je 0x14004ef8e
movss xmm2, dword [0x14039a7f8]
movss xmm1, dword [0x14039a7fc]
mov r9d, r13d
movaps xmm0, xmm9
subss xmm2, xmm11
subss xmm1, xmm12
unpcklps xmm0, xmm10
movq rdx, xmm0
unpcklps xmm1, xmm2
movq rcx, xmm1
cmp byte [rbp + 0x731], r12b
je 0x14004ef7c
mov dword [rsp + 0x70], 0xffdaa096
mov r8d, dword [rsp + 0x70]
jmp 0x14004ef89
mov dword [rsp + 0x6c], 0x6666cc96
mov r8d, dword [rsp + 0x6c]
call fcn.140040bb4
xorps xmm15, xmm15
cmp byte [0x14039a7ae], r12b
je 0x14004ffad
cmp byte [rbp + 0x730], r12b
je 0x14004ffad
cmp byte [rbp + 0x732], r12b
je 0x14004ffad
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x14004ffad
movss xmm9, dword [rbp + 0x746]
movss xmm8, dword [rbp + 0x74a]
movss xmm10, dword [rbp + 0x74e]
lea rdx, [rbp + 0x5ec]
call fcn.14003ee74
movss xmm7, dword [rax + 8]
lea rdx, [rbp + 0x318]
call fcn.14003ee74
movss xmm6, dword [rax + 4]
lea rdx, [rbp + 0x308]
call fcn.14003ee74
movaps xmm2, xmm10
subss xmm2, xmm7
movaps xmm1, xmm8
subss xmm1, xmm6
movaps xmm0, xmm9
subss xmm0, dword [rax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
mulss xmm2, xmm2
addss xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss dword [rbp - 4], xmm0
and dword [rbp + 0x1d0], 0
and dword [rbp + 0x1d4], 0
and dword [rbp + 0x1d8], 0
and dword [rbp + 0x1dc], 0
movss xmm3, dword [0x14039a7f8]
movaps xmm2, xmm8
subss xmm2, dword [0x1403915b8]
movaps xmm1, xmm9
unpcklps xmm1, xmm2
movsd qword [rbp + 0x580], xmm1
movss dword [rbp + 0x588], xmm10
movss xmm0, dword [0x14039a7fc]
unpcklps xmm0, xmm3
movq r9, xmm0
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x580]
call fcn.14003eefc
test al, al
je 0x140051c32
movss xmm1, dword [0x14039a7f8]
addss xmm8, dword [0x140391578]
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rbp + 0x590], xmm0
movss dword [rbp + 0x598], xmm10
movss xmm0, dword [0x14039a7fc]
unpcklps xmm0, xmm1
movq r9, xmm0
lea r8, [rbp + 0x1d8]
lea rdx, [rbp + 0x590]
call fcn.14003eefc
test al, al
je 0x140051c32
movss xmm10, dword [rbp + 0x1d4]
movaps xmm1, xmm10
movss xmm11, dword [rbp + 0x1dc]
subss xmm1, xmm11
andps xmm1, xmmword [0x1403919d0]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x1403915e8]
cvtpd2ps xmm8, xmm0
mulss xmm1, xmm13
mulss xmm1, xmm13
movss xmm0, dword [0x1403916a8]
maxss xmm0, xmm1
movss xmm6, dword [0x1403916b8]
minss xmm6, xmm0
movss xmm7, dword [rbp + 0x1d0]
cmp byte [0x140398072], r12b
je 0x14004f3b1
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004f1bf
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 2
jl 0x14004f198
mov eax, dword [str.cp]
mov dword [rbp + 0x7b0], eax
movzx eax, word [0x140390d8c]
mov word [rbp + 0x7b4], ax
mov al, byte [0x140390d8e]
mov byte [rbp + 0x7b6], al
mov r8d, r12d
lea r9, [rbp + 0x7b0]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 7
jl 0x14004f1ef
lea r8, [rbp + 0x6ea]
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x7c0]
call fcn.14006879c
nop
lea rcx, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], r12b
jne 0x14004f23a
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
mov rax, qword [0x14039a710]
and dword [rbp + 0x3d8], 0
mov dword [rbp + 0x3dc], 0x3f666666
mov dword [rbp + 0x3e0], 0x3f800000
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x3e4], xmm0
lea rcx, [rbp + 0x3d8]
call fcn.140003450
movaps xmm5, xmm11
subss xmm5, xmm6
movaps xmm1, xmm8
divss xmm1, dword [0x140391674]
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [rbp + 0x288], xmm0
movss dword [rbp + 0x28c], xmm5
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x288]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004f35b
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f356
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c58
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], rbx
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004f3b1
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f3ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c5f
call fcn.14006ab70
movss xmm9, dword [rbp + 0x1d8]
cmp byte [0x140398070], r12b
je 0x14004f40b
cvttss2si eax, dword [rbp + 0x70e]
cvttss2si ecx, dword [rbp + 0x70a]
movss xmm0, dword [rbp + 0x736]
mulss xmm0, dword [0x14039159c]
cvttss2si r8d, xmm0
movaps xmm1, xmm11
subss xmm1, dword [0x1403916c8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r9d, 0x7d
movaps xmm0, xmm9
call fcn.14003f388
cmp byte [0x14039a75d], r12b
je 0x14004f6fb
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004f45c
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 2
jl 0x14004f435
cvttss2si edx, dword [rbp + 0x70a]
lea rcx, [rbp + 0x7c0]
call fcn.14003e940
mov r10, rax
mov ecx, dword [0x140390c0c]
mov dword [rbp + 0x7b8], ecx
movzx ecx, word [0x140390c10]
mov word [rbp + 0x7bc], cx
mov cl, byte [0x140390c12]
mov byte [rbp + 0x7be], cl
mov r8d, r12d
lea r9, [rbp + 0x7b8]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 7
jl 0x14004f4a3
lea rax, [rbp + 0x7b8]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r12b
jne 0x14004f4d5
lea r8, [rbp + 0x7b8]
mov rcx, r10
call fcn.140069108
xorps xmm0, xmm0
movups xmmword [rbp + 0x810], xmm0
mov qword [rbp + 0x820], r12
mov qword [rbp + 0x828], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x810], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x820], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea rax, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14004f52e
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x810]
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
mov rax, qword [0x14039a710]
mov dword [rbp + 0x3e8], 0x3f666666
mov dword [rbp + 0x3ec], 0x3f666666
mov dword [rbp + 0x3f0], 0x3f800000
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x3f4], xmm0
lea rcx, [rbp + 0x3e8]
call fcn.140003450
movaps xmm5, xmm8
divss xmm5, dword [0x140391674]
movaps xmm0, xmm7
subss xmm0, xmm5
movss dword [rbp + 0x290], xmm0
movss dword [rbp + 0x294], xmm10
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x290]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004f64f
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f64a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c66
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], rbx
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x828]
cmp rdx, 0x10
jb 0x14004f6a5
inc rdx
mov rcx, qword [rbp + 0x810]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f6a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c6d
call fcn.14006ab70
mov qword [rbp + 0x820], r12
mov qword [rbp + 0x828], rbx
mov byte [rbp + 0x810], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004f6fb
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f6f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c74
call fcn.14006ab70
cmp byte [0x140398071], r12b
je 0x14004f9e8
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004f74c
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 2
jl 0x14004f725
cvttss2si edx, dword [rbp + 0x736]
lea rcx, [rbp + 0x850]
call fcn.14003e940
mov r10, rax
mov rcx, qword [str.clvo]
mov qword [rbp + 0x810], rcx
cmp byte [str._VZE], r12b
je 0x14004f7ab
mov r8d, r12d
lea r9, [rbp + 0x810]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 8
jl 0x14004f784
lea rax, [rbp + 0x810]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r12b
jne 0x14004f7b6
lea r8, [rbp + 0x810]
mov rcx, r10
call fcn.140069108
xorps xmm0, xmm0
movups xmmword [rbp + 0x7c0], xmm0
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x7c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7d0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea rax, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14004f80f
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x7c0]
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
mov rax, qword [0x14039a710]
mov dword [rbp + 0x3c8], 0x3f666666
mov dword [rbp + 0x3cc], 0x3f666666
mov dword [rbp + 0x3d0], 0x3f800000
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x3d4], xmm0
lea rcx, [rbp + 0x3c8]
call fcn.140003450
movaps xmm5, xmm6
addss xmm5, xmm10
movaps xmm0, xmm8
movss xmm10, dword [0x140391674]
divss xmm0, xmm10
subss xmm7, xmm0
movss dword [rbp + 0x2b8], xmm7
movss dword [rbp + 0x2bc], xmm5
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x2b8]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004f93a
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f935
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c7b
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], rbx
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004f990
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f98b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c82
call fcn.14006ab70
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], rbx
mov byte [rbp + 0x7c0], r12b
mov rdx, qword [rbp + 0x868]
cmp rdx, 0x10
jb 0x14004f9f1
inc rdx
mov rcx, qword [rbp + 0x850]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f9e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c89
call fcn.14006ab70
jmp 0x14004f9f1
movss xmm10, dword [0x140391674]
cmp byte [0x14039a794], r12b
je 0x14004fcd2
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004fa42
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 2
jl 0x14004fa1b
cvttss2si edx, dword [rbp - 4]
lea rcx, [rbp + 0x850]
call fcn.14003e940
mov r10, rax
movsd xmm0, qword [str.cshh]
movsd qword [rbp + 0x830], xmm0
mov cl, byte [0x1403911f8]
mov byte [rbp + 0x838], cl
mov r8d, r12d
lea r9, [rbp + 0x830]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 9
jl 0x14004fa7c
lea rax, [rbp + 0x830]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r12b
jne 0x14004faae
lea r8, [rbp + 0x830]
mov rcx, r10
call fcn.140069108
xorps xmm0, xmm0
movups xmmword [rbp + 0x7c0], xmm0
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x7c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7d0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea rax, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14004fb07
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x7c0]
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
mov rax, qword [0x14039a710]
mov dword [rbp + 0x3f8], 0x3f666666
mov dword [rbp + 0x3fc], 0x3f666666
mov dword [rbp + 0x400], 0x3f800000
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x404], xmm0
lea rcx, [rbp + 0x3f8]
call fcn.140003450
movaps xmm5, xmm8
divss xmm5, xmm10
movaps xmm0, xmm9
subss xmm0, xmm5
movss dword [rbp + 0x270], xmm0
movss dword [rbp + 0x274], xmm11
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x270]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004fc26
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fc21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c90
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], rbx
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004fc7c
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fc77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c97
call fcn.14006ab70
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], rbx
mov byte [rbp + 0x7c0], r12b
mov rdx, qword [rbp + 0x868]
cmp rdx, 0x10
jb 0x14004fcd2
inc rdx
mov rcx, qword [rbp + 0x850]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fccd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051c9e
call fcn.14006ab70
cmp byte [0x14039a7ac], r12b
je 0x14004ffad
movzx eax, word [0x140390be4]
mov word [rsp + 0x50], ax
cmp byte [0x140390be5], r12b
je 0x14004fd23
mov r8d, r12d
lea r9, [rsp + 0x50]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 2
jl 0x14004fcfc
mov r8, qword [rbp + 0x668]
mov rdx, qword [rbp + 0x6d0]
lea rcx, [rbp + 0x850]
call fcn.140043ddc
mov r10, rax
movsd xmm0, qword [0x140391308]
movsd qword [rbp + 0x840], xmm0
mov cl, byte [0x140391310]
mov byte [rbp + 0x848], cl
mov r8d, r12d
lea r9, [rbp + 0x840]
mov eax, 0x4ec4ec4f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
add r8d, r13d
add r9, r13
cmp r8d, 9
jl 0x14004fd66
lea rax, [rbp + 0x840]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r12b
jne 0x14004fd98
lea r8, [rbp + 0x840]
mov rcx, r10
call fcn.140069108
xorps xmm0, xmm0
movups xmmword [rbp + 0x7c0], xmm0
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x7c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7d0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea rax, [rsp + 0x50]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14004fdf1
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x7c0]
call fcn.140067c4c
xorps xmm0, xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x7a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbx
mov byte [rax], r12b
lea r8, [rbp + 0x790]
cmp qword [rbp + 0x7a8], 0x10
cmovae r8, qword [rbp + 0x790]
movaps xmm0, xmmword [0x140391940]
mov rax, qword [0x14039a710]
movups xmmword [rbp + 0x810], xmm0
movss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x81c], xmm0
lea rcx, [rbp + 0x810]
call fcn.140003450
movaps xmm5, xmm6
addss xmm5, xmm11
divss xmm8, xmm10
subss xmm9, xmm8
movss dword [rbp + 0x268], xmm9
movss dword [rbp + 0x26c], xmm5
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x268]
call fcn.140040128
nop
mov rdx, qword [rbp + 0x7a8]
cmp rdx, 0x10
jb 0x14004ff01
inc rdx
mov rcx, qword [rbp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fefc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051ca5
call fcn.14006ab70
mov qword [rbp + 0x7a0], r12
mov qword [rbp + 0x7a8], rbx
mov byte [rbp + 0x790], r12b
mov rdx, qword [rbp + 0x7d8]
cmp rdx, 0x10
jb 0x14004ff57
inc rdx
mov rcx, qword [rbp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ff52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051cac
call fcn.14006ab70
mov qword [rbp + 0x7d0], r12
mov qword [rbp + 0x7d8], rbx
mov byte [rbp + 0x7c0], r12b
mov rdx, qword [rbp + 0x868]
cmp rdx, 0x10
jb 0x14004ffad
inc rdx
mov rcx, qword [rbp + 0x850]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ffa8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051cb3
call fcn.14006ab70
cmp byte [0x14039a784], r12b
je 0x140050ade
cmp byte [rbp + 0x730], r12b
je 0x140050ade
cmp byte [rbp + 0x732], r12b
je 0x140050ade
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x140050ade
cmp qword [rbp + 0x6d0], 0x16dd
je 0x140050ade
lea rdx, [rbp + 0x870]
lea rcx, [rbp + 0x660]
call fcn.14004300c
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x600], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x610], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x620], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x630], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x640], xmm0
lea r8, [rbp + 0x600]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x660]
call fcn.140043384
mov al, byte [rbp + 0x731]
neg al
sbb ebx, ebx
and ebx, 0xff01ff00
add ebx, 0xffff0000
cmp byte [rbp + 0x100], r12b
jne 0x140050ade
movsd xmm0, qword [rbp + 0x746]
movsd qword [rbp + 0x570], xmm0
mov eax, dword [rbp + 0x74e]
mov dword [rbp + 0x578], eax
movss xmm0, dword [0x14039a7f8]
movss xmm1, dword [0x14039a7fc]
unpcklps xmm1, xmm0
movq r9, xmm1
lea r8, [rbp + 0x810]
lea rdx, [rbp + 0x570]
call fcn.14003eefc
test al, al
je 0x140050ade
movabs rax, 0xfd1ffffffffffcc9
mov rcx, qword [rbp + 0x6d0]
add rax, rcx
cmp rax, 0x23
ja 0x1400500fc
movabs rdx, 0x800000021
bt rdx, rax
jb 0x1400508d6
movabs rax, 0x2e000000000016c
cmp rcx, rax
je 0x1400508d6
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x129]
lea rcx, [rbp + 0x121]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x131]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x139]
lea rcx, [rbp + 0x131]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x141]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x151]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x161]
lea rcx, [rbp + 0x141]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x171]
lea rcx, [rbp + 0x151]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x169]
lea rcx, [rbp + 0x161]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x179]
lea rcx, [rbp + 0x171]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x181]
lea rcx, [rbp + 0x139]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x191]
lea rcx, [rbp + 0x139]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x189]
lea rcx, [rbp + 0x181]
call fcn.140040350
movss xmm3, dword [0x140391668]
mov r8d, 0xff000000
lea rdx, [rbp + 0x199]
lea rcx, [rbp + 0x191]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x1a1]
lea rcx, [rbp + 0x199]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x1a9]
lea rcx, [rbp + 0x189]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x1b1]
lea rcx, [rbp + 0x1a1]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x1b9]
lea rcx, [rbp + 0x1a9]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x129]
lea rcx, [rbp + 0x121]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x131]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x139]
lea rcx, [rbp + 0x131]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x141]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x151]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x161]
lea rcx, [rbp + 0x141]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x171]
lea rcx, [rbp + 0x151]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x169]
lea rcx, [rbp + 0x161]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x179]
lea rcx, [rbp + 0x171]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x181]
lea rcx, [rbp + 0x139]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x191]
lea rcx, [rbp + 0x139]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x189]
lea rcx, [rbp + 0x181]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x199]
lea rcx, [rbp + 0x191]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x1a1]
lea rcx, [rbp + 0x199]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x1a9]
lea rcx, [rbp + 0x189]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x1b1]
lea rcx, [rbp + 0x1a1]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x1b9]
lea rcx, [rbp + 0x1a9]
call fcn.140040350
movss xmm0, dword [rbp + 0x121]
movss dword [rbp + 0x380], xmm0
movss xmm1, dword [rbp + 0x125]
movss dword [rbp + 0x384], xmm1
mov dword [rsp + 0x20], r12d
mov ebx, 0xffff9966
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x380]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x131]
movss dword [rbp + 0x378], xmm0
movss xmm1, dword [rbp + 0x135]
movss dword [rbp + 0x37c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x378]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x139]
movss dword [rbp + 0x370], xmm0
movss xmm1, dword [rbp + 0x13d]
movss dword [rbp + 0x374], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x370]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x129]
movss dword [rbp + 0x368], xmm0
movss xmm1, dword [rbp + 0x12d]
movss dword [rbp + 0x36c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x368]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x141]
movss dword [rbp + 0x360], xmm0
movss xmm1, dword [rbp + 0x145]
movss dword [rbp + 0x364], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x151]
movss dword [rbp + 0x358], xmm0
movss xmm1, dword [rbp + 0x155]
movss dword [rbp + 0x35c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x358]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x161]
movss dword [rbp + 0x350], xmm0
movss xmm1, dword [rbp + 0x165]
movss dword [rbp + 0x354], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x350]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x169]
movss dword [rbp + 0x348], xmm0
movss xmm1, dword [rbp + 0x16d]
movss dword [rbp + 0x34c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x348]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x171]
movss dword [rbp + 0x328], xmm0
movss xmm1, dword [rbp + 0x175]
movss dword [rbp + 0x32c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x328]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x179]
movss dword [rbp + 0x330], xmm0
movss xmm1, dword [rbp + 0x17d]
movss dword [rbp + 0x334], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x330]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x181]
movss dword [rbp + 0x338], xmm0
movss xmm1, dword [rbp + 0x185]
movss dword [rbp + 0x33c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x338]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x189]
movss dword [rbp + 0x340], xmm0
movss xmm1, dword [rbp + 0x18d]
movss dword [rbp + 0x344], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x340]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x191]
movss dword [rbp + 0x298], xmm0
movss xmm1, dword [rbp + 0x195]
movss dword [rbp + 0x29c], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x298]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x199]
movss dword [rbp + 0x2a0], xmm0
movss xmm1, dword [rbp + 0x19d]
movss dword [rbp + 0x2a4], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2a0]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x1a1]
movss dword [rbp + 0x2a8], xmm0
movss xmm1, dword [rbp + 0x1a5]
movss dword [rbp + 0x2ac], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2a8]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x1b1]
movss dword [rbp + 0x2b0], xmm0
movss xmm1, dword [rbp + 0x1b5]
movss dword [rbp + 0x2b4], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2b0]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x1a9]
movss dword [rbp + 0x260], xmm0
movss xmm1, dword [rbp + 0x1ad]
movss dword [rbp + 0x264], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x260]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x1b9]
movss dword [rbp + 0x2c0], xmm0
movss xmm1, dword [rbp + 0x1bd]
movss dword [rbp + 0x2c4], xmm1
lea rdx, [rbp + 0x2c0]
jmp 0x140050aca
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x129]
lea rcx, [rbp + 0x121]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x131]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x141]
lea rcx, [rbp + 0x131]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x151]
lea rcx, [rbp + 0x131]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x129]
lea rcx, [rbp + 0x121]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x131]
lea rcx, [rbp + 0x129]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x141]
lea rcx, [rbp + 0x131]
call fcn.140040350
movaps xmm3, xmm14
mov r8d, ebx
lea rdx, [rbp + 0x151]
lea rcx, [rbp + 0x131]
call fcn.140040350
movss xmm0, dword [rbp + 0x121]
movss dword [rbp + 0x2c8], xmm0
movss xmm1, dword [rbp + 0x125]
movss dword [rbp + 0x2cc], xmm1
mov dword [rsp + 0x20], r12d
mov ebx, 0xffff9966
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2c8]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x131]
movss dword [rbp + 0x2d0], xmm0
movss xmm1, dword [rbp + 0x135]
movss dword [rbp + 0x2d4], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2d0]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x129]
movss dword [rbp + 0x2d8], xmm0
movss xmm1, dword [rbp + 0x12d]
movss dword [rbp + 0x2dc], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2d8]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x141]
movss dword [rbp + 0x2e0], xmm0
movss xmm1, dword [rbp + 0x145]
movss dword [rbp + 0x2e4], xmm1
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
lea rdx, [rbp + 0x2e0]
mov rcx, rsi
call fcn.14001f7dc
movss xmm0, dword [rbp + 0x151]
movss dword [rbp + 0x2e8], xmm0
movss xmm1, dword [rbp + 0x155]
movss dword [rbp + 0x2ec], xmm1
lea rdx, [rbp + 0x2e8]
mov dword [rsp + 0x20], r12d
mov r9d, ebx
movaps xmm2, xmm14
mov rcx, rsi
call fcn.14001f7dc
cmp byte [0x14039a7b8], r12b
je 0x140050c3d
cmp byte [rbp + 0x730], r12b
je 0x140050c3d
cmp byte [rbp + 0x732], r12b
je 0x140050c3d
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x140050c3d
cmp qword [rbp + 0x6d0], 0x16dd
je 0x140050c3d
and dword [rbp + 0x1e0], 0
and dword [rbp + 0x1e4], 0
movss xmm9, dword [0x14039a7fc]
movss xmm10, dword [0x14039a7f8]
movss xmm7, dword [rbp + 0x746]
movss xmm6, dword [rbp + 0x74a]
movss xmm8, dword [rbp + 0x74e]
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x430], xmm0
movss dword [rbp + 0x438], xmm8
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x430]
call fcn.14003eefc
test al, al
je 0x140050c56
mov r9d, 2
mov rdx, qword [rbp + 0x1e0]
cmp byte [rbp + 0x731], r12b
je 0x140050c11
mov dword [rsp + 0x68], 0xffdaa096
mulss xmm10, xmm13
mulss xmm9, xmm13
mov r8d, dword [rsp + 0x68]
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.140040bb4
movss xmm8, dword [rbp + 0x74e]
movss dword [rbp + 0x74e], xmm8
movss xmm6, dword [rbp + 0x74a]
movss xmm7, dword [rbp + 0x746]
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x746], xmm0
jmp 0x140050c56
mov dword [rsp + 0x64], 0x6666cc96
movss xmm1, dword [0x14039a7f8]
mulss xmm1, xmm13
movss xmm0, dword [0x14039a7fc]
mulss xmm0, xmm13
mov r8d, dword [rsp + 0x64]
unpcklps xmm0, xmm1
jmp 0x140050bd5
movss xmm8, dword [rbp + 0x74e]
movss xmm6, dword [rbp + 0x74a]
movss xmm7, dword [rbp + 0x746]
cmp byte [0x14039a777], r12b
je 0x140050f6f
cmp byte [rbp + 0x730], r12b
je 0x140050f6f
cmp byte [rbp + 0x732], r12b
je 0x140050f6f
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x140050f6f
cmp qword [rbp + 0x6d0], 0x16dd
je 0x140050f6f
and dword [rbp + 0x1e8], 0
and dword [rbp + 0x1ec], 0
and dword [rbp + 0x2f4], 0
movss xmm2, dword [0x14039a7f8]
movaps xmm1, xmm6
addss xmm1, dword [0x1403914e8]
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp + 0x440], xmm0
movss dword [rbp + 0x448], xmm8
movss xmm0, dword [0x14039a7fc]
unpcklps xmm0, xmm2
movq r9, xmm0
lea r8, [rbp + 0x1e8]
lea rdx, [rbp + 0x440]
call fcn.14003eefc
test al, al
je 0x140051c32
movss xmm1, dword [0x14039a7f8]
subss xmm6, dword [0x1403915d8]
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x450], xmm0
movss dword [rbp + 0x458], xmm8
movss xmm0, dword [0x14039a7fc]
unpcklps xmm0, xmm1
movq r9, xmm0
lea r8, [rbp + 0x2f0]
lea rdx, [rbp + 0x450]
call fcn.14003eefc
test al, al
je 0x140051c32
movss xmm9, dword [rbp + 0x1ec]
movaps xmm6, xmm9
subss xmm6, dword [rbp + 0x2f4]
andps xmm6, xmmword [0x1403919d0]
cvtps2pd xmm0, xmm6
mulsd xmm0, qword [0x1403915e8]
cvtpd2ps xmm5, xmm0
mov rax, qword [0x14039a710]
movss xmm0, dword [0x140399e58]
movss dword [rbp + 0x408], xmm0
movss xmm1, dword [0x140399e5c]
movss dword [rbp + 0x40c], xmm1
movss xmm0, dword [0x140399e60]
movss dword [rbp + 0x410], xmm0
movss xmm1, dword [0x140399e64]
mulss xmm1, dword [rax + 0x3778]
movss dword [rbp + 0x414], xmm1
lea rcx, [rbp + 0x408]
call fcn.140003450
mov dword [rbp - 4], eax
movaps xmm8, xmm6
addss xmm8, dword [0x14039169c]
movaps xmm7, xmm5
addss xmm7, xmm14
divss xmm6, dword [0x140391670]
subss xmm9, xmm6
subss xmm9, dword [0x140391578]
mulss xmm5, xmm13
movss xmm6, dword [rbp + 0x1e8]
subss xmm6, xmm5
subss xmm6, dword [0x140391578]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
cvttss2si edx, xmm9
cvttss2si ecx, xmm6
lea rax, [rbp - 4]
mov qword [rsp + 0x20], rax
call fcn.14004050c
movaps xmm0, xmmword [0x1403918b0]
movups xmmword [rbp + 0x790], xmm0
lea rcx, [rbp + 0x790]
call fcn.140003450
mov ebx, eax
mov rcx, qword [0x14039a710]
mov rcx, qword [rcx + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140005090
mov r11, rax
mov r8d, ebx
shr r8d, 0x18
mov ecx, ebx
shr ecx, 0x10
movzx r10d, cl
mov ecx, ebx
shr ecx, 8
movzx r9d, cl
movzx edx, bl
mov ecx, r8d
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
movss xmm10, dword [0x140391730]
divss xmm3, xmm10
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
divss xmm2, xmm10
xorps xmm1, xmm1
cvtsi2ss xmm1, r9
divss xmm1, xmm10
xorps xmm0, xmm0
cvtsi2ss xmm0, r10
divss xmm0, xmm10
mov rax, qword [0x14039a710]
movss dword [rbp + 0x7f0], xmm0
movss dword [rbp + 0x7f4], xmm1
movss dword [rbp + 0x7f8], xmm2
mulss xmm3, dword [rax + 0x3778]
movss dword [rbp + 0x7fc], xmm3
lea rcx, [rbp + 0x7f0]
call fcn.140003450
addss xmm7, xmm6
movss dword [rbp + 0x2f8], xmm7
addss xmm8, xmm9
movss dword [rbp + 0x2fc], xmm8
movss dword [rbp + 0x300], xmm6
movss dword [rbp + 0x304], xmm9
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rbp + 0x2f8]
lea rdx, [rbp + 0x300]
mov rcx, r11
call fcn.14001f200
cmp byte [0x14039a74f], r12b
je 0x140051659
cmp byte [rbp + 0x730], r12b
je 0x140051659
cmp byte [rbp + 0x732], r12b
je 0x140051659
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x140051659
cmp qword [rbp + 0x6d0], 0x16dd
je 0x140051659
and dword [rbp + 0x238], 0
and dword [rbp + 0x23c], 0
and dword [rbp + 0x240], 0
and dword [rbp + 0x248], 0
and dword [rbp + 0x24c], 0
and dword [rbp + 0x250], 0
and dword [rbp + 0x228], 0
and dword [rbp + 0x22c], 0
and dword [rbp + 0x230], 0
and dword [rbp + 0xb0], 0
and dword [rbp + 0xb4], 0
and dword [rbp + 0xb8], 0
and dword [rbp + 0xa0], 0
and dword [rbp + 0xa4], 0
and dword [rbp + 0xa8], 0
and dword [rbp + 0x90], 0
and dword [rbp + 0x94], 0
and dword [rbp + 0x98], 0
and dword [rbp + 0x80], 0
and dword [rbp + 0x84], 0
and dword [rbp + 0x88], 0
and dword [rbp + 0x70], 0
and dword [rbp + 0x74], 0
and dword [rbp + 0x78], 0
and dword [rbp + 0x1f8], 0
and dword [rbp + 0x1fc], 0
and dword [rbp + 0x1f0], 0
and dword [rbp + 0x1f4], 0
and dword [rbp + 0x208], 0
and dword [rbp + 0x20c], 0
and dword [rbp + 0x200], 0
and dword [rbp + 0x204], 0
and dword [rbp + 0x210], 0
and dword [rbp + 0x214], 0
and dword [rbp + 0x218], 0
and dword [rbp + 0x21c], 0
and dword [rbp + 0x220], 0
and dword [rbp + 0x224], 0
and dword [rbp + 0x38], 0
and dword [rbp + 0x3c], 0
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x248]
lea rdx, [rbp + 0x238]
lea rcx, [rbp + 0x660]
call fcn.14004199c
movss xmm6, dword [0x14039a7fc]
movss xmm7, dword [0x14039a7f8]
movsd xmm0, qword [rbp + 0x238]
movsd qword [rbp + 0x460], xmm0
mov eax, dword [rbp + 0x240]
mov dword [rbp + 0x468], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x1f8]
lea rdx, [rbp + 0x460]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x248]
movsd qword [rbp + 0x470], xmm0
mov eax, dword [rbp + 0x250]
mov dword [rbp + 0x478], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x470]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x228]
movsd qword [rbp + 0x480], xmm0
mov eax, dword [rbp + 0x230]
mov dword [rbp + 0x488], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x208]
lea rdx, [rbp + 0x480]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0xb0]
movsd qword [rbp + 0x490], xmm0
mov eax, dword [rbp + 0xb8]
mov dword [rbp + 0x498], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x490]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0xa0]
movsd qword [rbp + 0x4a0], xmm0
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0x4a8], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x4a0]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x90]
movsd qword [rbp + 0x4b0], xmm0
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x4b8], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x4b0]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x80]
movsd qword [rbp + 0x4c0], xmm0
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x4c8], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x4c0]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x70]
movsd qword [rbp + 0x4d0], xmm0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x4d8], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x4d0]
call fcn.14003eefc
test al, al
je 0x140051c32
mov r9d, r13d
movsd xmm9, qword [rbp + 0x1f0]
movsd xmm6, qword [rbp + 0x1f8]
movq rdx, xmm9
movq rcx, xmm6
cmp byte [rbp + 0x731], r12b
je 0x1400514d9
mov dword [rsp + 0x60], 0xcccc0096
mov r8d, dword [rsp + 0x60]
call fcn.140040bb4
mov dword [rsp + 0x5c], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rsp + 0x5c]
movsd xmm10, qword [rbp + 0x200]
movq rdx, xmm10
movq rcx, xmm9
call fcn.140040bb4
mov dword [rsp + 0x58], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rsp + 0x58]
movsd xmm8, qword [rbp + 0x208]
movq rdx, xmm8
movq rcx, xmm10
call fcn.140040bb4
mov dword [rsp + 0x54], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rsp + 0x54]
movq rdx, xmm6
movq rcx, xmm8
call fcn.140040bb4
mov dword [rbp - 0x7c], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x7c]
movsd xmm11, qword [rbp + 0x210]
movq rdx, xmm11
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x78], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x78]
movsd xmm7, qword [rbp + 0x218]
movq rdx, xmm7
movq rcx, xmm9
call fcn.140040bb4
mov dword [rbp - 0x74], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x74]
movsd xmm9, qword [rbp + 0x220]
movq rdx, xmm9
movq rcx, xmm8
call fcn.140040bb4
mov dword [rbp - 0x70], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x70]
movsd xmm6, qword [rbp + 0x38]
movq rdx, xmm6
movq rcx, xmm10
call fcn.140040bb4
mov dword [rbp - 0x6c], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x6c]
movq rdx, xmm7
movq rcx, xmm11
call fcn.140040bb4
mov dword [rbp - 0x68], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x68]
movq rdx, xmm6
movq rcx, xmm7
call fcn.140040bb4
mov dword [rbp - 0x64], 0xcccc0096
mov r9d, r13d
mov r8d, dword [rbp - 0x64]
movq rdx, xmm9
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x60], 0xcccc0096
mov r8d, dword [rbp - 0x60]
jmp 0x140051647
mov dword [rbp - 0x5c], 0x9933ff96
mov r8d, dword [rbp - 0x5c]
call fcn.140040bb4
mov dword [rbp - 0x58], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x58]
movsd xmm10, qword [rbp + 0x200]
movq rdx, xmm10
movq rcx, xmm9
call fcn.140040bb4
mov dword [rbp - 0x54], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x54]
movsd xmm8, qword [rbp + 0x208]
movq rdx, xmm8
movq rcx, xmm10
call fcn.140040bb4
mov dword [rbp - 0x50], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x50]
movq rdx, xmm6
movq rcx, xmm8
call fcn.140040bb4
mov dword [rbp - 0x4c], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x4c]
movsd xmm11, qword [rbp + 0x210]
movq rdx, xmm11
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x48], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x48]
movsd xmm7, qword [rbp + 0x218]
movq rdx, xmm7
movq rcx, xmm9
call fcn.140040bb4
mov dword [rbp - 0x44], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x44]
movsd xmm9, qword [rbp + 0x220]
movq rdx, xmm9
movq rcx, xmm8
call fcn.140040bb4
mov dword [rbp - 0x40], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x40]
movsd xmm6, qword [rbp + 0x38]
movq rdx, xmm6
movq rcx, xmm10
call fcn.140040bb4
mov dword [rbp - 0x3c], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x3c]
movq rdx, xmm7
movq rcx, xmm11
call fcn.140040bb4
mov dword [rbp - 0x38], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x38]
movq rdx, xmm6
movq rcx, xmm7
call fcn.140040bb4
mov dword [rbp - 0x34], 0x9933ff96
mov r9d, r13d
mov r8d, dword [rbp - 0x34]
movq rdx, xmm9
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x30], 0x9933ff96
mov r8d, dword [rbp - 0x30]
mov r9d, r13d
movq rdx, xmm11
movq rcx, xmm9
call fcn.140040bb4
cmp byte [0x140398073], r12b
je 0x1400519f2
cmp byte [rbp + 0x730], r12b
je 0x1400519f2
cmp byte [rbp + 0x732], r12b
je 0x1400519f2
movss xmm0, dword [0x140399f5a]
comiss xmm0, xmm15
jbe 0x1400519f2
cmp qword [rbp + 0x6d0], 0x16dd
je 0x1400519f2
movsd xmm6, qword [rbp + 0x746]
mov ebx, dword [rbp + 0x74e]
and dword [rbp + 0x60], 0
and dword [rbp + 0x64], 0
and dword [rbp + 0x68], 0
and dword [rbp + 0x50], 0
and dword [rbp + 0x54], 0
and dword [rbp + 0x58], 0
and dword [rbp + 0xe0], 0
and dword [rbp + 0xe4], 0
and dword [rbp + 0xe8], 0
and dword [rbp + 0xd0], 0
and dword [rbp + 0xd4], 0
and dword [rbp + 0xd8], 0
and dword [rbp + 0xc0], 0
and dword [rbp + 0xc4], 0
and dword [rbp + 0xc8], 0
and dword [rbp + 8], 0
and dword [rbp + 0xc], 0
and dword [rbp], 0
and dword [rbp + 4], 0
and dword [rbp + 0x10], 0
and dword [rbp + 0x14], 0
and dword [rbp + 0x18], 0
and dword [rbp + 0x1c], 0
and dword [rbp + 0x20], 0
and dword [rbp + 0x24], 0
and dword [rbp + 0x28], 0
and dword [rbp + 0x2c], 0
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xe0]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x660]
call fcn.140042878
movss xmm7, dword [0x14039a7fc]
movss xmm8, dword [0x14039a7f8]
movsd qword [rbp + 0x4e0], xmm6
mov dword [rbp + 0x4e8], ebx
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp + 8]
lea rdx, [rbp + 0x4e0]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x60]
movsd qword [rbp + 0x4f0], xmm0
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x4f8], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp]
lea rdx, [rbp + 0x4f0]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0x50]
movsd qword [rbp + 0x500], xmm0
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0x508], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x500]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0xe0]
movsd qword [rbp + 0x510], xmm0
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0x518], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x510]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0xd0]
movsd qword [rbp + 0x520], xmm0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0x528], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x520]
call fcn.14003eefc
test al, al
je 0x140051c32
movsd xmm0, qword [rbp + 0xc0]
movsd qword [rbp + 0x530], xmm0
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x538], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x530]
call fcn.14003eefc
test al, al
je 0x140051c32
mov ebx, 3
movsd xmm6, qword [rbp]
mov rcx, qword [rbp + 8]
mov r9d, ebx
movq rdx, xmm6
cmp byte [rbp + 0x731], r12b
je 0x140051972
mov dword [rbp - 0x2c], 0xffff
mov r8d, dword [rbp - 0x2c]
call fcn.140040bb4
mov dword [rbp - 0x28], 0x6633ffff
mov r9d, ebx
mov r8d, dword [rbp - 0x28]
mov rdx, qword [rbp + 0x10]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x24], 0x6633ffff
mov r9d, ebx
mov r8d, dword [rbp - 0x24]
mov rdx, qword [rbp + 0x18]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x20], 0x6633ffff
mov r9d, ebx
mov r8d, dword [rbp - 0x20]
mov rdx, qword [rbp + 0x20]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x1c], 0x6633ffff
mov r8d, dword [rbp - 0x1c]
jmp 0x1400519e1
mov dword [rbp - 0x18], 0xff9966ff
mov r8d, dword [rbp - 0x18]
call fcn.140040bb4
mov dword [rbp - 0x14], 0xff9966ff
mov r9d, ebx
mov r8d, dword [rbp - 0x14]
mov rdx, qword [rbp + 0x10]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0x10], 0xff9966ff
mov r9d, ebx
mov r8d, dword [rbp - 0x10]
mov rdx, qword [rbp + 0x18]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 0xc], 0xff9966ff
mov r9d, ebx
mov r8d, dword [rbp - 0xc]
mov rdx, qword [rbp + 0x20]
movq rcx, xmm6
call fcn.140040bb4
mov dword [rbp - 8], 0xff9966ff
mov r8d, dword [rbp - 8]
mov r9d, ebx
mov rdx, qword [rbp + 0x28]
movq rcx, xmm6
call fcn.140040bb4
cmp byte [0x1403980ca], r12b
je 0x140051c32
mov ecx, r13d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140051a41
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140051a41
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140051a41
mov ecx, 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140051c32
and dword [rbp + 0x30], 0
and dword [rbp + 0x34], 0
movss xmm1, dword [0x14039a7f8]
movsd xmm0, qword [rbp + 0x782]
movsd qword [rbp + 0x540], xmm0
mov eax, dword [rbp + 0x78a]
mov dword [rbp + 0x548], eax
movss xmm0, dword [0x14039a7fc]
unpcklps xmm0, xmm1
movq r9, xmm0
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x540]
call fcn.14003eefc
test al, al
je 0x140051c32
mov eax, dword [0x14039a760]
test eax, eax
jne 0x140051b97
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov ebx, 0x66666667
mov eax, ebx
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
shl ecx, 2
sub r8d, ecx
mov dword [0x14039a758], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, ebx
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
mov dword [0x14039a738], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x88888889
imul r8d
add edx, r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1e
sub r8d, ecx
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [0x14039a748], xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, ebx
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
mov dword [0x14039a7a0], r8d
cmp r8d, 5
jl 0x140051b5e
neg dword [0x14039a758]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, ebx
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
mov dword [0x14039a7a0], r8d
mov eax, dword [0x14039a760]
cmp r8d, 5
jl 0x140051b97
neg dword [0x14039a738]
add eax, r13d
mov dword [0x14039a760], eax
cmp eax, 0xe
jne 0x140051bac
mov dword [0x14039a760], r12d
cmp byte [rbp + 0x730], r12b
je 0x140051c32
cmp byte [rbp + 0x731], r12b
je 0x140051c32
cmp qword [0x140399eb0], r12
je 0x140051c32
cmp byte [rbp + 0x732], r12b
je 0x140051c32
movd xmm1, dword [0x14039a738]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp + 0x34]
movd xmm0, dword [0x14039a758]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp + 0x30]
movss dword [rbp + 0x7e0], xmm0
movss dword [rbp + 0x7e4], xmm1
movss xmm0, dword [0x14039162c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0xbb8
or r9d, 0xffffffff
movss xmm2, dword [0x14039a748]
lea rdx, [rbp + 0x7e0]
mov rcx, rsi
call fcn.14001f704
nop
lea rcx, [rbp + 0x660]
call fcn.140043a80
xorps xmm8, xmm8
add rdi, 0x12e
cmp rdi, r14
je 0x140051cba
mov ebx, 0xf
jmp 0x14004e883
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r8b, byte [0x14039a75c]
test r8b, r8b
je 0x140051ccb
call fcn.14004c9f4
cmp byte [0x14039a7ab], r12b
je 0x140051df3
movss xmm0, dword [0x140399e68]
movss dword [rbp + 0x7f0], xmm0
movss xmm1, dword [0x140399e6c]
movss dword [rbp + 0x7f4], xmm1
movss xmm0, dword [0x140399e70]
movss dword [rbp + 0x7f8], xmm0
movss xmm1, dword [0x140399e74]
mov rax, qword [0x14039a710]
mulss xmm1, dword [rax + 0x3778]
movss dword [rbp + 0x7fc], xmm1
lea rcx, [rbp + 0x7f0]
call fcn.140003450
mov r9d, eax
movss xmm6, dword [0x140391578]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xbb8
movss xmm2, dword [0x1403980a4]
lea rdx, [rbp + 0x258]
mov rcx, rsi
call fcn.14001f704
cmp byte [0x14039a78a], r12b
je 0x140051df3
movss xmm0, dword [0x140399e38]
movss dword [rbp + 0x7f0], xmm0
movss xmm1, dword [0x140399e3c]
movss dword [rbp + 0x7f4], xmm1
movss xmm0, dword [0x140399e40]
movss dword [rbp + 0x7f8], xmm0
movss xmm1, dword [0x140399e44]
mov rax, qword [0x14039a710]
mulss xmm1, dword [rax + 0x3778]
movss dword [rbp + 0x7fc], xmm1
lea rcx, [rbp + 0x7f0]
call fcn.140003450
mov r9d, eax
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0xbb8
movss xmm2, dword [0x14039810c]
lea rdx, [rbp + 0x258]
mov rcx, rsi
call fcn.14001f704
mov rcx, qword [rbp + 0x8c0]
xor rcx, rsp
call fcn.14006aa80
lea r11, [rsp + 0xa70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret