Function at 0x14005b1f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xfc0]
mov eax, 0x10c0
call fcn.140076c30
sub rsp, rax
movaps xmmword [rsp + 0x10b0], xmm6
movaps xmmword [rsp + 0x10a0], xmm7
movaps xmmword [rsp + 0x1090], xmm8
movaps xmmword [rsp + 0x1080], xmm9
movaps xmmword [rsp + 0x1070], xmm10
movaps xmmword [rsp + 0x1060], xmm11
movaps xmmword [rsp + 0x1050], xmm12
movaps xmmword [rsp + 0x1040], xmm13
movaps xmmword [rsp + 0x1030], xmm14
movaps xmmword [rsp + 0x1020], xmm15
mov rax, qword [0x1403a7040]
xor rax, rsp
mov qword [rbp + 0xf18], rax
xor r14d, r14d
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140005b90
mov rdi, rax
movss xmm10, dword [0x1403b0b68]
movaps xmm1, xmm10
movss xmm14, dword [0x14039c9d4]
mulss xmm1, xmm14
movss xmm7, dword [0x1403b0b6c]
movaps xmm0, xmm7
mulss xmm0, xmm14
movss dword [rbp + 0x1d8], xmm0
movss dword [rbp + 0x1dc], xmm1
lea r12, str._DIST
cmp byte [0x1403b0b02], r14b
je 0x14005baf3
mov rbx, qword [0x1403b0d18]
mov rsi, qword [0x1403b0d20]
cmp rbx, rsi
je 0x14005baf3
movabs r15, 0x400000000002533
nop
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp + 0x7c0], xmm0
cmp qword [rbx], r15
je 0x14005bae6
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x70], 0
mov qword [rbp - 0x78], 0
mov qword [rbp - 0x80], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x50], 0
movss xmm8, dword [rbp + 0x7c0]
movss xmm9, dword [rbp + 0x7c4]
movaps xmm1, xmm9
addss xmm1, xmm14
movss xmm12, dword [rbx + 0x18]
movaps xmm0, xmm8
unpcklps xmm0, xmm1
movsd qword [rbp + 0x150], xmm0
movss dword [rbp + 0x158], xmm12
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x150]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm13, xmm8
subss xmm13, xmm14
movaps xmm6, xmm12
subss xmm6, xmm14
movaps xmm0, xmm13
unpcklps xmm0, xmm9
movsd qword [rbp + 0x160], xmm0
movss dword [rbp + 0x168], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0x160]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm0, xmm13
unpcklps xmm0, xmm9
movsd qword [rbp + 0x170], xmm0
movss dword [rbp + 0x178], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0x170]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm11, xmm12
addss xmm11, xmm14
movaps xmm0, xmm13
unpcklps xmm0, xmm9
movsd qword [rbp + 0x140], xmm0
movss dword [rbp + 0x148], xmm11
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x140]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm15, xmm8
addss xmm15, xmm14
movaps xmm0, xmm15
unpcklps xmm0, xmm9
movsd qword [rbp - 0x40], xmm0
movss dword [rbp - 0x38], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x40]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm0, xmm15
unpcklps xmm0, xmm9
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm11
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x30]
call fcn.14004aa70
test al, al
je 0x14005bae6
movaps xmm14, xmm9
addss xmm14, dword [0x14039ca44]
movaps xmm0, xmm13
unpcklps xmm0, xmm14
movsd qword [rbp - 0x20], xmm0
movss dword [rbp - 0x18], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x20]
call fcn.14004aa70
test al, al
je 0x14005badd
movaps xmm0, xmm13
unpcklps xmm0, xmm14
movsd qword [rbp - 0x10], xmm0
movss dword [rbp - 8], xmm11
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x10]
call fcn.14004aa70
test al, al
je 0x14005badd
movaps xmm0, xmm15
unpcklps xmm0, xmm14
movsd qword [rbp], xmm0
movss dword [rbp + 8], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rsp + 0x70]
lea rdx, [rbp]
call fcn.14004aa70
test al, al
je 0x14005badd
movaps xmm0, xmm15
unpcklps xmm0, xmm14
movsd qword [rbp - 0x50], xmm0
movss dword [rbp - 0x48], xmm11
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x50]
call fcn.14004aa70
test al, al
je 0x14005badd
lea rdx, [rbp + 0x9e0]
call fcn.14004a9e0
movss xmm7, dword [rax + 8]
lea rdx, [rbp + 0x9ec]
call fcn.14004a9e0
movss xmm6, dword [rax + 4]
lea rdx, [rbp + 0x9f8]
call fcn.14004a9e0
subss xmm12, xmm7
subss xmm9, xmm6
subss xmm8, dword [rax]
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm8, xmm9
mulss xmm12, xmm12
addss xmm8, xmm12
xorps xmm0, xmm0
ucomiss xmm0, xmm8
ja 0x14005b66a
xorps xmm9, xmm9
sqrtss xmm9, xmm8
jmp 0x14005b677
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
movss xmm11, dword [0x14039ca44]
movss dword [rsp + 0x20], xmm11
movss xmm15, dword [0x14039c9a0]
movaps xmm3, xmm15
xorps xmm2, xmm2
movaps xmm1, xmm11
lea rcx, [rbp + 0xb20]
call fcn.140001250
mov rcx, rax
call fcn.1400038b0
movss xmm7, dword [rsp + 0x54]
movaps xmm0, xmm7
subss xmm0, dword [0x14039cb7c]
movss xmm6, dword [rsp + 0x50]
subss xmm6, dword [0x14039cb50]
movss dword [rbp + 0x328], xmm6
movss dword [rbp + 0x32c], xmm0
movss xmm12, dword [0x14039cb98]
movaps xmm3, xmm12
lea r8, str.HP_PACK
mov edx, eax
lea rcx, [rbp + 0x328]
call fcn.14004bf10
cvttss2si edx, xmm9
lea rcx, [rbp + 0xe60]
call fcn.14004a4b0
nop
mov r8, rax
mov rdx, r12
lea rcx, [rbp + 0xe40]
call fcn.140073880
nop
lea r8, [0x14039ab20]
mov rdx, rax
lea rcx, [rbp + 0xe20]
call fcn.1400739b0
nop
mov rcx, rax
call fcn.1400724c0
mov r8, rax
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm15
xorps xmm2, xmm2
movaps xmm1, xmm11
lea rcx, [rbp + 0xac0]
call fcn.140001250
mov rcx, rax
call fcn.1400038b0
addss xmm7, dword [0x14039cb7c]
movss dword [rbp + 0x330], xmm6
movss dword [rbp + 0x334], xmm7
movaps xmm3, xmm12
mov edx, eax
lea rcx, [rbp + 0x330]
call fcn.14004bf10
nop
lea rcx, [rbp + 0xe20]
call fcn.1400724d0
nop
lea rcx, [rbp + 0xe40]
call fcn.1400724d0
nop
lea rcx, [rbp + 0xe60]
call fcn.1400724d0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x63c]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm13, qword [rbp - 0x70]
movq rdx, xmm13
movsd xmm10, qword [rbp - 0x68]
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x640]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm12, qword [rbp - 0x78]
movq rdx, xmm12
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x644]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm11, qword [rbp - 0x80]
movq rdx, xmm11
movq rcx, xmm13
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x648]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm11
movq rcx, xmm12
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x64c]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm9, qword [rsp + 0x78]
movq rdx, xmm9
movsd xmm6, qword [rsp + 0x60]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x650]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm8, qword [rsp + 0x70]
movq rdx, xmm8
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x654]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movsd xmm7, qword [rsp + 0x68]
movq rdx, xmm7
movq rcx, xmm9
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x658]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm7
movq rcx, xmm8
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x660]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm6
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x664]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm9
movq rcx, xmm13
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x638]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm8
movq rcx, xmm12
call fcn.14004caa0
mov dword [rsp + 0x20], 0x64
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x668]
call fcn.14004a9c0
mov r9d, 2
mov r8d, dword [rax]
movq rdx, xmm7
movq rcx, xmm11
call fcn.14004caa0
movss xmm10, dword [0x1403b0b68]
movss xmm7, dword [0x1403b0b6c]
movss xmm14, dword [0x14039c9d4]
add rbx, 0x1c
cmp rbx, rsi
jne 0x14005b320
movzx r8d, byte [0x1403b0adc]
cmp byte [0x1403b0b2e], 0
jne 0x14005bb4c
cmp byte [0x1403b0b04], 0
jne 0x14005bb4c
test r8b, r8b
jne 0x14005bb4c
cmp byte [0x1403b0acf], r8b
jne 0x14005bb4c
cmp byte [0x1403b0af7], r8b
jne 0x14005bb4c
cmp byte [0x1403b0b38], r8b
jne 0x14005bb4c
cmp byte [0x1403b0b16], r8b
jne 0x14005bb4c
cmp byte [0x1403a70e3], r8b
jne 0x14005bb4c
cmp byte [0x1403a713a], r8b
je 0x1400603da
mov rsi, qword [0x1403b0d40]
mov qword [rbp + 0x368], rsi
mov r13, qword [0x1403b0d38]
mov rcx, rsi
sub rcx, r13
movabs rax, 0x6c80d901b2036407
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400603c5
mov ebx, r14d
mov dword [rbp - 0x68], ebx
cmp r13, rsi
je 0x1400603c5
lea r15, str._NAME
movss xmm8, dword [0x14039cc30]
movsd xmm10, qword [0x14039cae8]
movss xmm15, dword [0x14039cb60]
movss xmm13, dword [0x14039cc1c]
mov rdx, r13
lea rcx, [rbp + 0xb30]
call fcn.140059660
nop
cmp byte [0x1403b0b16], 0
je 0x14005c33e
test ebx, ebx
jne 0x14005bdaa
movss xmm1, dword [0x1403b0b68]
subss xmm1, xmm8
movss xmm0, dword [0x1403b0b6c]
subss xmm0, xmm13
movss dword [rbp + 0x338], xmm0
movss dword [rbp + 0x33c], xmm1
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm13
lea rdx, [rbp + 0x338]
mov rcx, rdi
call fcn.1400229b0
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, 0x78000000
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
cmp byte [0x1403b0b2a], bl
je 0x14005bc65
movss xmm0, dword [0x1403a70f0]
jmp 0x14005bc7c
mov rcx, qword [0x1403b0d30]
mov rdx, qword [rcx + 0x21]
add rdx, 0x35640c8
call fcn.140072b50
mulss xmm0, xmm14
mulss xmm0, dword [0x14039c96c]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
mulss xmm6, xmm13
movaps xmm1, xmm6
mulss xmm1, xmm6
movss xmm0, dword [0x14039cc74]
subss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x14005bcba
xorps xmm7, xmm7
sqrtss xmm7, xmm0
jmp 0x14005bcc2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
movss xmm4, dword [0x1403b0b68]
subss xmm4, xmm8
movaps xmm2, xmm4
subss xmm2, xmm6
movss xmm3, dword [0x1403b0b6c]
subss xmm3, xmm13
movaps xmm1, xmm3
subss xmm1, xmm7
mov r8d, 0xff6699ff
mov r9d, 2
unpcklps xmm1, xmm2
movq rdx, xmm1
movaps xmm1, xmm3
unpcklps xmm1, xmm4
movq rcx, xmm1
call fcn.14004caa0
movss xmm3, dword [0x1403b0b68]
subss xmm3, xmm8
movaps xmm1, xmm3
subss xmm1, xmm6
movss xmm2, dword [0x1403b0b6c]
subss xmm2, xmm13
movaps xmm0, xmm2
addss xmm0, xmm7
mov r8d, 0xff6699ff
mov r9d, 2
unpcklps xmm0, xmm1
movq rdx, xmm0
movaps xmm1, xmm2
unpcklps xmm1, xmm3
movq rcx, xmm1
call fcn.14004caa0
movss xmm3, dword [0x1403b0b68]
subss xmm3, xmm8
movaps xmm1, xmm3
subss xmm1, xmm13
movss xmm2, dword [0x1403b0b6c]
subss xmm2, xmm13
mov r8d, 0xffff78
mov r9d, 1
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq rdx, xmm0
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.14004caa0
mov dword [rbp - 0x68], 1
mov rax, qword [0x1403b0230]
cmp qword [rbp + 0xb30], rax
jne 0x14005be7d
movss xmm1, dword [0x1403b0b68]
subss xmm1, xmm8
movss xmm0, dword [0x1403b0b6c]
subss xmm0, xmm13
movss dword [rbp + 0x340], xmm0
movss dword [rbp + 0x344], xmm1
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x14039cb48]
lea rdx, [rbp + 0x340]
mov rcx, rdi
call fcn.1400229b0
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, 0xff33ffff
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
mov rdx, qword [rbp + 0xbd2]
cmp rdx, 0xf
jbe 0x14005be6f
inc rdx
mov rcx, qword [rbp + 0xbba]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005be6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603b4
call fcn.1400758f0
movss xmm13, dword [0x14039c9d4]
jmp 0x140060338
xorps xmm12, xmm12
ucomiss xmm12, dword [rbp + 0xc3a]
jp 0x14005bea9
jne 0x14005bea9
ucomiss xmm12, dword [rbp + 0xc3e]
jp 0x14005bea9
jne 0x14005bea9
ucomiss xmm12, dword [rbp + 0xc42]
jp 0x14005bea9
je 0x14005c342
movss xmm0, dword [rbp + 0xbda]
comiss xmm0, xmm12
jbe 0x14005c342
movss xmm0, dword [0x1403b032e]
call fcn.14004a850
xor ecx, ecx
call fcn.14004a570
movaps xmm12, xmm3
movaps xmm15, xmm2
movaps xmm8, xmm1
movaps xmmword [rbp + 0x950], xmm1
movaps xmm9, xmm0
lea rdx, [rbp + 0xa04]
call fcn.14004a9e0
movss xmm7, dword [rbp + 0xc16]
subss xmm7, dword [rax]
lea rdx, [rbp + 0xa10]
call fcn.14004a9e0
movss xmm6, dword [rbp + 0xc1a]
subss xmm6, dword [rax + 4]
lea rdx, [rbp + 0xa1c]
call fcn.14004a9e0
movss xmm4, dword [rbp + 0xc1e]
subss xmm4, dword [rax + 8]
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm10
cvtpd2ps xmm3, xmm0
cvtps2pd xmm1, xmm6
mulsd xmm1, xmm10
cvtpd2ps xmm2, xmm1
cvtps2pd xmm0, xmm4
mulsd xmm0, xmm10
cvtpd2ps xmm5, xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm2
xorps xmm3, xmm3
movsd xmm3, xmm1
movss dword [rsp + 0x58], xmm5
movlhps xmm3, xmm5
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xaa
mulps xmm1, xmm15
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
mulps xmm0, xmm8
movaps xmm2, xmm12
addps xmm2, xmm1
addps xmm2, xmm0
shufps xmm3, xmm3, 0
movaps xmm6, xmm9
mulps xmm6, xmm3
addps xmm6, xmm2
movaps xmm7, xmm6
shufps xmm7, xmm6, 0xaa
movaps xmm1, xmm7
mulss xmm1, xmm7
movsd qword [rsp + 0x50], xmm6
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14005bfc8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14005bfd0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm13
jbe 0x14005bfe8
divss xmm6, xmm0
mulss xmm6, xmm13
divss xmm7, xmm0
mulss xmm7, xmm13
movss xmm11, dword [0x1403b0b68]
subss xmm11, dword [0x14039cc30]
subss xmm11, xmm7
movss xmm10, dword [0x1403b0b6c]
subss xmm10, xmm13
subss xmm10, xmm6
movss dword [rbp + 0x1c0], xmm10
movss dword [rbp + 0x1c4], xmm11
mov qword [rbp - 0x50], 0
mov dword [rbp - 0x48], 0
mov qword [rbp + 0x150], 0
mov dword [rbp + 0x158], 0
mov qword [rbp + 0x160], 0
mov dword [rbp + 0x168], 0
mov qword [rbp + 0x170], 0
mov dword [rbp + 0x178], 0
mov qword [rbp + 0x140], 0
mov dword [rbp + 0x148], 0
lea rax, [rbp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x160]
lea r8, [rbp + 0x150]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xb30]
call fcn.14004de60
movss xmm6, dword [rbp - 0x50]
movaps xmm8, xmm6
subss xmm8, dword [rbp + 0xc16]
lea rdx, [rbp + 0xa28]
call fcn.14004a9e0
mulss xmm8, dword [0x14039cb48]
addss xmm8, xmm6
subss xmm8, dword [rax]
lea rdx, [rbp + 0xa34]
call fcn.14004a9e0
movss xmm7, dword [rbp - 0x4c]
subss xmm7, dword [rax + 4]
movss xmm0, dword [rbp - 0x48]
movaps xmm6, xmm0
subss xmm6, dword [rbp + 0xc1e]
mulss xmm6, dword [0x14039cb48]
addss xmm6, xmm0
lea rdx, [rbp + 0xa40]
call fcn.14004a9e0
subss xmm6, dword [rax + 8]
cvtps2pd xmm0, xmm8
movsd xmm4, qword [0x14039cae8]
mulsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm4
cvtpd2ps xmm2, xmm1
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm4
cvtpd2ps xmm4, xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm2
xorps xmm3, xmm3
movsd xmm3, xmm1
movss dword [rsp + 0x58], xmm4
movlhps xmm3, xmm4
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xaa
mulps xmm1, xmm15
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
mulps xmm0, xmmword [rbp + 0x950]
addps xmm12, xmm1
addps xmm12, xmm0
shufps xmm3, xmm3, 0
mulps xmm9, xmm3
addps xmm9, xmm12
movaps xmm6, xmm9
shufps xmm6, xmm9, 0xaa
movsd qword [rsp + 0x50], xmm9
movaps xmm1, xmm9
mulss xmm1, xmm9
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14005c1d3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14005c1db
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x14039cc18]
comiss xmm0, xmm1
jbe 0x14005c1fa
divss xmm9, xmm0
mulss xmm9, xmm1
divss xmm6, xmm0
mulss xmm6, xmm1
movss xmm7, dword [0x1403b0b68]
movss xmm8, dword [0x14039cc30]
subss xmm7, xmm8
subss xmm7, xmm6
movss xmm6, dword [0x1403b0b6c]
subss xmm6, xmm13
subss xmm6, xmm9
mov ebx, 0xff9900cc
cmp byte [rbp + 0xc01], 0
mov eax, 0xff3300ff
cmovne ebx, eax
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x14039cb20]
lea rdx, [rbp + 0x1c0]
mov rcx, rdi
cmp byte [rbp + 0xc02], r9b
jne 0x14005c28e
call fcn.1400229b0
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, 0xffffff66
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
jmp 0x14005c335
call fcn.1400229b0
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, ebx
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
mov r8d, 0xffff
mov r9d, 2
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq rdx, xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.14004caa0
cmp byte [0x1403b0b08], 0
je 0x14005c335
movss xmm3, dword [0x1403b0b68]
movss xmm2, dword [0x1403b0b6c]
mov r9d, 1
movaps xmm0, xmm10
subss xmm3, xmm8
subss xmm2, xmm13
unpcklps xmm0, xmm11
unpcklps xmm2, xmm3
movq rdx, xmm0
movq rcx, xmm2
cmp byte [rbp + 0xc01], 0
mov r8d, 0xffdaa096
jne 0x14005c330
mov r8d, 0x6666cc96
call fcn.14004caa0
movss xmm15, dword [0x14039cb60]
xorps xmm12, xmm12
cmp byte [0x1403b0b2e], 0
je 0x14005d650
cmp byte [rbp + 0xc00], 0
je 0x14005d650
cmp byte [rbp + 0xc02], 0
je 0x14005d650
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x14005d650
movss xmm10, dword [rbp + 0xc16]
movss xmm8, dword [rbp + 0xc1a]
movss xmm9, dword [rbp + 0xc1e]
lea rdx, [rbp + 0xa4c]
call fcn.14004a9e0
movss xmm7, dword [rax + 8]
lea rdx, [rbp + 0xa58]
call fcn.14004a9e0
movss xmm6, dword [rax + 4]
lea rdx, [rbp + 0xa64]
call fcn.14004a9e0
movaps xmm1, xmm9
subss xmm1, xmm7
movaps xmm0, xmm8
subss xmm0, xmm6
movaps xmm2, xmm10
subss xmm2, dword [rax]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14005c403
xorps xmm13, xmm13
sqrtss xmm13, xmm2
jmp 0x14005c40f
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm13, xmm0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 0
movss xmm2, dword [0x1403b0b68]
movaps xmm1, xmm8
subss xmm1, dword [0x14039ca80]
movaps xmm0, xmm10
unpcklps xmm0, xmm1
movsd qword [rbp + 0x770], xmm0
movss dword [rbp + 0x778], xmm9
movss xmm0, dword [0x1403b0b6c]
unpcklps xmm0, xmm2
movq r9, xmm0
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0x770]
call fcn.14004aa70
test al, al
jne 0x14005c4c7
mov rdx, qword [rbp + 0xbd2]
cmp rdx, 0xf
jbe 0x14005c4b9
inc rdx
mov rcx, qword [rbp + 0xbba]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14005c4b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603b4
call fcn.1400758f0
movss xmm13, dword [0x14039c9d4]
jmp 0x140060326
movss xmm2, dword [0x1403b0b68]
addss xmm8, dword [0x14039ca44]
movaps xmm0, xmm10
unpcklps xmm0, xmm8
movsd qword [rbp + 0x780], xmm0
movss dword [rbp + 0x788], xmm9
movss xmm0, dword [0x1403b0b6c]
unpcklps xmm0, xmm2
movq r9, xmm0
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x780]
call fcn.14004aa70
test al, al
je 0x14005c478
movss xmm10, dword [rbp + 0x10c]
movaps xmm1, xmm10
movss xmm11, dword [rbp + 0x114]
subss xmm1, xmm11
andps xmm1, xmmword [0x14039d330]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x14039cac0]
cvtpd2ps xmm8, xmm0
mulss xmm1, xmm14
mulss xmm1, xmm14
movss xmm0, dword [0x14039cb98]
maxss xmm0, xmm1
movss xmm2, dword [0x14039cba8]
movaps xmm6, xmm2
minss xmm6, xmm0
movss xmm7, dword [rbp + 0x108]
cmp byte [0x1403a70e2], 0
je 0x14005c83e
mov r15, qword [rbp + 0xbca]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 6
jb 0x1400605e5
lea r12, [rbp + 0xbba]
cmp qword [rbp + 0xbd2], 0xf
cmova r12, qword [rbp + 0xbba]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc80], xmm0
mov qword [rbp + 0xc90], r14
mov qword [rbp + 0xc98], r14
lea r14, [r15 + 6]
mov ebx, 0xf
lea rsi, [rbp + 0xc80]
cmp r14, rbx
jbe 0x14005c66a
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x14005c60c
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14005c63c
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x14005c626
xor esi, esi
jmp 0x14005c663
cmp rcx, 0x1000
jb 0x14005c65b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400605eb
mov rcx, rax
call fcn.140075d24
test rax, rax
je 0x1400603ad
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14005c663
call fcn.140075d24
mov rsi, rax
mov qword [rbp + 0xc80], rsi
mov qword [rbp + 0xc90], r14
mov qword [rbp + 0xc98], rbx
mov ecx, dword [str._ID]
mov dword [rsi], ecx
movzx ecx, word [0x14039b8e8]
mov word [rsi + 4], cx
lea rcx, [rsi + 6]
mov r8, r15
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r14], 0
mov r8d, 1
lea rdx, [0x14039ab20]
lea rcx, [rbp + 0xc80]
call fcn.1400728d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc60], xmm0
xor r14d, r14d
mov qword [rbp + 0xc70], r14
mov qword [rbp + 0xc78], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
lea r8, [rbp + 0xc60]
cmp qword [rbp + 0xc78], 0xf
cmova r8, qword [rbp + 0xc60]
movdqa xmm0, xmmword [0x14039d280]
mov rax, qword [0x1403b0a80]
movups xmmword [rsp + 0x50], xmm0
movss xmm0, dword [rax + 0x3778]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400033a0
movaps xmm2, xmm11
subss xmm2, xmm6
movaps xmm1, xmm8
divss xmm1, xmm15
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [rbp + 0x348], xmm0
movss dword [rbp + 0x34c], xmm2
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x348]
call fcn.14004bf10
nop
mov rdx, qword [rbp + 0xc78]
cmp rdx, 0xf
jbe 0x14005c7b5
inc rdx
mov rcx, qword [rbp + 0xc60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c7b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006036e
call fcn.1400758f0
mov qword [rbp + 0xc70], r14
mov qword [rbp + 0xc78], 0xf
mov byte [rbp + 0xc60], 0
mov rdx, qword [rbp + 0xc98]
cmp rdx, 0xf
jbe 0x14005c80f
inc rdx
mov rcx, qword [rbp + 0xc80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c80a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603ad
call fcn.1400758f0
mov qword [rbp + 0xc90], r14
mov qword [rbp + 0xc98], 0xf
mov byte [rbp + 0xc80], 0
movss xmm2, dword [0x14039cba8]
lea r12, str._DIST
lea r15, str._NAME
movss xmm9, dword [rbp + 0x110]
cmp byte [0x1403a70e0], 0
je 0x14005c894
cvttss2si eax, dword [rbp + 0xbde]
cvttss2si ecx, dword [rbp + 0xbda]
movss xmm0, dword [rbp + 0xc06]
mulss xmm0, dword [0x14039ca64]
cvttss2si r8d, xmm0
movaps xmm1, xmm11
subss xmm1, xmm2
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r9d, 0x7d
movaps xmm0, xmm9
call fcn.14004af50
cmp byte [0x1403b0add], 0
je 0x14005cc39
cvttss2si r8d, dword [rbp + 0xbda]
lea r9, [rbp + 0xf15]
test r8d, r8d
jns 0x14005c900
neg r8d
nop dword [rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005c8c0
dec r9
mov byte [r9], 0x2d
jmp 0x14005c92a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005c900
lea r8, [rbp + 0xf15]
mov rdx, r9
lea rcx, [rbp + 0xcc0]
call fcn.140074640
nop
mov r8, qword [rbp + 0xcd0]
mov rcx, qword [rbp + 0xcd8]
mov rax, rcx
sub rax, r8
cmp rax, 6
jb 0x14005c9fa
lea rax, [r8 + 6]
mov qword [rbp + 0xcd0], rax
lea rbx, [rbp + 0xcc0]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0xcc0]
lea rax, [0x14039b8f2]
cmp rax, rbx
jbe 0x14005c9ab
lea rax, [rbx + r8]
lea rcx, str._HP
cmp rcx, rax
ja 0x14005c9ab
cmp rbx, rcx
ja 0x14005c9a3
mov rsi, r14
jmp 0x14005c9b0
mov rsi, rbx
sub rsi, rcx
jmp 0x14005c9b0
mov esi, 6
lea rcx, [rbx + 6]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
lea rdx, str._HP
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rsi]
mov r8d, 6
sub r8, rsi
lea rdx, str._HP
add rdx, 6
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp + 0xcc0]
jmp 0x14005ca20
mov qword [rsp + 0x28], 6
lea rax, str._HP
mov qword [rsp + 0x20], rax
mov edx, 6
lea rcx, [rbp + 0xcc0]
call fcn.140075360
xorps xmm0, xmm0
movups xmmword [rbp + 0xd80], xmm0
mov qword [rbp + 0xd90], r14
mov qword [rbp + 0xd98], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd90], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 1
lea rdx, [0x14039ab20]
lea rcx, [rbp + 0xd80]
call fcn.1400728d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xca0], xmm0
mov qword [rbp + 0xcb0], r14
mov qword [rbp + 0xcb8], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xca0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xcb0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0xca0]
cmp qword [rbp + 0xcb8], 0xf
cmova r8, qword [rbp + 0xca0]
movdqa xmm14, xmmword [0x14039d290]
mov rax, qword [0x1403b0a80]
movups xmmword [rsp + 0x50], xmm14
movss xmm0, dword [rax + 0x3778]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400033a0
movaps xmm1, xmm8
divss xmm1, xmm15
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [rbp + 0x320], xmm0
movss dword [rbp + 0x324], xmm10
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x320]
call fcn.14004bf10
nop
mov rdx, qword [rbp + 0xcb8]
cmp rdx, 0xf
jbe 0x14005cb6a
inc rdx
mov rcx, qword [rbp + 0xca0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cb65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140060375
call fcn.1400758f0
mov qword [rbp + 0xcb0], r14
mov qword [rbp + 0xcb8], 0xf
mov byte [rbp + 0xca0], 0
mov rdx, qword [rbp + 0xd98]
cmp rdx, 0xf
jbe 0x14005cbc4
inc rdx
mov rcx, qword [rbp + 0xd80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cbbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006037c
call fcn.1400758f0
mov qword [rbp + 0xd90], r14
mov qword [rbp + 0xd98], 0xf
mov byte [rbp + 0xd80], 0
mov rdx, qword [rbp + 0xcd8]
cmp rdx, 0xf
jbe 0x14005cc1e
inc rdx
mov rcx, qword [rbp + 0xcc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cc19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603ad
call fcn.1400758f0
mov qword [rbp + 0xcd0], r14
mov qword [rbp + 0xcd8], 0xf
mov byte [rbp + 0xcc0], 0
jmp 0x14005cc42
movdqa xmm14, xmmword [0x14039d290]
cmp byte [0x1403a70e1], 0
je 0x14005cfe2
cvttss2si r8d, dword [rbp + 0xc06]
lea r9, [rbp + 0xefd]
test r8d, r8d
jns 0x14005ccb0
neg r8d
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005cc70
dec r9
mov byte [r9], 0x2d
jmp 0x14005ccda
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005ccb0
lea r8, [rbp + 0xefd]
mov rdx, r9
lea rcx, [rbp + 0xd00]
call fcn.140074640
nop
mov r8, qword [rbp + 0xd10]
mov rcx, qword [rbp + 0xd18]
mov rax, rcx
sub rax, r8
cmp rax, 7
jb 0x14005cdaa
lea rax, [r8 + 7]
mov qword [rbp + 0xd10], rax
lea rbx, [rbp + 0xd00]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0xd00]
lea rax, [0x14039b8ff]
cmp rax, rbx
jbe 0x14005cd5b
lea rax, [rbx + r8]
lea rcx, str._ULT
cmp rcx, rax
ja 0x14005cd5b
cmp rbx, rcx
ja 0x14005cd53
mov rsi, r14
jmp 0x14005cd60
mov rsi, rbx
sub rsi, rcx
jmp 0x14005cd60
mov esi, 7
lea rcx, [rbx + 7]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
lea rdx, str._ULT
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rsi]
mov r8d, 7
sub r8, rsi
lea rdx, str._ULT
add rdx, 7
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp + 0xd00]
jmp 0x14005cdd0
mov qword [rsp + 0x28], 7
lea rax, str._ULT
mov qword [rsp + 0x20], rax
mov edx, 7
lea rcx, [rbp + 0xd00]
call fcn.140075360
xorps xmm0, xmm0
movups xmmword [rbp + 0xda0], xmm0
mov qword [rbp + 0xdb0], r14
mov qword [rbp + 0xdb8], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xda0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xdb0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 1
lea rdx, [0x14039ab20]
lea rcx, [rbp + 0xda0]
call fcn.1400728d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xce0], xmm0
mov qword [rbp + 0xcf0], r14
mov qword [rbp + 0xcf8], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xce0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xcf0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0xce0]
cmp qword [rbp + 0xcf8], 0xf
cmova r8, qword [rbp + 0xce0]
mov rax, qword [0x1403b0a80]
movups xmmword [rsp + 0x50], xmm14
movss xmm0, dword [rax + 0x3778]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400033a0
movaps xmm1, xmm6
addss xmm1, xmm10
movaps xmm0, xmm8
divss xmm0, xmm15
subss xmm7, xmm0
movss dword [rbp + 0x350], xmm7
movss dword [rbp + 0x354], xmm1
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x350]
call fcn.14004bf10
nop
mov rdx, qword [rbp + 0xcf8]
cmp rdx, 0xf
jbe 0x14005cf15
inc rdx
mov rcx, qword [rbp + 0xce0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cf10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140060383
call fcn.1400758f0
mov qword [rbp + 0xcf0], r14
mov qword [rbp + 0xcf8], 0xf
mov byte [rbp + 0xce0], 0
mov rdx, qword [rbp + 0xdb8]
cmp rdx, 0xf
jbe 0x14005cf6f
inc rdx
mov rcx, qword [rbp + 0xda0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cf6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006038a
call fcn.1400758f0
mov qword [rbp + 0xdb0], r14
mov qword [rbp + 0xdb8], 0xf
mov byte [rbp + 0xda0], 0
mov rdx, qword [rbp + 0xd18]
cmp rdx, 0xf
jbe 0x14005cfc9
inc rdx
mov rcx, qword [rbp + 0xd00]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cfc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603ad
call fcn.1400758f0
mov qword [rbp + 0xd10], r14
mov qword [rbp + 0xd18], 0xf
mov byte [rbp + 0xd00], 0
cmp byte [0x1403b0b14], 0
je 0x14005d366
cvttss2si r8d, xmm13
lea r9, [rbp + 0xee5]
test r8d, r8d
jns 0x14005d050
neg r8d
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005d010
dec r9
mov byte [r9], 0x2d
jmp 0x14005d07a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14005d050
lea r8, [rbp + 0xee5]
mov rdx, r9
lea rcx, [rbp + 0xd40]
call fcn.140074640
nop
mov r8, qword [rbp + 0xd50]
mov rcx, qword [rbp + 0xd58]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x14005d138
lea rax, [r8 + 8]
mov qword [rbp + 0xd50], rax
lea rbx, [rbp + 0xd40]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0xd40]
lea rax, [0x14039b8e0]
cmp rax, rbx
jbe 0x14005d0f4
lea rax, [rbx + r8]
cmp r12, rax
ja 0x14005d0f4
cmp rbx, r12
ja 0x14005d0ec
mov rsi, r14
jmp 0x14005d0f9
mov rsi, rbx
sub rsi, r12
jmp 0x14005d0f9
mov esi, 8
lea rcx, [rbx + 8]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, r12
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rsi]
mov r8d, 8
sub r8, rsi
lea rdx, [rsi + 8]
add rdx, r12
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp + 0xd40]
jmp 0x14005d157
mov qword [rsp + 0x28], 8
mov qword [rsp + 0x20], r12
mov edx, 8
lea rcx, [rbp + 0xd40]
call fcn.140075360
xorps xmm0, xmm0
movups xmmword [rbp + 0xdc0], xmm0
mov qword [rbp + 0xdd0], r14
mov qword [rbp + 0xdd8], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xdc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xdd0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 1
lea rdx, [0x14039ab20]
lea rcx, [rbp + 0xdc0]
call fcn.1400728d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd20], xmm0
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd30], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0xd20]
cmp qword [rbp + 0xd38], 0xf
cmova r8, qword [rbp + 0xd20]
mov rax, qword [0x1403b0a80]
movups xmmword [rsp + 0x50], xmm14
movss xmm0, dword [rax + 0x3778]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400033a0
movaps xmm1, xmm8
divss xmm1, xmm15
movaps xmm0, xmm9
subss xmm0, xmm1
movss dword [rbp + 0x358], xmm0
movss dword [rbp + 0x35c], xmm11
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x358]
call fcn.14004bf10
nop
mov rdx, qword [rbp + 0xd38]
cmp rdx, 0xf
jbe 0x14005d299
inc rdx
mov rcx, qword [rbp + 0xd20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d294
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140060391
call fcn.1400758f0
mov qword [rbp + 0xd30], r14
mov qword [rbp + 0xd38], 0xf
mov byte [rbp + 0xd20], 0
mov rdx, qword [rbp + 0xdd8]
cmp rdx, 0xf
jbe 0x14005d2f3
inc rdx
mov rcx, qword [rbp + 0xdc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d2ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140060398
call fcn.1400758f0
mov qword [rbp + 0xdd0], r14
mov qword [rbp + 0xdd8], 0xf
mov byte [rbp + 0xdc0], 0
mov rdx, qword [rbp + 0xd58]
cmp rdx, 0xf
jbe 0x14005d34d
inc rdx
mov rcx, qword [rbp + 0xd40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d348
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603ad
call fcn.1400758f0
mov qword [rbp + 0xd50], r14
mov qword [rbp + 0xd58], 0xf
mov byte [rbp + 0xd40], 0
cmp byte [0x1403b0b2c], 0
je 0x14005d649
mov r8, qword [rbp + 0xb38]
mov rdx, qword [rbp + 0xba0]
lea rcx, [rbp + 0xe00]
call fcn.140050980
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x14005d41b
lea rax, [r8 + 8]
mov qword [rbx + 0x10], rax
mov rsi, rbx
cmp rcx, 0xf
jbe 0x14005d3b8
mov rsi, qword [rbx]
lea rax, [0x14039b908]
cmp rax, rsi
jbe 0x14005d3da
lea rax, [rsi + r8]
cmp r15, rax
ja 0x14005d3da
cmp rsi, r15
jbe 0x14005d3e0
mov r14, rsi
sub r14, r15
jmp 0x14005d3e0
mov r14d, 8
lea rcx, [rsi + 8]
inc r8
mov rdx, rsi
call sub.VCRUNTIME140.dll_memmove
mov r8, r14
mov rdx, r15
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + r14]
mov r8d, 8
sub r8, r14
lea rdx, [r14 + 8]
add rdx, r15
call sub.VCRUNTIME140.dll_memcpy
xor r14d, r14d
jmp 0x14005d439
mov qword [rsp + 0x28], 8
mov qword [rsp + 0x20], r15
mov edx, 8
mov rcx, rbx
call fcn.140075360
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xde0], xmm0
mov qword [rbp + 0xdf0], r14
mov qword [rbp + 0xdf8], r14
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0xde0], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0xdf0], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov r8d, 1
lea rdx, [0x14039ab20]
lea rcx, [rbp + 0xde0]
call fcn.1400728d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd60], xmm0
mov qword [rbp + 0xd70], r14
mov qword [rbp + 0xd78], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0xd60]
cmp qword [rbp + 0xd78], 0xf
cmova r8, qword [rbp + 0xd60]
mov rax, qword [0x1403b0a80]
movups xmmword [rsp + 0x50], xmm14
movss xmm0, dword [rax + 0x3778]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400033a0
movaps xmm0, xmm6
addss xmm0, xmm11
divss xmm8, xmm15
subss xmm9, xmm8
movss dword [rbp + 0x360], xmm9
movss dword [rbp + 0x364], xmm0
movaps xmm3, xmm6
mov edx, eax
lea rcx, [rbp + 0x360]
call fcn.14004bf10
nop
mov rdx, qword [rbp + 0xd78]
cmp rdx, 0xf
jbe 0x14005d57c
inc rdx
mov rcx, qword [rbp + 0xd60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d577
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006039f
call fcn.1400758f0
mov qword [rbp + 0xd70], r14
mov qword [rbp + 0xd78], 0xf
mov byte [rbp + 0xd60], 0
mov rdx, qword [rbp + 0xdf8]
cmp rdx, 0xf
jbe 0x14005d5d6
inc rdx
mov rcx, qword [rbp + 0xde0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d5d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603a6
call fcn.1400758f0
mov qword [rbp + 0xdf0], r14
mov qword [rbp + 0xdf8], 0xf
mov byte [rbp + 0xde0], 0
mov rdx, qword [rbp + 0xe18]
cmp rdx, 0xf
jbe 0x14005d630
inc rdx
mov rcx, qword [rbp + 0xe00]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d62b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603ad
call fcn.1400758f0
mov qword [rbp + 0xe10], r14
mov qword [rbp + 0xe18], 0xf
mov byte [rbp + 0xe00], 0
mov rsi, qword [rbp + 0x368]
cmp byte [0x1403b0b04], 0
je 0x14005ed0d
cmp byte [rbp + 0xc00], 0
je 0x14005ed0d
cmp byte [rbp + 0xc02], 0
je 0x14005ed0d
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x14005ed0d
cmp qword [rbp + 0xba0], 0x16dd
je 0x14005ed0d
lea rdx, [rbp + 0xe80]
lea rcx, [rbp + 0xb30]
call fcn.14004e610
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa70], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0xa80], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0xa90], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0xaa0], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0xab0], xmm0
lea r8, [rbp + 0xa70]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xb30]
call fcn.14004ebc0
mov ebx, 0xffff0000
cmp byte [rbp + 0xc01], 0
mov eax, 0xff00ff00
cmovne ebx, eax
cmp byte [rbp + 0x10], 0
jne 0x14005ed0d
movsd xmm0, qword [rbp + 0xc16]
movsd qword [rbp + 0x790], xmm0
mov eax, dword [rbp + 0xc1e]
mov dword [rbp + 0x798], eax
movss xmm0, dword [0x1403b0b68]
movss xmm1, dword [0x1403b0b6c]
unpcklps xmm1, xmm0
movq r9, xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x790]
call fcn.14004aa70
test al, al
je 0x14005ed0d
mov rcx, qword [rbp + 0xba0]
movabs rax, 0xfd1ffffffffffcc9
add rax, rcx
cmp rax, 0x23
ja 0x14005d795
movabs rdx, 0x800000021
bt rdx, rax
jb 0x14005e5ac
movabs rax, 0x2e000000000016c
cmp rcx, rax
je 0x14005e5ac
movss xmm14, dword [0x14039cad8]
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x39]
lea rcx, [rbp + 0x31]
call fcn.14004c2b0
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x41]
lea rcx, [rbp + 0x39]
call fcn.14004c2b0
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x49]
lea rcx, [rbp + 0x41]
call fcn.14004c2b0
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x51]
lea rcx, [rbp + 0x39]
call fcn.14004c2b0
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x61]
lea rcx, [rbp + 0x39]
call fcn.14004c2b0
movaps xmm3, xmm14
mov r8d, 0xff000000
lea rdx, [rbp + 0x71]
lea rcx, [rbp + 0x51]
call fcn.14004c2b0
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x578], 0
mov dword [rbp + 0x580], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x584], xmm0
lea rcx, [rbp + 0x578]
call fcn.1400033a0
movss xmm7, dword [rbp + 0x81]
movss dword [rbp + 0x370], xmm7
movss xmm6, dword [rbp + 0x85]
movss dword [rbp + 0x374], xmm6
movss xmm0, dword [rbp + 0x61]
movss dword [rbp + 0x378], xmm0
movss xmm0, dword [rbp + 0x65]
movss dword [rbp + 0x37c], xmm0
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x370]
lea rdx, [rbp + 0x378]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x568], 0
mov dword [rbp + 0x570], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x574], xmm0
lea rcx, [rbp + 0x568]
call fcn.1400033a0
movss xmm0, dword [rbp + 0x79]
movss dword [rbp + 0x380], xmm0
movss xmm0, dword [rbp + 0x7d]
movss dword [rbp + 0x384], xmm0
movss xmm0, dword [rbp + 0x71]
movss dword [rbp + 0x388], xmm0
movss xmm0, dword [rbp + 0x75]
movss dword [rbp + 0x38c], xmm0
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x380]
lea rdx, [rbp + 0x388]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x558], 0
mov dword [rbp + 0x560], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x564], xmm0
lea rcx, [rbp + 0x558]
call fcn.1400033a0
movss xmm0, dword [rbp + 0x89]
movss dword [rbp + 0x390], xmm0
movss xmm0, dword [rbp + 0x8d]
movss dword [rbp + 0x394], xmm0
movss dword [rbp + 0x398], xmm7
movss dword [rbp + 0x39c], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x390]
lea rdx, [rbp + 0x398]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x548], 0
mov dword [rbp + 0x550], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x554], xmm0
lea rcx, [rbp + 0x548]
call fcn.1400033a0
movss xmm13, dword [rbp + 0x91]
movss dword [rbp + 0x3a0], xmm13
movss xmm12, dword [rbp + 0x95]
movss dword [rbp + 0x3a4], xmm12
movss xmm7, dword [rbp + 0x49]
movss dword [rbp + 0x3a8], xmm7
movss xmm6, dword [rbp + 0x4d]
movss dword [rbp + 0x3ac], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x3a0]
lea rdx, [rbp + 0x3a8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x538], 0
mov dword [rbp + 0x540], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x544], xmm0
lea rcx, [rbp + 0x538]
call fcn.1400033a0
movss xmm11, dword [rbp + 0xa1]
movss dword [rbp + 0x3b0], xmm11
movss xmm10, dword [rbp + 0xa5]
movss dword [rbp + 0x3b4], xmm10
movss dword [rbp + 0x3b8], xmm7
movss dword [rbp + 0x3bc], xmm6
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x3b8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x528], 0
mov dword [rbp + 0x530], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x534], xmm0
lea rcx, [rbp + 0x528]
call fcn.1400033a0
movss xmm9, dword [rbp + 0x99]
movss dword [rbp + 0x3c0], xmm9
movss xmm8, dword [rbp + 0x9d]
movss dword [rbp + 0x3c4], xmm8
movss dword [rbp + 0x3c8], xmm13
movss dword [rbp + 0x3cc], xmm12
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0x3c8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x488], 0
mov dword [rbp + 0x490], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x494], xmm0
lea rcx, [rbp + 0x488]
call fcn.1400033a0
movss xmm7, dword [rbp + 0xa9]
movss dword [rbp + 0x3d0], xmm7
movss xmm6, dword [rbp + 0xad]
movss dword [rbp + 0x3d4], xmm6
movss dword [rbp + 0x3d8], xmm11
movss dword [rbp + 0x3dc], xmm10
movss xmm0, dword [0x14039cb48]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x3d8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x518], 0
mov dword [rbp + 0x520], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x524], xmm0
lea rcx, [rbp + 0x518]
call fcn.1400033a0
movss xmm15, dword [rbp + 0xb1]
movss dword [rbp + 0x3e0], xmm15
movss xmm14, dword [rbp + 0xb5]
movss dword [rbp + 0x3e4], xmm14
movss dword [rbp + 0x3e8], xmm7
movss dword [rbp + 0x3ec], xmm6
movss xmm6, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x3e0]
lea rdx, [rbp + 0x3e8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x508], 0
mov dword [rbp + 0x510], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x514], xmm0
lea rcx, [rbp + 0x508]
call fcn.1400033a0
movss xmm13, dword [rbp + 0xb9]
movss dword [rbp + 0x3f0], xmm13
movss xmm12, dword [rbp + 0xbd]
movss dword [rbp + 0x3f4], xmm12
movss dword [rbp + 0x3f8], xmm9
movss dword [rbp + 0x3fc], xmm8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x3f0]
lea rdx, [rbp + 0x3f8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x4f8], 0
mov dword [rbp + 0x500], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x504], xmm0
lea rcx, [rbp + 0x4f8]
call fcn.1400033a0
movss xmm11, dword [rbp + 0xc1]
movss dword [rbp + 0x400], xmm11
movss xmm10, dword [rbp + 0xc5]
movss dword [rbp + 0x404], xmm10
movss dword [rbp + 0x408], xmm15
movss dword [rbp + 0x40c], xmm14
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x400]
lea rdx, [rbp + 0x408]
mov rcx, r10
call fcn.140023a80
movaps xmm3, xmm6
mov r8d, 0xff000000
lea rdx, [rbp + 0xc9]
lea rcx, [rbp + 0xb9]
call fcn.14004c2b0
movaps xmm3, xmm6
mov r8d, ebx
lea rdx, [rbp + 0x39]
lea rcx, [rbp + 0x31]
call fcn.14004c2b0
call fcn.140005cd0
mov r10, rax
mov r8d, ebx
shr r8d, 0x18
mov ecx, ebx
shr ecx, 0x10
movzx r9d, cl
mov ecx, ebx
shr ecx, 8
movzx edx, cl
mov ecx, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss xmm3, dword [0x14039cc2c]
divss xmm0, xmm3
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
divss xmm2, xmm3
xorps xmm1, xmm1
cvtsi2ss xmm1, r9
divss xmm1, xmm3
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
lea rcx, [rbp + 0x7b0]
call fcn.140001250
lea rcx, [rbp + 0x7b0]
call fcn.1400038b0
movss xmm7, dword [rbp + 0x41]
movss dword [rbp + 0x410], xmm7
movss xmm6, dword [rbp + 0x45]
movss dword [rbp + 0x414], xmm6
movss xmm9, dword [rbp + 0x39]
movss dword [rbp + 0x418], xmm9
movss xmm8, dword [rbp + 0x3d]
movss dword [rbp + 0x41c], xmm8
movss xmm0, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x410]
lea rdx, [rbp + 0x418]
mov rcx, r10
call fcn.140023a80
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x49]
lea rcx, [rbp + 0x41]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x51]
lea rcx, [rbp + 0x39]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x61]
lea rcx, [rbp + 0x39]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x71]
lea rcx, [rbp + 0x51]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x81]
lea rcx, [rbp + 0x61]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x79]
lea rcx, [rbp + 0x71]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x89]
lea rcx, [rbp + 0x81]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x91]
lea rcx, [rbp + 0x49]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xa1]
lea rcx, [rbp + 0x49]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0x99]
lea rcx, [rbp + 0x91]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xa9]
lea rcx, [rbp + 0xa1]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xb1]
lea rcx, [rbp + 0xa9]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xb9]
lea rcx, [rbp + 0x99]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xc1]
lea rcx, [rbp + 0xb1]
call fcn.14004c2b0
movss xmm3, dword [0x14039cad8]
mov r8d, ebx
lea rdx, [rbp + 0xc9]
lea rcx, [rbp + 0xb9]
call fcn.14004c2b0
movss xmm0, dword [rbp + 0x31]
movss dword [rbp + 0x420], xmm0
movss xmm1, dword [rbp + 0x35]
movss dword [rbp + 0x424], xmm1
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movss xmm2, dword [0x14039cad8]
lea rdx, [rbp + 0x420]
mov rcx, rdi
call fcn.140024410
movss dword [rbp + 0x428], xmm7
movss dword [rbp + 0x42c], xmm6
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movss xmm6, dword [0x14039cad8]
movaps xmm2, xmm6
lea rdx, [rbp + 0x428]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x49]
movss dword [rbp + 0x430], xmm0
movss xmm0, dword [rbp + 0x4d]
movss dword [rbp + 0x434], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x430]
mov rcx, rdi
call fcn.140024410
movss dword [rbp + 0x438], xmm9
movss dword [rbp + 0x43c], xmm8
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x438]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x51]
movss dword [rbp + 0x440], xmm0
movss xmm1, dword [rbp + 0x55]
movss dword [rbp + 0x444], xmm1
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x440]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x61]
movss dword [rbp + 0x448], xmm0
movss xmm0, dword [rbp + 0x65]
movss dword [rbp + 0x44c], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x448]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x71]
movss dword [rbp + 0x450], xmm0
movss xmm0, dword [rbp + 0x75]
movss dword [rbp + 0x454], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x450]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x79]
movss dword [rbp + 0x458], xmm0
movss xmm0, dword [rbp + 0x7d]
movss dword [rbp + 0x45c], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x458]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x81]
movss dword [rbp + 0x460], xmm0
movss xmm0, dword [rbp + 0x85]
movss dword [rbp + 0x464], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x460]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x89]
movss dword [rbp + 0x210], xmm0
movss xmm0, dword [rbp + 0x8d]
movss dword [rbp + 0x214], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x210]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x91]
movss dword [rbp + 0x218], xmm0
movss xmm0, dword [rbp + 0x95]
movss dword [rbp + 0x21c], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x218]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0x99]
movss dword [rbp + 0x220], xmm0
movss xmm0, dword [rbp + 0x9d]
movss dword [rbp + 0x224], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x220]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0xa1]
movss dword [rbp + 0x228], xmm0
movss xmm0, dword [rbp + 0xa5]
movss dword [rbp + 0x22c], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x228]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0xa9]
movss dword [rbp + 0x318], xmm0
movss xmm0, dword [rbp + 0xad]
movss dword [rbp + 0x31c], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x318]
mov rcx, rdi
call fcn.140024410
movss dword [rbp + 0x230], xmm15
movss dword [rbp + 0x234], xmm14
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x230]
mov rcx, rdi
call fcn.140024410
movss dword [rbp + 0x238], xmm11
movss dword [rbp + 0x23c], xmm10
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x238]
mov rcx, rdi
call fcn.140024410
movss dword [rbp + 0x240], xmm13
movss dword [rbp + 0x244], xmm12
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x240]
mov rcx, rdi
call fcn.140024410
movss xmm0, dword [rbp + 0xc9]
movss dword [rbp + 0x248], xmm0
movss xmm1, dword [rbp + 0xcd]
movss dword [rbp + 0x24c], xmm1
mov dword [rsp + 0x20], r14d
mov r9d, 0xffff9966
movaps xmm2, xmm6
lea rdx, [rbp + 0x248]
mov rcx, rdi
call fcn.140024410
jmp 0x14005ed0d
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x4e8], 0
mov dword [rbp + 0x4f0], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x4f4], xmm0
lea rcx, [rbp + 0x4e8]
call fcn.1400033a0
movss xmm7, dword [rbp + 0x39]
movss dword [rbp + 0x250], xmm7
movss xmm6, dword [rbp + 0x3d]
movss dword [rbp + 0x254], xmm6
movss xmm0, dword [rbp + 0x31]
movss dword [rbp + 0x258], xmm0
movss xmm15, dword [rbp + 0x35]
movss dword [rbp + 0x25c], xmm15
movss xmm8, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x258]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x4d8], 0
mov dword [rbp + 0x4e0], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x4e4], xmm0
lea rcx, [rbp + 0x4d8]
call fcn.1400033a0
movss xmm13, dword [rbp + 0x41]
movss dword [rbp + 0x260], xmm13
movss xmm11, dword [rbp + 0x45]
movss dword [rbp + 0x264], xmm11
movss dword [rbp + 0x268], xmm7
movss dword [rbp + 0x26c], xmm6
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rbp + 0x260]
lea rdx, [rbp + 0x268]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x4c8], 0
mov dword [rbp + 0x4d0], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x4d4], xmm0
lea rcx, [rbp + 0x4c8]
call fcn.1400033a0
movss xmm14, dword [rbp + 0x51]
movss dword [rbp + 0x270], xmm14
movss xmm12, dword [rbp + 0x55]
movss dword [rbp + 0x274], xmm12
movss dword [rbp + 0x278], xmm13
movss dword [rbp + 0x27c], xmm11
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x278]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
mov qword [rbp + 0x4b8], 0
mov dword [rbp + 0x4c0], 0
movss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x4c4], xmm0
lea rcx, [rbp + 0x4b8]
call fcn.1400033a0
movss xmm10, dword [rbp + 0x61]
movss dword [rbp + 0x280], xmm10
movss xmm9, dword [rbp + 0x65]
movss dword [rbp + 0x284], xmm9
movss dword [rbp + 0x288], xmm13
movss dword [rbp + 0x28c], xmm11
movss dword [rsp + 0x20], xmm8
mov r9d, eax
lea r8, [rbp + 0x280]
lea rdx, [rbp + 0x288]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov r8d, ebx
shr r8d, 0x18
mov ecx, ebx
shr ecx, 0x10
movzx r9d, cl
shr ebx, 8
movzx edx, bl
mov ecx, r8d
xorps xmm8, xmm8
cvtsi2ss xmm8, rcx
movss xmm0, dword [0x14039cc2c]
divss xmm8, xmm0
xorps xmm7, xmm7
cvtsi2ss xmm7, rdx
divss xmm7, xmm0
xorps xmm6, xmm6
cvtsi2ss xmm6, r9
divss xmm6, xmm0
mov rax, qword [0x1403b0a80]
movss dword [rbp + 0x4a8], xmm6
movss dword [rbp + 0x4ac], xmm7
mov dword [rbp + 0x4b0], 0
movaps xmm0, xmm8
mulss xmm0, dword [rax + 0x3778]
movss dword [rbp + 0x4b4], xmm0
lea rcx, [rbp + 0x4a8]
call fcn.1400033a0
movss xmm0, dword [rbp + 0x39]
movss dword [rbp + 0x290], xmm0
movss xmm0, dword [rbp + 0x3d]
movss dword [rbp + 0x294], xmm0
movss xmm0, dword [rbp + 0x31]
movss dword [rbp + 0x298], xmm0
movss dword [rbp + 0x29c], xmm15
movss xmm0, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x290]
lea rdx, [rbp + 0x298]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
movss dword [rbp + 0x478], xmm6
movss dword [rbp + 0x47c], xmm7
mov dword [rbp + 0x480], 0
movaps xmm0, xmm8
mulss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x484], xmm0
lea rcx, [rbp + 0x478]
call fcn.1400033a0
movss dword [rbp + 0x2a0], xmm13
movss dword [rbp + 0x2a4], xmm11
movss xmm0, dword [rbp + 0x39]
movss dword [rbp + 0x2a8], xmm0
movss xmm0, dword [rbp + 0x3d]
movss dword [rbp + 0x2ac], xmm0
movss xmm0, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x2a8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
movss dword [rbp + 0x588], xmm6
movss dword [rbp + 0x58c], xmm7
mov dword [rbp + 0x590], 0
movaps xmm0, xmm8
mulss xmm0, dword [rcx + 0x3778]
movss dword [rbp + 0x594], xmm0
lea rcx, [rbp + 0x588]
call fcn.1400033a0
movss dword [rbp + 0x2b0], xmm14
movss dword [rbp + 0x2b4], xmm12
movss dword [rbp + 0x2b8], xmm13
movss dword [rbp + 0x2bc], xmm11
movss xmm0, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x2b0]
lea rdx, [rbp + 0x2b8]
mov rcx, r10
call fcn.140023a80
mov rax, qword [0x1403b0a80]
mov rax, qword [rax + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140005b90
mov r10, rax
mov rcx, qword [0x1403b0a80]
movss dword [rbp + 0x468], xmm6
movss dword [rbp + 0x46c], xmm7
mov dword [rbp + 0x470], 0
mulss xmm8, dword [rcx + 0x3778]
movss dword [rbp + 0x474], xmm8
lea rcx, [rbp + 0x468]
call fcn.1400033a0
movss dword [rbp + 0x2c0], xmm10
movss dword [rbp + 0x2c4], xmm9
movss dword [rbp + 0x2c8], xmm13
movss dword [rbp + 0x2cc], xmm11
movss xmm6, dword [0x14039cad8]
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x2c0]
lea rdx, [rbp + 0x2c8]
mov rcx, r10
call fcn.140023a80
movss xmm0, dword [rbp + 0x31]
movss dword [rbp + 0x2d0], xmm0
movss dword [rbp + 0x2d4], xmm15
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x2d0]
mov rcx, rdi
call fcn.1400229b0
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, 0xffff9966
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
movss dword [rbp + 0x2d8], xmm13
movss dword [rbp + 0x2dc], xmm11
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x2d8]
mov rcx, rdi
call fcn.1400229b0
dec dword [rdi + 0x78]
mov r9d, 0xffff9966
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
movss xmm0, dword [rbp + 0x39]
movss dword [rbp + 0x2e0], xmm0
movss xmm0, dword [rbp + 0x3d]
movss dword [rbp + 0x2e4], xmm0
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x2e0]
mov rcx, rdi
call fcn.1400229b0
dec dword [rdi + 0x78]
mov r9d, 0xffff9966
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
movss dword [rbp + 0x2e8], xmm14
movss dword [rbp + 0x2ec], xmm12
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x2e8]
mov rcx, rdi
call fcn.1400229b0
dec dword [rdi + 0x78]
mov r9d, 0xffff9966
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
movss dword [rbp + 0x2f0], xmm10
movss dword [rbp + 0x2f4], xmm9
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp + 0x2f0]
mov rcx, rdi
call fcn.1400229b0
dec dword [rdi + 0x78]
mov r9d, 0xffff9966
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022400
mov dword [rdi + 0x78], r14d
cmp byte [0x1403b0b38], 0
je 0x14005eea1
cmp byte [rbp + 0xc00], 0
je 0x14005eea1
xorps xmm12, xmm12
cmp byte [rbp + 0xc02], 0
je 0x14005eea5
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x14005eea5
cmp qword [rbp + 0xba0], 0x16dd
je 0x14005eea5
mov qword [rbp + 0x118], 0
movss xmm9, dword [0x1403b0b6c]
movss xmm10, dword [0x1403b0b68]
movss xmm8, dword [rbp + 0xc16]
movss xmm7, dword [rbp + 0xc1a]
movss xmm6, dword [rbp + 0xc1e]
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movsd qword [rbp + 0x7a0], xmm0
movss dword [rbp + 0x7a8], xmm6
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq r9, xmm0
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0x7a0]
call fcn.14004aa70
movss xmm13, dword [0x14039c9d4]
test al, al
je 0x14005eec7
mov r9d, 2
mov rdx, qword [rbp + 0x118]
cmp byte [rbp + 0xc01], 0
je 0x14005ee42
mulss xmm10, xmm13
mulss xmm9, xmm13
mov r8d, 0xffdaa096
unpcklps xmm9, xmm10
movq rcx, xmm9
call fcn.14004caa0
movss xmm6, dword [rbp + 0xc1e]
movss dword [rbp + 0xc1e], xmm6
movss xmm7, dword [rbp + 0xc1a]
movss xmm8, dword [rbp + 0xc16]
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movsd qword [rbp + 0xc16], xmm0
jmp 0x14005eec7
movss xmm1, dword [0x1403b0b68]
mulss xmm1, xmm13
movss xmm0, dword [0x1403b0b6c]
mulss xmm0, xmm13
mov r8d, 0x6666cc96
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.14004caa0
movss xmm6, dword [rbp + 0xc1e]
movss dword [rbp + 0xc1e], xmm6
movss xmm7, dword [rbp + 0xc1a]
movss xmm8, dword [rbp + 0xc16]
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movsd qword [rbp + 0xc16], xmm0
jmp 0x14005eec7
xorps xmm12, xmm12
movss xmm6, dword [rbp + 0xc1e]
movss xmm7, dword [rbp + 0xc1a]
movss xmm8, dword [rbp + 0xc16]
movss xmm13, dword [0x14039c9d4]
cmp byte [0x1403b0af7], 0
je 0x14005f1db
cmp byte [rbp + 0xc00], 0
je 0x14005f1db
cmp byte [rbp + 0xc02], 0
je 0x14005f1db
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x14005f1db
cmp qword [rbp + 0xba0], 0x16dd
je 0x14005f1db
mov qword [rbp + 0x120], 0
mov dword [rbp + 0x2fc], 0
movss xmm2, dword [0x1403b0b68]
movaps xmm1, xmm7
addss xmm1, dword [0x14039c98c]
movaps xmm0, xmm8
unpcklps xmm0, xmm1
movsd qword [rbp + 0x5e0], xmm0
movss dword [rbp + 0x5e8], xmm6
movss xmm0, dword [0x1403b0b6c]
unpcklps xmm0, xmm2
movq r9, xmm0
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x5e0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movss xmm2, dword [0x1403b0b68]
subss xmm7, dword [0x14039caa8]
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movsd qword [rbp + 0x5f0], xmm0
movss dword [rbp + 0x5f8], xmm6
movss xmm0, dword [0x1403b0b6c]
unpcklps xmm0, xmm2
movq r9, xmm0
lea r8, [rbp + 0x2f8]
lea rdx, [rbp + 0x5f0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movss xmm10, dword [rbp + 0x124]
movaps xmm7, xmm10
subss xmm7, dword [rbp + 0x2fc]
andps xmm7, xmmword [0x14039d330]
cvtps2pd xmm0, xmm7
mulsd xmm0, qword [0x14039cac0]
cvtpd2ps xmm6, xmm0
mov rax, qword [0x1403b0a80]
movss xmm0, dword [0x1403b01d8]
movss dword [rbp + 0x498], xmm0
movss xmm1, dword [0x1403b01dc]
movss dword [rbp + 0x49c], xmm1
movss xmm0, dword [0x1403b01e0]
movss dword [rbp + 0x4a0], xmm0
movss xmm1, dword [0x1403b01e4]
mulss xmm1, dword [rax + 0x3778]
movss dword [rbp + 0x4a4], xmm1
lea rcx, [rbp + 0x498]
call fcn.1400033a0
mov dword [rsp + 0x50], eax
movaps xmm9, xmm7
addss xmm9, dword [0x14039cb8c]
movaps xmm8, xmm6
addss xmm8, dword [0x14039cad8]
divss xmm7, dword [0x14039cb50]
subss xmm10, xmm7
subss xmm10, dword [0x14039ca44]
mulss xmm6, xmm13
movss xmm7, dword [rbp + 0x120]
subss xmm7, xmm6
subss xmm7, dword [0x14039ca44]
cvttss2si r9d, xmm9
cvttss2si r8d, xmm8
cvttss2si edx, xmm10
cvttss2si ecx, xmm7
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14004c3d0
movdqa xmm0, xmmword [0x14039cdf0]
movups xmmword [rbp + 0x968], xmm0
lea rcx, [rbp + 0x968]
call fcn.1400033a0
mov ebx, eax
mov rcx, qword [0x1403b0a80]
mov rcx, qword [rcx + 0x4030]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rcx]
call fcn.140005b90
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 xmm4, dword [0x14039cc2c]
divss xmm3, xmm4
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
divss xmm2, xmm4
xorps xmm1, xmm1
cvtsi2ss xmm1, r9
divss xmm1, xmm4
xorps xmm0, xmm0
cvtsi2ss xmm0, r10
divss xmm0, xmm4
mov rax, qword [0x1403b0a80]
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
movss dword [rbp - 0x58], xmm2
mulss xmm3, dword [rax + 0x3778]
movss dword [rbp - 0x54], xmm3
lea rcx, [rbp - 0x60]
call fcn.1400033a0
movaps xmm0, xmm7
addss xmm0, xmm8
movss dword [rbp + 0x300], xmm0
movaps xmm1, xmm10
addss xmm1, xmm9
movss dword [rbp + 0x304], xmm1
movss dword [rbp + 0x308], xmm7
movss dword [rbp + 0x30c], xmm10
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0x300]
lea rdx, [rbp + 0x308]
mov rcx, r11
call fcn.140023cf0
cmp byte [0x1403b0acf], 0
je 0x14005fb9c
cmp byte [rbp + 0xc00], 0
je 0x14005fb9c
cmp byte [rbp + 0xc02], 0
je 0x14005fb9c
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x14005fb9c
cmp qword [rbp + 0xba0], 0x16dd
je 0x14005fb9c
mov qword [rbp + 0x1a0], 0
mov dword [rbp + 0x1a8], 0
mov qword [rbp + 0x190], 0
mov dword [rbp + 0x198], 0
mov qword [rbp + 0x180], 0
mov dword [rbp + 0x188], 0
mov qword [rbp + 0x1f0], 0
mov dword [rbp + 0x1f8], 0
mov qword [rbp + 0x1e0], 0
mov dword [rbp + 0x1e8], 0
mov qword [rbp + 0x200], 0
mov dword [rbp + 0x208], 0
mov qword [rbp + 0x1c8], 0
mov dword [rbp + 0x1d0], 0
mov qword [rbp + 0x1b0], 0
mov dword [rbp + 0x1b8], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 0
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x200]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x180]
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0xb30]
call fcn.14004cf80
movss xmm6, dword [0x1403b0b6c]
movss xmm7, dword [0x1403b0b68]
movsd xmm0, qword [rbp + 0x1a0]
movsd qword [rbp + 0x600], xmm0
mov eax, dword [rbp + 0x1a8]
mov dword [rbp + 0x608], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x600]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp + 0x190]
movsd qword [rbp + 0x610], xmm0
mov eax, dword [rbp + 0x198]
mov dword [rbp + 0x618], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x610]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp + 0x180]
movsd qword [rbp + 0x620], xmm0
mov eax, dword [rbp + 0x188]
mov dword [rbp + 0x628], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x620]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp + 0x1f0]
movsd qword [rbp + 0x700], xmm0
mov eax, dword [rbp + 0x1f8]
mov dword [rbp + 0x708], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x700]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp + 0x1e0]
movsd qword [rbp + 0x730], xmm0
mov eax, dword [rbp + 0x1e8]
mov dword [rbp + 0x738], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0x730]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp + 0x200]
movsd qword [rbp + 0x720], xmm0
mov eax, dword [rbp + 0x208]
mov dword [rbp + 0x728], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x720]
call fcn.14004aa70
test al, al
jne 0x14005f53d
lea rcx, [rbp + 0xb30]
call fcn.14004f2d0
movss xmm8, dword [0x14039cc30]
movsd xmm10, qword [0x14039cae8]
jmp 0x140060351
movsd xmm0, qword [rbp + 0x1c8]
movsd qword [rbp + 0x710], xmm0
mov eax, dword [rbp + 0x1d0]
mov dword [rbp + 0x718], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x710]
call fcn.14004aa70
test al, al
je 0x14005f51a
movsd xmm0, qword [rbp + 0x1b0]
movsd qword [rbp + 0x6f0], xmm0
mov eax, dword [rbp + 0x1b8]
mov dword [rbp + 0x6f8], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x6f0]
call fcn.14004aa70
test al, al
je 0x14005f51a
mov dword [rsp + 0x20], 0x96
cmp byte [rbp + 0xc01], 0
je 0x14005f883
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x66c]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm9, qword [rbp + 0x128]
movq rdx, xmm9
movsd xmm6, qword [rbp + 0x130]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x670]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm10, qword [rbp + 0x138]
movq rdx, xmm10
movq rcx, xmm9
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x674]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm8, qword [rbp + 0xe0]
movq rdx, xmm8
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x678]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm6
movq rcx, xmm8
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x598]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm11, qword [rbp + 0xe8]
movq rdx, xmm11
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x59c]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm7, qword [rbp + 0x100]
movq rdx, xmm7
movq rcx, xmm9
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5a0]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm9, qword [rbp + 0xf0]
movq rdx, xmm9
movq rcx, xmm8
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5a4]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm6, qword [rbp + 0xf8]
movq rdx, xmm6
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5a8]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm7
movq rcx, xmm11
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5ac]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm6
movq rcx, xmm7
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5b0]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm9
movq rcx, xmm6
call fcn.14004caa0
xor edx, edx
mov r9d, 0xcc
mov r8d, r9d
lea rcx, [rbp + 0x5b4]
jmp 0x14005fb77
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5b8]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm9, qword [rbp + 0x128]
movq rdx, xmm9
movsd xmm6, qword [rbp + 0x130]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5bc]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm10, qword [rbp + 0x138]
movq rdx, xmm10
movq rcx, xmm9
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5c0]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm8, qword [rbp + 0xe0]
movq rdx, xmm8
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5c4]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm6
movq rcx, xmm8
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5c8]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm11, qword [rbp + 0xe8]
movq rdx, xmm11
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5cc]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm7, qword [rbp + 0x100]
movq rdx, xmm7
movq rcx, xmm9
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5d0]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm9, qword [rbp + 0xf0]
movq rdx, xmm9
movq rcx, xmm8
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5d4]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movsd xmm6, qword [rbp + 0xf8]
movq rdx, xmm6
movq rcx, xmm10
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x5d8]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm7
movq rcx, xmm11
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x65c]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm6
movq rcx, xmm7
call fcn.14004caa0
mov dword [rsp + 0x20], 0x96
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x630]
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm9
movq rcx, xmm6
call fcn.14004caa0
mov edx, 0xff
mov r9d, 0x99
mov r8d, 0x33
lea rcx, [rbp + 0x740]
mov dword [rsp + 0x20], 0x96
call fcn.14004a9c0
mov r9d, 1
mov r8d, dword [rax]
movq rdx, xmm11
movq rcx, xmm9
call fcn.14004caa0
cmp byte [0x1403a70e3], 0
je 0x140060050
cmp byte [rbp + 0xc00], 0
je 0x140060050
cmp byte [rbp + 0xc02], 0
je 0x140060050
movss xmm0, dword [0x1403b02da]
comiss xmm0, xmm12
jbe 0x140060050
cmp qword [rbp + 0xba0], 0x16dd
je 0x140060050
movsd xmm6, qword [rbp + 0xc16]
mov ebx, dword [rbp + 0xc1e]
mov qword [rbp], 0
mov dword [rbp + 8], 0
mov qword [rbp - 0x10], 0
mov dword [rbp - 8], 0
mov qword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
mov qword [rbp - 0x30], 0
mov dword [rbp - 0x28], 0
mov qword [rbp - 0x40], 0
mov dword [rbp - 0x38], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x78], 0
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x10]
lea rdx, [rbp]
lea rcx, [rbp + 0xb30]
call fcn.14004de60
movss xmm7, dword [0x1403b0b6c]
movss xmm8, dword [0x1403b0b68]
movsd qword [rbp + 0x6e0], xmm6
mov dword [rbp + 0x6e8], ebx
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x6e0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp]
movsd qword [rbp + 0x6d0], xmm0
mov eax, dword [rbp + 8]
mov dword [rbp + 0x6d8], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x6d0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp + 0x6c0], xmm0
mov eax, dword [rbp - 8]
mov dword [rbp + 0x6c8], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x6c0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp - 0x20]
movsd qword [rbp + 0x6b0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0x6b8], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rsp + 0x78]
lea rdx, [rbp + 0x6b0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp - 0x30]
movsd qword [rbp + 0x6a0], xmm0
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x6a8], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x6a0]
call fcn.14004aa70
test al, al
je 0x1400602e5
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp + 0x690], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x698], eax
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq r9, xmm0
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x690]
call fcn.14004aa70
test al, al
je 0x14005f51a
mov dword [rsp + 0x20], 0xff
cmp byte [rbp + 0xc01], 0
je 0x14005ff23
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x634]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
movsd xmm6, qword [rsp + 0x68]
movq rdx, xmm6
mov rcx, qword [rsp + 0x70]
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0xff
mov r9d, 0x66
mov r8d, 0x33
lea rcx, [rbp + 0x764]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rsp + 0x60]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0xff
mov r9d, 0x66
mov r8d, 0x33
lea rcx, [rbp + 0x760]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rsp + 0x78]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0xff
mov r9d, 0x66
mov r8d, 0x33
lea rcx, [rbp + 0x75c]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rbp - 0x80]
movq rcx, xmm6
call fcn.14004caa0
mov edx, 0xff
mov r9d, 0x66
mov r8d, 0x33
lea rcx, [rbp + 0x758]
jmp 0x14006002c
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x754]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
movsd xmm6, qword [rsp + 0x68]
movq rdx, xmm6
mov rcx, qword [rsp + 0x70]
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x750]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rsp + 0x60]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x74c]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rsp + 0x78]
movq rcx, xmm6
call fcn.14004caa0
mov dword [rsp + 0x20], 0xff
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x748]
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rbp - 0x80]
movq rcx, xmm6
call fcn.14004caa0
mov edx, 0x66
mov r9d, 0xff
mov r8d, 0x99
lea rcx, [rbp + 0x744]
mov dword [rsp + 0x20], 0xff
call fcn.14004a9c0
mov r9d, 3
mov r8d, dword [rax]
mov rdx, qword [rbp - 0x78]
movq rcx, xmm6
call fcn.14004caa0
cmp byte [0x1403a713a], 0
je 0x1400602e5
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400600a1
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400600a1
mov ecx, 6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400600a1
mov ecx, 5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400602e5
mov qword [rbp - 0x70], 0
movss xmm1, dword [0x1403b0b68]
movsd xmm0, qword [rbp + 0xc52]
movsd qword [rbp + 0x680], xmm0
mov eax, dword [rbp + 0xc5a]
mov dword [rbp + 0x688], eax
movss xmm0, dword [0x1403b0b6c]
unpcklps xmm0, xmm1
movq r9, xmm0
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x680]
call fcn.14004aa70
test al, al
je 0x1400602e5
mov eax, dword [0x1403b0ae0]
test eax, eax
jne 0x1400601fe
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
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 [0x1403b0ad8], r8d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
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 [0x1403b0ab8], 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 [0x1403b0ac8], xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
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 [0x1403b0b20], r8d
cmp r8d, 5
jl 0x1400601c2
neg dword [0x1403b0ad8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
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 [0x1403b0b20], r8d
mov eax, dword [0x1403b0ae0]
cmp r8d, 5
jl 0x1400601fe
neg dword [0x1403b0ab8]
inc eax
mov dword [0x1403b0ae0], eax
cmp eax, 0xe
jne 0x140060212
mov dword [0x1403b0ae0], r14d
cmp byte [rbp + 0xc00], 0
je 0x1400602e5
cmp byte [rbp + 0xc01], 0
je 0x1400602e5
cmp qword [0x1403b0230], 0
je 0x1400602e5
cmp byte [rbp + 0xc02], 0
je 0x1400602e5
movd xmm1, dword [0x1403b0ab8]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp - 0x6c]
movd xmm0, dword [0x1403b0ad8]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x70]
movss dword [rbp + 0x310], xmm0
movss dword [rbp + 0x314], xmm1
movss xmm2, dword [0x1403b0ac8]
comiss xmm12, xmm2
jae 0x1400602e5
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x1ff
movss xmm0, dword [0x14039cb64]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
lea rdx, [rbp + 0x310]
mov rcx, rdi
call fcn.140022ee0
movss xmm0, dword [0x14039cb0c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, 0xffffffff
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400214d0
mov dword [rdi + 0x78], r14d
mov rdx, qword [rbp + 0xbd2]
cmp rdx, 0xf
jbe 0x140060326
inc rdx
mov rcx, qword [rbp + 0xbba]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140060321
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400603b4
call fcn.1400758f0
movsd xmm10, qword [0x14039cae8]
movss xmm8, dword [0x14039cc30]
mov qword [rbp + 0xbca], r14
mov qword [rbp + 0xbd2], 0xf
mov byte [rbp + 0xbba], 0
add r13, 0x12e
cmp r13, rsi
je 0x1400603bb
movss xmm14, dword [0x14039c9d4]
mov ebx, dword [rbp - 0x68]
jmp 0x14005bbb0
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]
int3
movzx r8d, byte [0x1403b0adc]
jmp 0x1400603ce
movss xmm13, dword [0x14039c9d4]
test r8b, r8b
je 0x1400603e3
call fcn.1400598f0
jmp 0x1400603e3
movss xmm13, dword [0x14039c9d4]
cmp byte [0x1403b0b2b], 0
je 0x14006057d
movss xmm0, dword [0x1403b01e8]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [0x1403b01ec]
movss dword [rbp - 0x5c], xmm1
movss xmm0, dword [0x1403b01f0]
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [0x1403b01f4]
mov r8, qword [0x1403b0a80]
mulss xmm1, dword [r8 + 0x3778]
movss dword [rbp - 0x54], xmm1
lea rcx, [rbp - 0x60]
call fcn.1400033a0
mov ebx, eax
xorps xmm6, xmm6
movss xmm8, dword [0x14039cb64]
test eax, 0xff000000
je 0x1400604be
movss xmm2, dword [0x1403a7114]
comiss xmm6, xmm2
jae 0x1400604be
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
lea rdx, [rbp + 0x1d8]
mov rcx, rdi
call fcn.140022ee0
movss xmm7, dword [0x14039ca44]
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400214d0
mov dword [rdi + 0x78], r14d
mov r8, qword [0x1403b0a80]
jmp 0x1400604c6
movss xmm7, dword [0x14039ca44]
cmp byte [0x1403b0b0a], 0
je 0x14006057d
movss xmm0, dword [0x1403b01b8]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [0x1403b01bc]
movss dword [rbp - 0x5c], xmm1
movss xmm0, dword [0x1403b01c0]
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [0x1403b01c4]
mulss xmm1, dword [r8 + 0x3778]
movss dword [rbp - 0x54], xmm1
lea rcx, [rbp - 0x60]
call fcn.1400033a0
mov ebx, eax
test eax, 0xff000000
je 0x14006057d
movss xmm2, dword [0x1403a718c]
comiss xmm6, xmm2
jae 0x14006057d
subss xmm2, xmm13
mov dword [rsp + 0x28], 0x1ff
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
lea rdx, [rbp + 0x1d8]
mov rcx, rdi
call fcn.140022ee0
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400214d0
mov dword [rdi + 0x78], r14d
mov rcx, qword [rbp + 0xf18]
xor rcx, rsp
call fcn.140075800
lea r11, [rsp + 0x10c0]
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
call fcn.14004a490
nop
call fcn.14002e7e0
int3