Function at 0x180044e90
Capabilities:
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 - 0x3d8]
sub rsp, 0x4b0
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 [0x18006d040]
xor rax, rsp
mov qword [rbp + 0x300], rax
xor r13d, r13d
call fcn.1800026f0
movdqa xmm12, xmmword [0x1800638e0]
xorps xmm10, xmm10
cmp byte [rax + 0x1b8], r13b
je 0x1800450cd
cmp qword [0x18006e508], r13
je 0x180047e86
mov esi, r13d
call fcn.1800026f0
mov rcx, rax
mov rax, qword [rax + 0x1c8]
sub rax, qword [rcx + 0x1c0]
sar rax, 3
test rax, rax
je 0x1800450cd
mov edi, r13d
nop
call fcn.1800026f0
mov rax, qword [rax + 0x1c0]
mov rbx, qword [rdi + rax]
test rbx, rbx
je 0x1800450a4
call fcn.180044490
lea rdx, [rbp + 0x68]
mov rcx, rbx
call fcn.18004c9d0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x30], 0
cmp qword [0x18006e520], 0
je 0x180044fcb
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.18004df30
movss xmm6, dword [rsp + 0x30]
movss xmm7, dword [rsp + 0x34]
jmp 0x180044fd3
movaps xmm6, xmm10
movaps xmm7, xmm10
movups xmmword [rbp + 0x2f0], xmm12
lea rcx, [rbp + 0x2f0]
call fcn.180004b90
mov r15d, eax
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.18004bc30
mov rbx, rax
movss dword [rsp + 0x58], xmm6
movss dword [rsp + 0x5c], xmm7
mov r14, qword [0x18006e420]
cmp dword [r14 + 0x1db8], 0
jg 0x180045031
mov r8d, 0x68b
lea rdx, [0x18005ba70]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r14 + 0x1dc0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180007640
cmp qword [rbx + 0x18], 0xf
jbe 0x180045053
mov rbx, qword [rbx]
mov r9, rbx
mov r8d, r15d
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.180026620
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800450a4
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004509f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045626
call fcn.180053db4
inc esi
add rdi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x1c8]
sub rcx, qword [rax + 0x1c0]
sar rcx, 3
movsxd rax, esi
cmp rax, rcx
jb 0x180044f60
cmp qword [0x18006e508], 0
je 0x180047e86
mov rax, qword [0x18006e558]
test rax, rax
je 0x180047d0b
cmp qword [0x18006e538], 0
je 0x180047d0b
cmp qword [0x18006e520], 0
je 0x180047d0b
call fcn.1800026f0
movss xmm14, dword [0x1800632ac]
cmp byte [rax + 0xb], 0
jne 0x180045135
call fcn.1800026f0
cmp byte [rax + 0xc], 0
jne 0x180045135
call fcn.1800026f0
cmp byte [rax + 0xd], 0
je 0x18004540e
mov r14d, r13d
call fcn.1800026f0
mov rcx, rax
mov rax, qword [rax + 0x1f8]
sub rax, qword [rcx + 0x1f0]
sar rax, 3
test rax, rax
je 0x18004540e
mov rsi, r13
movss xmm11, dword [0x18006330c]
movss xmm12, dword [0x18006331c]
call fcn.1800026f0
mov rax, qword [rax + 0x1f0]
mov rdi, qword [rsi + rax]
test rdi, rdi
je 0x1800453db
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18004c9d0
movsd xmm6, qword [rsp + 0x40]
movsd qword [rbp - 0x30], xmm6
mov ebx, dword [rsp + 0x48]
mov dword [rbp - 0x28], ebx
lea rdx, [rbp - 0x30]
call fcn.180044600
movaps xmm9, xmm0
call fcn.1800026f0
movss xmm1, dword [rax + 0x24]
comiss xmm1, xmm9
jbe 0x1800453db
movsd qword [rbp + 0x10], xmm6
mov dword [rbp + 0x18], ebx
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x30]
call fcn.180044540
call fcn.1800026f0
movss xmm6, dword [rsp + 0x34]
movss xmm8, dword [rsp + 0x30]
movaps xmm7, xmm8
unpcklps xmm7, xmm6
movsd qword [rsp + 0x30], xmm7
cmp byte [rax + 0xb], 0
je 0x18004528e
mov qword [rsp + 0x58], 0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.180044470
test al, al
je 0x18004528e
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movq r8, xmm7
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x18004528e
mov edx, 0xf5
mov r9d, 0xf
mov r8d, 0xfc
lea rcx, [rbp + 0x150]
call fcn.180001510
mov rcx, rax
call fcn.180004b90
movss dword [rbp - 0x60], xmm8
movss dword [rbp - 0x5c], xmm6
movaps xmm3, xmm14
mov r8d, eax
movaps xmm1, xmm11
lea rcx, [rbp - 0x60]
call fcn.180050740
call fcn.1800026f0
cmp byte [rax + 0xc], 0
je 0x18004530f
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x30]
call fcn.180044470
test al, al
je 0x18004530f
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movq r8, xmm7
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x18004530f
mov edx, 0xf5
mov r9d, 0xf
mov r8d, 0xfc
lea rcx, [rbp + 0x1a0]
call fcn.180001510
movups xmm3, xmmword [rax]
movaps xmmword [rbp + 0x2f0], xmm3
lea rdx, [rbp + 0x2f0]
mov rcx, rdi
call fcn.180050870
call fcn.1800026f0
cmp byte [rax + 0xd], 0
je 0x1800453db
mov qword [rbp - 0x10], 0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x30]
call fcn.180044470
test al, al
je 0x1800453db
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movq r8, xmm7
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x1800453db
mov edx, 0xff
mov r9d, edx
mov r8d, edx
lea rcx, [rbp + 0x190]
call fcn.180001510
mov rcx, rax
call fcn.180004b90
mov ebx, eax
cvttss2si edx, xmm9
lea rcx, [rbp - 0x58]
call fcn.180043f40
nop
lea r8, [0x1800628e0]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180048860
nop
addss xmm6, xmm12
movss dword [rbp - 0x18], xmm8
movss dword [rbp - 0x14], xmm6
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1800507e0
nop
lea rcx, [rsp + 0x60]
call fcn.180001350
nop
lea rcx, [rbp - 0x58]
call fcn.180001350
inc r14d
add rsi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x1f8]
sub rcx, qword [rax + 0x1f0]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x180045170
movdqa xmm12, xmmword [0x1800638e0]
call fcn.1800026f0
movss xmm15, dword [0x180063238]
cmp byte [rax + 0xe], 0
je 0x180045951
call fcn.1800026f0
cmp byte [rax + 0xf], 0
je 0x180045770
mov r14d, r13d
call fcn.1800026f0
mov rcx, qword [rax + 0x228]
sub rcx, qword [rax + 0x220]
sar rcx, 3
test rcx, rcx
je 0x18004557e
mov rsi, r13
nop dword [rax + rax]
call fcn.1800026f0
mov rax, qword [rax + 0x220]
mov rdi, qword [rsi + rax]
test rdi, rdi
je 0x180045554
lea rdx, [rbp + 0x68]
mov rcx, rdi
call fcn.18004c9d0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
call fcn.180044600
movaps xmm6, xmm0
call fcn.1800026f0
movss xmm1, dword [rax + 0x24]
comiss xmm1, xmm6
jbe 0x180045554
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.18004c9d0
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x28], eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x60]
call fcn.180044540
mov qword [rsp + 0x58], 0
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x60]
call fcn.180044470
test al, al
je 0x180045554
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
mov r8, qword [rbp - 0x60]
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x180045554
mov edx, 0xb0
mov r9d, 0xff
mov r8d, 0x1c
lea rcx, [rbp + 0x150]
call fcn.180001510
movups xmm3, xmmword [rax]
movaps xmmword [rbp + 0x2f0], xmm3
lea rdx, [rbp + 0x2f0]
mov rcx, rdi
call fcn.180050870
inc r14d
add rsi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x228]
sub rcx, qword [rax + 0x220]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x180045460
mov r14d, r13d
call fcn.1800026f0
mov rcx, rax
mov rax, qword [rax + 0x210]
sub rax, qword [rcx + 0x208]
sar rax, 3
test rax, rax
je 0x180045770
mov rsi, r13
call fcn.1800026f0
mov rax, qword [rax + 0x208]
mov rbx, qword [rsi + rax]
test rbx, rbx
je 0x180045746
lea rdx, [rbp + 0x68]
mov rcx, rbx
call fcn.18004c9d0
movsd xmm1, qword [rax]
movss xmm2, dword [0x18006e510]
subss xmm2, xmm1
movss xmm3, dword [0x18006e514]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0x20], xmm1
subss xmm3, xmm0
movss xmm1, dword [0x18006e518]
subss xmm1, dword [rax + 8]
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm3, xmm2
mulss xmm1, xmm1
addss xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18004562d
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x180045638
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mulss xmm6, xmm15
call fcn.1800026f0
movss xmm1, dword [rax + 0x24]
comiss xmm1, xmm6
jbe 0x180045746
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.18004c9d0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x30], 0
cmp qword [0x18006e520], 0
je 0x18004569d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.18004df30
movss xmm7, dword [rsp + 0x30]
movss xmm6, dword [rsp + 0x34]
jmp 0x1800456a5
movaps xmm7, xmm10
movaps xmm6, xmm10
ucomiss xmm7, xmm10
jp 0x1800456b9
jne 0x1800456b9
ucomiss xmm6, xmm10
jp 0x1800456b9
je 0x180045746
call fcn.1800026f0
mov edi, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm7
jae 0x1800456e8
comiss xmm7, xmm1
ja 0x1800456e8
movd xmm0, edi
cvtdq2ps xmm0, xmm0
jmp 0x1800456fa
comiss xmm10, xmm6
jae 0x180045746
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x180045746
comiss xmm10, xmm7
jae 0x180045746
comiss xmm7, xmm1
ja 0x180045746
comiss xmm10, xmm6
jae 0x180045746
comiss xmm6, xmm0
ja 0x180045746
mov edx, 0xb0
mov r9d, 0xff
mov r8d, 0x1c
lea rcx, [rbp + 0x150]
call fcn.180001510
movups xmm3, xmmword [rax]
movaps xmmword [rbp + 0x2f0], xmm3
lea rdx, [rbp + 0x2f0]
mov rcx, rbx
call fcn.180050870
inc r14d
add rsi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x210]
sub rcx, qword [rax + 0x208]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x1800455a7
call fcn.1800026f0
cmp byte [rax + 0x10], 0
je 0x180045951
mov r14d, r13d
call fcn.1800026f0
mov rcx, rax
mov rax, qword [rax + 0x240]
sub rax, qword [rcx + 0x238]
sar rax, 3
test rax, rax
je 0x180045951
mov rsi, r13
movdqa xmm8, xmmword [0x1800638d0]
call fcn.1800026f0
mov rax, qword [rax + 0x238]
mov rbx, qword [rsi + rax]
test rbx, rbx
je 0x180045927
lea rdx, [rbp + 0x68]
mov rcx, rbx
call fcn.18004c9d0
movsd xmm1, qword [rax]
movss xmm2, dword [0x18006e510]
subss xmm2, xmm1
movss xmm3, dword [0x18006e514]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0x20], xmm1
subss xmm3, xmm0
movss xmm1, dword [0x18006e518]
subss xmm1, dword [rax + 8]
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm3, xmm2
mulss xmm1, xmm1
addss xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x180045830
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x18004583b
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mulss xmm6, xmm15
call fcn.1800026f0
movss xmm1, dword [rax + 0x24]
comiss xmm1, xmm6
jbe 0x180045927
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.18004c9d0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x30], 0
cmp qword [0x18006e520], 0
je 0x1800458a0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.18004df30
movss xmm7, dword [rsp + 0x30]
movss xmm6, dword [rsp + 0x34]
jmp 0x1800458a8
movaps xmm7, xmm10
movaps xmm6, xmm10
ucomiss xmm7, xmm10
jp 0x1800458b8
jne 0x1800458b8
ucomiss xmm6, xmm10
jp 0x1800458b8
je 0x180045927
call fcn.1800026f0
mov edi, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm7
jae 0x1800458e7
comiss xmm7, xmm1
ja 0x1800458e7
movd xmm0, edi
cvtdq2ps xmm0, xmm0
jmp 0x1800458f9
comiss xmm10, xmm6
jae 0x180045927
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x180045927
comiss xmm10, xmm7
jae 0x180045927
comiss xmm7, xmm1
ja 0x180045927
comiss xmm10, xmm6
jae 0x180045927
comiss xmm6, xmm0
ja 0x180045927
movdqa xmmword [rbp + 0x2f0], xmm8
lea rdx, [rbp + 0x2f0]
mov rcx, rbx
call fcn.180050870
inc r14d
add rsi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x240]
sub rcx, qword [rax + 0x238]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x1800457b1
call fcn.1800026f0
movss xmm9, dword [0x180063334]
cmp byte [rax + 0x11], 0
je 0x180045f25
mov r14d, r13d
call fcn.1800026f0
mov rcx, rax
mov rax, qword [rax + 0x258]
sub rax, qword [rcx + 0x250]
sar rax, 3
test rax, rax
je 0x180045f25
mov rsi, r13
lea r12, [0x1800628e5]
lea r15, [0x1800628e4]
movss xmm11, dword [0x180063308]
nop dword [rax]
call fcn.1800026f0
mov rax, qword [rax + 0x250]
mov rbx, qword [rsi + rax]
test rbx, rbx
je 0x180045efb
lea rdx, [rbp + 0x2e0]
mov rcx, rbx
call fcn.18004c9d0
movss xmm1, dword [0x18006e510]
movss xmm7, dword [rbp + 0x2e0]
subss xmm1, xmm7
movss xmm2, dword [0x18006e514]
movss xmm8, dword [rbp + 0x2e4]
subss xmm2, xmm8
movss xmm0, dword [0x18006e518]
movss xmm6, dword [rbp + 0x2e8]
subss xmm0, xmm6
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180045a3b
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180045a43
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mulss xmm0, xmm15
comiss xmm9, xmm0
jbe 0x180045efb
call fcn.1800026f0
cmp byte [rax + 0x11], 0
je 0x180045efb
addss xmm6, xmm11
movss dword [rbp + 0x2e8], xmm6
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movsd qword [rbp + 0x2e0], xmm0
movsd qword [rsp + 0x40], xmm0
movss dword [rsp + 0x48], xmm6
mov qword [rsp + 0x30], 0
cmp qword [0x18006e520], 0
je 0x180045aba
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.18004df30
movss xmm8, dword [rsp + 0x30]
movss xmm7, dword [rsp + 0x34]
jmp 0x180045ac2
movaps xmm8, xmm10
movaps xmm7, xmm10
ucomiss xmm8, xmm10
jp 0x180045ad6
jne 0x180045ad6
ucomiss xmm7, xmm10
jp 0x180045ad6
je 0x180045efb
call fcn.1800026f0
mov edi, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm8
jae 0x180045b06
comiss xmm8, xmm1
ja 0x180045b06
movd xmm0, edi
cvtdq2ps xmm0, xmm0
jmp 0x180045b18
comiss xmm10, xmm7
jae 0x180045b32
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
ja 0x180045b32
comiss xmm10, xmm8
jae 0x180045b32
comiss xmm8, xmm1
ja 0x180045b32
comiss xmm10, xmm7
jae 0x180045b32
comiss xmm7, xmm0
mov eax, r13d
jbe 0x180045b37
mov eax, 1
test eax, eax
jne 0x180045efb
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2d0], r13
mov qword [rbp + 0x2d8], r13
xor r8d, r8d
lea rdx, [0x18005bb8a]
lea rcx, [rbp + 0x2c0]
call fcn.180001860
nop
mov edx, dword [rbx + 0x378]
lea rcx, [rbp - 0x58]
call fcn.180048200
cmp qword [rbp - 0x48], 3
seta dil
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x180045bc1
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045bbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fc3
call fcn.180053db4
mov edx, dword [rbx + 0x378]
test dil, dil
je 0x180045c36
lea rcx, [rsp + 0x60]
call fcn.180048200
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x180045c17
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045c12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fc3
call fcn.180053db4
movups xmm9, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x2c0], xmm9
movups xmm6, xmmword [rsp + 0x70]
movups xmmword [rbp + 0x2d0], xmm6
jmp 0x180045da3
lea rcx, [rbp + 0x90]
call fcn.180048200
nop
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180045cdc
lea r8, [rcx + 1]
mov qword [rbp + 0xa0], r8
lea rbx, [rbp + 0x90]
cmp rdx, 0xf
cmova rbx, qword [rbp + 0x90]
cmp r12, rbx
jbe 0x180045c9b
lea rax, [rbx + rcx]
cmp r15, rax
ja 0x180045c9b
cmp rbx, r15
ja 0x180045c93
mov rdi, r13
jmp 0x180045ca0
mov rdi, rbx
sub rdi, r15
jmp 0x180045ca0
mov edi, 1
lea rcx, [rbx + 1]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 1
sub r8, rdi
lea rdx, [r15 + 1]
add rdx, rdi
lea rcx, [rdi + rbx]
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp + 0x90]
jmp 0x180045cfb
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x20], r15
mov edx, 1
lea rcx, [rbp + 0x90]
call fcn.180048f50
movups xmm9, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x180045d53
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045d4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fca
call fcn.180053db4
movups xmmword [rbp + 0x2c0], xmm9
movups xmmword [rbp + 0x2d0], xmm6
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x180045da3
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045d9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fd1
call fcn.180053db4
movups xmmword [rbp + 0x2f0], xmm12
lea rcx, [rbp + 0x2f0]
call fcn.180004b90
mov edi, eax
lea r9, [rbp + 0x2c0]
movq rdx, xmm9
psrldq xmm6, 8
movq rcx, xmm6
cmp rcx, 0xf
cmova r9, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x180045df0
mov rdx, r9
lea rcx, [rbp - 0x58]
call fcn.180001860
nop
movss dword [rsp + 0x58], xmm8
movss dword [rsp + 0x5c], xmm7
mov rbx, qword [0x18006e420]
cmp dword [rbx + 0x1db8], 0
jg 0x180045e3e
mov r8d, 0x68b
lea rdx, [0x18005ba70]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1dc0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180007640
lea r9, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova r9, qword [rbp - 0x58]
mov r8d, edi
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.180026620
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x180045eb1
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045eab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fd8
call fcn.180053db4
nop
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x180045ef2
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180045eed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180045fdf
call fcn.180053db4
movss xmm9, dword [0x180063334]
inc r14d
add rsi, 8
call fcn.1800026f0
mov rcx, qword [rax + 0x258]
sub rcx, qword [rax + 0x250]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x1800459b0
movss xmm6, dword [0x1800633b0]
movss dword [rsp + 0x50], xmm6
xor r12d, r12d
mov r14d, r12d
mov dword [rbp - 0x20], r12d
call fcn.1800026f0
mov rcx, qword [rax + 0x1e0]
sub rcx, qword [rax + 0x1d8]
sar rcx, 3
movss xmm13, dword [0x180063270]
test rcx, rcx
je 0x18004756a
mov edi, r12d
mov qword [rsp + 0x58], r12
movsd xmm14, qword [0x1800632b8]
call fcn.1800026f0
mov rax, qword [rax + 0x1d8]
mov r15, qword [rax + rdi*8]
test r15, r15
je 0x18004752f
cmp r15, qword [0x18006e558]
je 0x18004752f
test byte [r15 + 0x8e8], 1
jne 0x180045fe6
call fcn.1800026f0
cmp byte [rax + 0x23], 0
je 0x18004752f
mov rcx, r15
call fcn.18004c3b0
jmp 0x18004752f
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
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
mov qword [rbp - 0x30], 0
mov dword [rbp - 0x28], 0
lea r8, [rbp - 0x30]
mov rdx, r15
call fcn.18004d900
movzx esi, al
mov rbx, qword [r15 + 0x330]
xor r8d, r8d
lea rdx, [rbp + 0x1f0]
mov rcx, rbx
call fcn.18004e260
movsd xmm0, qword [rax]
movsd qword [rbp + 0x130], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x138], ecx
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x58]
mov rcx, rbx
call fcn.18004bd70
movss xmm1, dword [0x18006e510]
movss xmm9, dword [rbp + 0x58]
subss xmm1, xmm9
movss xmm2, dword [0x18006e514]
movss xmm11, dword [rbp + 0x5c]
subss xmm2, xmm11
movss xmm0, dword [0x18006e518]
movss xmm12, dword [rbp + 0x60]
subss xmm0, xmm12
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800460a5
xorps xmm8, xmm8
sqrtss xmm8, xmm2
jmp 0x1800460b1
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
mulss xmm8, xmm15
movss dword [rsp + 0x30], xmm8
comiss xmm6, xmm8
jbe 0x18004624f
cmp byte [r15 + 0xb00], 2
jne 0x18004624f
call fcn.1800026f0
cmp byte [rax + 0x14], 0
je 0x1800460e5
test sil, sil
jne 0x1800460f4
call fcn.1800026f0
cmp byte [rax + 0x14], 0
jne 0x18004624f
call fcn.1800026f0
cmp byte [rax + 0x19], 0
je 0x180046245
call fcn.1800026f0
mov edx, dword [rax + 0x48]
test edx, edx
je 0x180046139
sub edx, 1
je 0x180046130
sub edx, 1
je 0x180046127
cmp edx, 1
jne 0x180046139
lea rdx, str.Hips
jmp 0x180046140
lea rdx, str.Spine2
jmp 0x180046140
lea rdx, str.Neck1
jmp 0x180046140
lea rdx, str.Head
lea rcx, [rsp + 0x60]
call fcn.1800013b0
lea r9, [rsp + 0x60]
mov r8, r15
lea rdx, [rbp + 0x140]
call fcn.180044670
movsd xmm0, qword [rbp + 0x140]
movsd qword [rbp + 0x160], xmm0
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x168], eax
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x200]
mov rcx, qword [r15 + 0x330]
call fcn.18004bd70
movsd xmm0, qword [rax]
movsd qword [rbp + 0x170], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x40], 0
cmp qword [0x18006e520], 0
je 0x1800461d7
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x170]
call fcn.18004df30
movss xmm7, dword [rbp + 0x40]
movss xmm6, dword [rbp + 0x44]
jmp 0x1800461df
movaps xmm7, xmm10
movaps xmm6, xmm10
call fcn.1800026f0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x28c]
mulss xmm0, xmm13
subss xmm7, xmm0
call fcn.1800026f0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x288]
mulss xmm0, xmm13
subss xmm6, xmm0
mulss xmm6, xmm6
mulss xmm7, xmm7
addss xmm6, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm6
ja 0x18004622b
sqrtss xmm6, xmm6
jmp 0x180046236
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
call fcn.1800026f0
movss xmm1, dword [rax + 0x50]
comiss xmm1, xmm6
jb 0x18004624f
mov r13, r15
movss dword [rsp + 0x50], xmm8
call fcn.1800026f0
cmp byte [rax + 1], 0
je 0x1800473a7
call fcn.1800026f0
cmp byte [rax + 4], 0
jne 0x180046277
cmp byte [r15 + 0xb00], 1
je 0x1800473a7
call fcn.1800026f0
movss xmm0, dword [rax + 0x24]
comiss xmm0, xmm8
jbe 0x1800473a7
mov rbx, qword [r15 + 0x330]
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
mov r8d, 7
lea rdx, str.HeadEnd
lea rcx, [rbp - 0x58]
call fcn.180001860
lea r9, [rbp - 0x58]
mov r8, r15
lea rdx, [rbp + 0x210]
call fcn.180044670
movsd xmm0, qword [rax]
movsd qword [rbp + 0x180], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x188], eax
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x1e0]
mov rcx, rbx
call fcn.18004bd70
movsd xmm7, qword [rax]
mov edi, dword [rax + 8]
mov rbx, qword [r15 + 0x330]
lea rdx, str.LeftFoot
lea rcx, [rsp + 0x60]
call fcn.1800013b0
mov r9, rax
mov r8, r15
lea rdx, [rbp + 0x1b0]
call fcn.180044670
movsd xmm0, qword [rax]
movsd qword [rbp + 0xb0], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0xb8], eax
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.18004bd70
movsd qword [rbp + 0x68], xmm7
movss dword [rsp + 0x40], xmm7
movss xmm8, dword [rbp + 0x6c]
movss dword [rsp + 0x44], xmm8
movd xmm6, edi
movss dword [rsp + 0x48], xmm6
mov qword [rbp + 0x48], 0
mov rcx, qword [0x18006e520]
test rcx, rcx
je 0x1800463aa
lea r8, [rbp + 0x48]
lea rdx, [rsp + 0x40]
call fcn.18004df30
movss xmm14, dword [rbp + 0x48]
movss xmm13, dword [rbp + 0x4c]
mov rcx, qword [0x18006e520]
jmp 0x1800463b2
movaps xmm14, xmm10
movaps xmm13, xmm10
addss xmm6, dword [0x180063334]
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movsd qword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc8], xmm6
mov qword [rbp + 0x78], 0
test rcx, rcx
je 0x1800463f5
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0xc0]
call fcn.18004df30
mov rcx, qword [0x18006e520]
movsd xmm0, qword [rbp + 0xd0]
movsd qword [rbp + 0xe0], xmm0
mov eax, dword [rbp + 0xd8]
mov dword [rbp + 0xe8], eax
mov qword [rbp + 0x80], 0
test rcx, rcx
je 0x18004643b
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0xe0]
call fcn.18004df30
mov rcx, qword [0x18006e520]
movaps xmm0, xmm9
unpcklps xmm0, xmm11
movaps xmm15, xmm0
movsd qword [rbp + 0x58], xmm0
movsd qword [rbp + 0xf0], xmm0
movd r12d, xmm12
mov dword [rbp + 0xf8], r12d
mov qword [rbp - 0x18], 0
test rcx, rcx
je 0x18004648b
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0xf0]
call fcn.18004df30
movss xmm12, dword [rbp - 0x18]
movss xmm11, dword [rbp - 0x14]
jmp 0x180046493
movaps xmm12, xmm10
movaps xmm11, xmm10
movaps xmm6, xmm11
subss xmm6, xmm13
mulss xmm6, dword [0x180063278]
mulss xmm6, dword [0x180063270]
movaps xmm8, xmm14
subss xmm8, xmm6
movss dword [rbp + 0x50], xmm8
addss xmm6, xmm14
call fcn.1800026f0
cmp byte [rax + 2], 0
je 0x18004661b
ucomiss xmm14, xmm10
jp 0x1800464e3
jne 0x1800464e3
ucomiss xmm13, xmm10
jp 0x1800464e3
je 0x18004661b
ucomiss xmm12, xmm10
jp 0x1800464f7
jne 0x1800464f7
ucomiss xmm11, xmm10
jp 0x1800464f7
je 0x18004661b
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm14
jae 0x180046527
comiss xmm14, xmm1
ja 0x180046527
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x18004653a
comiss xmm10, xmm13
jae 0x180046552
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm13, xmm0
ja 0x180046552
comiss xmm10, xmm14
jae 0x180046552
comiss xmm14, xmm1
ja 0x180046552
comiss xmm10, xmm13
jae 0x180046552
comiss xmm13, xmm0
jbe 0x180046584
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movaps xmm0, xmm12
unpcklps xmm0, xmm11
movq r8, xmm0
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x18004661b
cmp byte [r15 + 0xb00], 1
jne 0x1800465a8
call fcn.1800026f0
test sil, sil
je 0x1800465a0
add rax, 0x144
jmp 0x1800465c0
add rax, 0x160
jmp 0x1800465c0
call fcn.1800026f0
test sil, sil
je 0x1800465ba
add rax, 0x10c
jmp 0x1800465c0
add rax, 0x128
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x2e0], xmm0
movaps xmm1, xmm6
movss xmm0, dword [0x1800632ac]
unpcklps xmm1, xmm13
movss dword [rsp + 0x28], xmm0
movq r8, xmm1
movaps xmm0, xmm8
movaps xmm2, xmm6
movaps xmm1, xmm8
lea rax, [rbp + 0x2e0]
unpcklps xmm0, xmm13
unpcklps xmm2, xmm11
unpcklps xmm1, xmm11
mov qword [rsp + 0x20], rax
movq r9, xmm0
movq rdx, xmm2
movq rcx, xmm1
call fcn.180050490
call fcn.1800026f0
cmp byte [rax + 3], 0
je 0x18004670c
ucomiss xmm14, xmm10
jp 0x18004663e
jne 0x18004663e
ucomiss xmm13, xmm10
jp 0x18004663e
je 0x18004670c
ucomiss xmm12, xmm10
jp 0x180046652
jne 0x180046652
ucomiss xmm11, xmm10
jp 0x180046652
je 0x18004670c
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm14
jae 0x180046682
comiss xmm14, xmm1
ja 0x180046682
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x180046695
comiss xmm10, xmm13
jae 0x1800466ad
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm13, xmm0
ja 0x1800466ad
comiss xmm10, xmm14
jae 0x1800466ad
comiss xmm14, xmm1
ja 0x1800466ad
comiss xmm10, xmm13
jae 0x1800466ad
comiss xmm13, xmm0
jbe 0x1800466db
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movaps xmm0, xmm12
unpcklps xmm0, xmm11
movq r8, xmm0
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x18004670c
call fcn.1800026f0
test sil, sil
je 0x1800466ed
add rax, 0x10c
jmp 0x1800466f3
add rax, 0x128
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x2e0], xmm0
lea rdx, [rbp + 0x2e0]
mov rcx, r15
call fcn.180050870
call fcn.1800026f0
cmp byte [rax + 6], 0
je 0x180046f97
ucomiss xmm14, xmm10
jp 0x18004672f
jne 0x18004672f
ucomiss xmm13, xmm10
jp 0x18004672f
je 0x180046f97
ucomiss xmm12, xmm10
jp 0x180046743
jne 0x180046743
ucomiss xmm11, xmm10
jp 0x180046743
je 0x180046f97
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm14
jae 0x180046773
comiss xmm14, xmm1
ja 0x180046773
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x180046786
comiss xmm10, xmm13
jae 0x18004679e
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm13, xmm0
ja 0x18004679e
comiss xmm10, xmm14
jae 0x18004679e
comiss xmm14, xmm1
ja 0x18004679e
comiss xmm10, xmm13
jae 0x18004679e
comiss xmm13, xmm0
jbe 0x1800467d0
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movaps xmm0, xmm12
unpcklps xmm0, xmm11
movq r8, xmm0
mov edx, ebx
mov ecx, dword [rax + 0x28c]
call fcn.1800445a0
test eax, eax
jne 0x180046f97
lea rcx, [rbp + 0x2c0]
call fcn.180047f10
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2c0], xmm1
xor esi, esi
mov qword [rbp + 0x2d0], rsi
lea rdx, str.Head
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.Neck
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.Neck
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftArm
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.LeftArm
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftForeArm
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.LeftForeArm
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftHand
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.Neck
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightArm
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.RightArm
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightForeArm
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.RightForeArm
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightHand
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, qword [rbp + 0x2d0]
je 0x1800469d8
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x10], xmm1
mov ebx, 0xf
mov byte [rsp + 0x60], sil
movaps xmm0, xmmword [rbp - 0x80]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x70]
movups xmmword [rdx + 0x30], xmm1
mov edx, ebx
mov byte [rbp - 0x80], sil
add qword [rbp + 0x2c8], 0x40
jmp 0x1800469f2
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180048b90
mov rdx, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180046a29
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046a24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047623
call fcn.180053db4
cmp rbx, 0xf
jbe 0x180046a62
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046a5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047623
call fcn.180053db4
lea rdx, str.Neck
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.Hips
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, qword [rbp + 0x2d0]
je 0x180046ad0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x10], xmm1
mov ebx, 0xf
mov byte [rsp + 0x60], 0
movaps xmm0, xmmword [rbp - 0x80]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x70]
movups xmmword [rdx + 0x30], xmm1
mov edx, ebx
mov byte [rbp - 0x80], 0
add qword [rbp + 0x2c8], 0x40
jmp 0x180046aea
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180048b90
mov rdx, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180046b21
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046b1c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047623
call fcn.180053db4
cmp rbx, 0xf
jbe 0x180046b5a
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180046b55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047623
call fcn.180053db4
lea rdx, str.Hips
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftUpLeg
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.LeftUpLeg
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftLeg
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.LeftLeg
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.LeftFoot
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.Hips
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightUpLeg
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.RightUpLeg
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightLeg
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
lea rdx, str.RightLeg
lea rcx, [rsp + 0x60]
call fcn.1800013b0
nop
lea rdx, str.RightFoot
lea rcx, [rbp - 0x80]
call fcn.1800013b0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2c0]
call fcn.180047fd0
nop
lea rcx, [rsp + 0x60]
call fcn.180047f20
mov r14d, esi
mov rbx, qword [rbp + 0x2c8]
mov rax, rbx
mov rdi, qword [rbp + 0x2c0]
sub rax, rdi
sar rax, 6
test rax, rax
je 0x180046f32
movss xmm15, dword [0x1800632ac]
mov rbx, qword [r15 + 0x330]
shl rsi, 6
lea rdx, [rdi + rsi]
lea rcx, [rsp + 0x60]
call fcn.1800013b0
mov r9, rax
mov r8, r15
lea rdx, [rbp + 0x1c0]
call fcn.180044670
movsd xmm0, qword [rax]
movsd qword [rbp + 0x100], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x108], eax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x1d0]
mov rcx, rbx
call fcn.18004bd70
movsd xmm0, qword [rax]
movsd qword [rbp + 0x110], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x118], eax
mov qword [rbp - 0x10], 0
cmp qword [0x18006e520], 0
je 0x180046d9c
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x110]
call fcn.18004df30
movss xmm8, dword [rbp - 0x10]
movss xmm9, dword [rbp - 0xc]
jmp 0x180046da4
movaps xmm8, xmm10
movaps xmm9, xmm10
mov rbx, qword [r15 + 0x330]
mov rdx, qword [rbp + 0x2c0]
add rdx, 0x20
add rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1800013b0
mov r9, rax
mov r8, r15
lea rdx, [rbp + 0x190]
call fcn.180044670
movsd xmm0, qword [rax]
movsd qword [rbp + 0x120], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x128], eax
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x1a0]
mov rcx, rbx
call fcn.18004bd70
movsd xmm0, qword [rax]
movsd qword [rbp + 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x38], eax
mov qword [rbp - 8], 0
cmp qword [0x18006e520], 0
je 0x180046e3a
lea r8, [rbp - 8]
lea rdx, [rbp + 0x30]
call fcn.18004df30
movss xmm6, dword [rbp - 8]
movss xmm7, dword [rbp - 4]
jmp 0x180046e42
movaps xmm6, xmm10
movaps xmm7, xmm10
ucomiss xmm8, xmm10
jp 0x180046e56
jne 0x180046e56
ucomiss xmm9, xmm10
jp 0x180046e56
je 0x180046eff
ucomiss xmm6, xmm10
jp 0x180046e6a
jne 0x180046e6a
ucomiss xmm7, xmm10
jp 0x180046e6a
je 0x180046eff
call fcn.1800026f0
lea rcx, [rax + 0x17c]
call fcn.180004b90
mov edi, eax
movss dword [rbp + 0x88], xmm8
movss dword [rbp + 0x8c], xmm9
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rbp + 0x2e0], xmm0
mov rbx, qword [0x18006e420]
cmp dword [rbx + 0x1db8], 0
jg 0x180046ec7
mov r8d, 0x68b
lea rdx, [0x18005ba70]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1dc0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180007640
movss dword [rsp + 0x20], xmm15
mov r9d, edi
lea r8, [rbp + 0x2e0]
lea rdx, [rbp + 0x88]
mov rcx, rax
call fcn.180025b50
inc r14d
movsxd rsi, r14d
mov rbx, qword [rbp + 0x2c8]
mov rax, rbx
mov rdi, qword [rbp + 0x2c0]
sub rax, rdi
sar rax, 6
cmp rsi, rax
jb 0x180046d01
movsd xmm15, qword [rbp + 0x58]
movss xmm8, dword [rbp + 0x50]
test rdi, rdi
je 0x180046f93
cmp rdi, rbx
je 0x180046f58
nop dword [rax]
mov rcx, rdi
call fcn.180047f20
add rdi, 0x40
cmp rdi, rbx
jne 0x180046f40
mov rdi, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2d0]
sub rdx, rdi
and rdx, 0xffffffffffffffc0
mov rax, rdi
cmp rdx, 0x1000
jb 0x180046f8b
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004762a
mov rcx, rdi
call fcn.180053db4
mov r14d, dword [rbp - 0x20]
call fcn.1800026f0
cmp byte [rax + 5], 0
je 0x1800471c7
movsd qword [rbp + 0x20], xmm15
mov dword [rbp + 0x28], r12d
mov qword [rbp - 0x60], 0
cmp qword [0x18006e520], 0
je 0x180046fdb
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
call fcn.18004df30
movss xmm7, dword [rbp - 0x60]
movss xmm6, dword [rbp - 0x5c]
jmp 0x180046fe3
movaps xmm7, xmm10
movaps xmm6, xmm10
ucomiss xmm7, xmm10
jp 0x180046ff7
jne 0x180046ff7
ucomiss xmm6, xmm10
jp 0x180046ff7
je 0x1800471c7
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm7
jae 0x180047026
comiss xmm7, xmm1
ja 0x180047026
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x180047038
comiss xmm10, xmm6
jae 0x180047054
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x180047054
comiss xmm10, xmm7
jae 0x180047054
comiss xmm7, xmm1
ja 0x180047054
comiss xmm10, xmm6
jae 0x180047054
comiss xmm6, xmm0
ja 0x180047054
xor esi, esi
mov eax, esi
jmp 0x18004705b
mov eax, 1
xor esi, esi
test eax, eax
jne 0x1800471c7
movdqa xmm0, xmmword [0x1800638e0]
movups xmmword [rbp + 0x2e0], xmm0
lea rcx, [rbp + 0x2e0]
call fcn.180004b90
mov edi, eax
cvttss2si edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.180048200
nop
mov r8d, 1
lea rdx, [0x1800628e0]
lea rcx, [rsp + 0x60]
call fcn.180048160
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movss dword [rbp], xmm7
movss dword [rbp + 4], xmm6
mov rbx, qword [0x18006e420]
cmp dword [rbx + 0x1db8], 0
jg 0x180047109
mov r8d, 0x68b
lea rdx, [0x18005ba70]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1dc0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180007640
lea r9, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova r9, qword [rbp - 0x58]
mov r8d, edi
lea rdx, [rbp]
mov rcx, rax
call fcn.180026620
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x18004717a
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180047175
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047631
call fcn.180053db4
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800471c7
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800471c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180047638
call fcn.180053db4
ucomiss xmm14, xmm10
jp 0x1800471db
jne 0x1800471db
ucomiss xmm13, xmm10
jp 0x1800471db
je 0x18004736f
ucomiss xmm12, xmm10
jp 0x1800471ef
jne 0x1800471ef
ucomiss xmm11, xmm10
jp 0x1800471ef
je 0x18004736f
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm14
jae 0x18004721f
comiss xmm14, xmm1
ja 0x18004721f
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x180047232
comiss xmm10, xmm13
jae 0x18004724a
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm13, xmm0
ja 0x18004724a
comiss xmm10, xmm14
jae 0x18004724a
comiss xmm14, xmm1
ja 0x18004724a
comiss xmm10, xmm13
jae 0x18004724a
comiss xmm13, xmm0
jbe 0x1800472bd
call fcn.1800026f0
mov ebx, dword [rax + 0x288]
call fcn.1800026f0
movd xmm1, dword [rax + 0x28c]
cvtdq2ps xmm1, xmm1
comiss xmm10, xmm12
jae 0x18004727a
comiss xmm12, xmm1
ja 0x18004727a
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
jmp 0x180047295
comiss xmm10, xmm11
jae 0x18004736f
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm11, xmm0
ja 0x18004736f
comiss xmm10, xmm12
jae 0x18004736f
comiss xmm12, xmm1
ja 0x18004736f
comiss xmm10, xmm11
jae 0x18004736f
comiss xmm11, xmm0
ja 0x18004736f
call fcn.1800026f0
movss xmm6, dword [0x1800632d4]
cmp byte [rax + 7], 0
je 0x18004730e
mov rax, qword [r15 + 0x13e8]
test rax, rax
je 0x18004730e
movss dword [rsp + 0x20], xmm6
movss xmm3, dword [rax + 0x88]
movss xmm2, dword [rax + 0x78]
movaps xmm0, xmm8
unpcklps xmm0, xmm11
movq rdx, xmm0
movaps xmm1, xmm8
unpcklps xmm1, xmm13
movq rcx, xmm1
call fcn.180050090
call fcn.1800026f0
cmp byte [rax + 8], 0
je 0x18004735a
mov rax, qword [r15 + 0x13e8]
test rax, rax
je 0x18004735a
movss dword [rsp + 0x20], xmm6
movss xmm3, dword [rax + 0xa8]
movss xmm2, dword [rax + 0x98]
movaps xmm0, xmm8
unpcklps xmm0, xmm11
movq rdx, xmm0
movaps xmm1, xmm8
unpcklps xmm1, xmm13
movq rcx, xmm1
call fcn.1800502d0
call fcn.1800026f0
cmp byte [rax + 9], 0
je 0x18004736f
mov dl, 1
mov rcx, r15
call fcn.18004f4c0
call fcn.1800026f0
cmp byte [rax + 0xa], 0
je 0x180047384
xor edx, edx
mov rcx, r15
call fcn.18004f4c0
xor r12d, r12d
mov rdi, qword [rsp + 0x58]
movss xmm15, dword [0x180063238]
movsd xmm14, qword [0x1800632b8]
movss xmm13, dword [0x180063270]
call fcn.1800026f0
cmp byte [rax + 0x1c], 0
je 0x180047529
cmp byte [r15 + 0xb00], 2
jne 0x180047529
call fcn.1800026f0
cmp byte [rax + 0x1d], 0
je 0x180047432
call fcn.1800026f0
movss xmm0, dword [rax + 0x100]
ucomiss xmm0, xmm10
jp 0x180047404
jne 0x180047404
movss xmm0, dword [rax + 0x104]
ucomiss xmm0, xmm10
jp 0x180047404
jne 0x180047404
movss xmm0, dword [rax + 0x108]
ucomiss xmm0, xmm10
jp 0x180047404
je 0x180047432
lea rdx, [rbp + 0x150]
mov rcx, r15
call fcn.18004cce0
mov rbx, rax
call fcn.1800026f0
lea rdx, [rax + 0x100]
mov r8, rbx
mov rcx, r15
call fcn.18004c090
jmp 0x180047529
call fcn.1800026f0
movss xmm9, dword [rax + 0x54]
movss xmm0, dword [0x18006e528]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm14
cvtpd2ps xmm8, xmm0
movss xmm1, dword [0x18006e52c]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm14
cvtpd2ps xmm7, xmm1
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
mulss xmm6, xmm9
addss xmm6, dword [0x18006e510]
movss dword [rbp + 0x10], xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
mulss xmm6, xmm9
addss xmm6, dword [0x18006e514]
movss dword [rbp + 0x14], xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm9
addss xmm0, dword [0x18006e518]
movss dword [rbp + 0x18], xmm0
lea rdx, [rbp + 0x2f0]
mov rcx, r15
call fcn.18004cce0
mov r8, rax
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.18004c090
call fcn.1800026f0
cmp byte [rax + 0x1d], 0
je 0x180047529
mov ecx, 0x52
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180047529
call fcn.1800026f0
movsd xmm0, qword [rbp + 0x10]
movsd qword [rax + 0x100], xmm0
mov ecx, dword [rbp + 0x18]
mov dword [rax + 0x108], ecx
movss xmm6, dword [rsp + 0x50]
inc r14d
mov dword [rbp - 0x20], r14d
inc rdi
mov qword [rsp + 0x58], rdi
call fcn.1800026f0
mov rcx, qword [rax + 0x1e0]
sub rcx, qword [rax + 0x1d8]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x180045f77
movss xmm14, dword [0x1800632ac]
call fcn.1800026f0
cmp byte [rax + 0x12], 0
je 0x18004793a
call fcn.1800026f0
cmp byte [rax + 0x13], 0
je 0x18004782f
test r13, r13
je 0x18004782f
cmp qword [0x18006e520], 0
je 0x18004782f
call fcn.1800026f0
cmp byte [rax + 0x15], 0
je 0x1800475ba
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1800475c9
call fcn.1800026f0
cmp byte [rax + 0x15], 0
jne 0x18004782f
call fcn.1800026f0
cmp byte [rax + 0x16], 0
je 0x1800475f0
mov rax, qword [0x18006e558]
mov rcx, qword [rax + 0x1938]
test rcx, rcx
je 0x1800475f0
cmp byte [rcx + 0x78c], 0
jne 0x1800475ff
call fcn.1800026f0
cmp byte [rax + 0x16], 0
jne 0x18004782f
call fcn.1800026f0
mov edx, dword [rax + 0x48]
test edx, edx
je 0x180047651
sub edx, 1
je 0x180047648
sub edx, 1
je 0x18004763f
cmp edx, 1
jne 0x180047651
lea rdx, str.Hips
jmp 0x180047658
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
lea rdx, str.Spine2
jmp 0x180047658
lea rdx, str.Neck1
jmp 0x180047658
lea rdx, str.Head
lea rcx, [rbp - 0x58]
call fcn.1800013b0
lea r9, [rbp - 0x58]
mov r8, r13
lea rdx, [rbp + 0x20]
call fcn.180044670
call fcn.1800026f0
movss xmm11, dword [rax + 0x4c]
cmp qword [0x18006e520], 0
je 0x1800477f4
cmp qword [0x18006e0f0], 0
je 0x1800477f4
movsd xmm0, qword [rbp + 0x20]
movsd qword [rbp + 0x30], xmm0
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x38], eax
lea r8, [rbp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, qword [r13 + 0x330]
call fcn.18004bd70
mov rax, qword [0x18006e520]
mov rcx, qword [rax + 0x378]
movsd xmm0, qword [rcx + 0x1c00]
movaps xmm9, xmm0
subss xmm9, dword [rsp + 0x40]
movaps xmm7, xmm0
shufps xmm7, xmm7, 0x55
movsd qword [rbp + 0x2f0], xmm0
subss xmm7, dword [rsp + 0x44]
movss xmm6, dword [rcx + 0x1c08]
subss xmm6, dword [rsp + 0x48]
movaps xmm1, xmm7
mulss xmm1, xmm7
movaps xmm0, xmm9
mulss xmm0, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180047726
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18004772e
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm0, xmmword [0x180063920]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1800632f8]
cvtpd2ps xmm8, xmm1
divss xmm7, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1800632f8]
cvtpd2ps xmm6, xmm1
comiss xmm9, xmm10
jb 0x180047783
addss xmm6, dword [0x180063358]
cmp qword [0x18006e0f0], 0
je 0x1800477f4
lea rdx, [rbp + 0x2f0]
call fcn.18004d2f0
lea rdx, [rsp + 0x40]
call fcn.18004f1b0
subss xmm8, dword [rsp + 0x40]
divss xmm8, xmm11
addss xmm8, dword [rsp + 0x40]
movss dword [rbp - 0x30], xmm8
subss xmm6, dword [rsp + 0x44]
divss xmm6, xmm11
addss xmm6, dword [rsp + 0x44]
movss dword [rbp - 0x2c], xmm6
subss xmm10, dword [rsp + 0x48]
divss xmm10, xmm11
addss xmm10, dword [rsp + 0x48]
movss dword [rbp - 0x28], xmm10
lea rdx, [rbp - 0x30]
call fcn.18004cff0
call fcn.1800026f0
cmp byte [rax + 0x17], 0
je 0x18004782f
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 2
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
call fcn.1800026f0
cmp byte [rax + 0x19], 0
je 0x18004790c
call fcn.1800026f0
cmp byte [rax + 0x1a], 0
je 0x18004790c
movdqa xmm0, xmmword [0x180063700]
movups xmmword [rbp + 0x2f0], xmm0
lea rcx, [rbp + 0x2f0]
call fcn.180004b90
mov edi, eax
call fcn.1800026f0
movss xmm6, dword [rax + 0x50]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
movss dword [rbp], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
movss dword [rbp + 4], xmm0
mov rbx, qword [0x18006e420]
cmp dword [rbx + 0x1db8], 0
jg 0x1800478d3
mov r8d, 0x68b
lea rdx, [0x18005ba70]
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rbx + 0x1dc0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180007640
movss dword [rsp + 0x28], xmm14
mov dword [rsp + 0x20], 0x78
mov r9d, edi
movaps xmm2, xmm6
lea rdx, [rbp]
mov rcx, rax
call fcn.180026400
call fcn.1800026f0
cmp byte [rax + 0x18], 0
je 0x18004793a
mov rax, qword [0x18006e558]
mov rax, qword [rax + 0x15d8]
test rax, rax
je 0x18004793a
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x18004793a
mov dword [rax + 0x40], r12d
call fcn.1800026f0
cmp byte [rax + 0x1e], 0
je 0x180047b04
mov rcx, qword [0x18006e558]
mov rdx, qword [rcx + 0xe98]
test rdx, rdx
je 0x180047c18
movss xmm0, dword [rdx + 0x54]
ucomiss xmm0, dword [0x1800633a8]
jp 0x180047974
je 0x180047a46
lea rax, [rbp + 0x220]
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm0, xmmword [rdx + 0x70]
movups xmmword [rax + 0x70], xmm0
movups xmm1, xmmword [rdx + 0x80]
movups xmmword [rax + 0x80], xmm1
movups xmm0, xmmword [rdx + 0x90]
movups xmmword [rax + 0x90], xmm0
call fcn.1800026f0
lea rcx, [rax + 0x58]
lea rax, [rbp + 0x220]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + 0x70], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx + 0x80], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x90], xmm1
mov rcx, qword [0x18006e558]
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x54], 0x4b189680
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x58], 0x4b189680
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x5c], 0x4b189680
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x7c], 0x4e6e6b28
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x74], 0x4e6e6b28
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x88], 0x4e6e6b28
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x84], 0x3e8
mov rax, qword [rcx + 0xe98]
xor r13d, r13d
mov dword [rax + 0x80], r13d
mov rax, qword [rcx + 0xe98]
mov dword [rax + 0x9c], r13d
mov rax, qword [rcx + 0xe98]
mov byte [rax + 0x78], 2
mov rax, qword [rcx + 0xe98]
mov byte [rax + 0x79], 2
mov rax, qword [rcx + 0xe98]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0xe98]
mov byte [rax + 0x99], r13b
jmp 0x180047c1b
mov rax, qword [0x18006e558]
mov rcx, qword [rax + 0xe98]
test rcx, rcx
je 0x180047c18
movss xmm0, dword [rcx + 0x54]
ucomiss xmm0, dword [0x1800633a8]
jp 0x180047c18
jne 0x180047c18
call fcn.1800026f0
lea rcx, [rbp + 0x220]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x68]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x78]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x88]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x98]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0xa8]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0xb8]
movups xmmword [rcx + 0x60], xmm0
movups xmm0, xmmword [rax + 0xc8]
movups xmmword [rcx + 0x70], xmm0
movups xmm1, xmmword [rax + 0xd8]
movups xmmword [rcx + 0x80], xmm1
movups xmm0, xmmword [rax + 0xe8]
movups xmmword [rcx + 0x90], xmm0
mov rax, qword [0x18006e558]
mov rcx, qword [rax + 0xe98]
lea rax, [rbp + 0x220]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + 0x70], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx + 0x80], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x90], xmm1
xor r13d, r13d
call fcn.1800026f0
cmp byte [rax + 0x1f], 0
mov rax, qword [0x18006e558]
je 0x180047c67
mov rcx, qword [rax + 0x1488]
test rcx, rcx
je 0x180047c92
mov ebx, dword [rcx + 0x110]
cmp ebx, 0x3e8
je 0x180047c92
call fcn.1800026f0
mov dword [rax + 0xf8], ebx
mov edx, 0x3e8
mov rcx, qword [0x18006e558]
mov rcx, qword [rcx + 0x1488]
jmp 0x180047c8d
mov rbx, qword [rax + 0x1488]
test rbx, rbx
je 0x180047c92
cmp dword [rbx + 0x110], 0x3e8
jne 0x180047c92
call fcn.1800026f0
mov edx, dword [rax + 0xf8]
mov rcx, rbx
call fcn.18004f7a0
call fcn.1800026f0
cmp byte [rax + 0x20], 0
je 0x180047cbb
call fcn.1800026f0
movss xmm0, dword [rax + 0xfc]
mov rax, qword [0x18006e558]
movss dword [rax + 0xa8], xmm0
jmp 0x180047cdc
mov rax, qword [0x18006e558]
movss xmm0, dword [rax + 0xa8]
ucomiss xmm0, xmm14
jp 0x180047cd2
je 0x180047cdc
mov dword [rax + 0xa8], 0x3f800000
call fcn.1800026f0
cmp byte [rax + 0x21], 0
mov rax, qword [0x18006e558]
je 0x180047d0b
movss xmm0, dword [rax + 0x1ab8]
ucomiss xmm0, dword [0x1800633e8]
jp 0x180047d01
je 0x180047d0b
mov dword [rax + 0x1ab8], 0xc9742400
cmp qword [0x18006e508], 0
je 0x180047e86
mov rcx, qword [0x18006e0e0]
test rcx, rcx
je 0x180047e86
test rax, rax
jne 0x180047e86
test rcx, rcx
je 0x180047e86
call fcn.18004fa80
mov rbx, rax
test rax, rax
je 0x180047e86
mov rcx, qword [0x18006e5d0]
test rcx, rcx
jne 0x180047d6c
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [rax + 0x6c4d460]
mov qword [0x18006e5d0], rcx
mov r8d, dword [rbx + 0x30]
mov eax, r8d
cdq
movzx edx, dx
add eax, edx
sar eax, 0x10
cmp eax, dword [rcx + 0x1c]
jge 0x180047e86
cmp r8d, dword [rcx + 0x14]
jge 0x180047e86
movsxd rdx, eax
mov rax, qword [rcx]
mov r9, qword [rax + rdx*8]
test r9, r9
je 0x180047e86
and r8d, 0x8000ffff
jge 0x180047db8
dec r8d
or r8d, 0xffff0000
inc r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [r9 + rcx*8]
test rax, rax
je 0x180047e86
movups xmm0, xmmword [rax + 0x38]
movups xmmword [rbp + 0x2f0], xmm0
mov esi, r13d
mov r15d, dword [rax + 0x40]
test r15d, r15d
jle 0x180047e86
mov r14, r13
mov r12, qword [rbp + 0x2f0]
test r12, r12
je 0x180047eee
test r14, r14
js 0x180047eee
cmp esi, r15d
jge 0x180047eee
mov rax, qword [r12 + r14*8]
mov rbx, qword [rax + 0xe08]
mov rdi, qword [rax + 0xe10]
test rbx, rbx
je 0x180047e5c
call fcn.1800026f0
cmp byte [rax + 0x22], 0
je 0x180047e5c
mov dword [rbx + 0x98], 0x41200000
mov dword [rbx + 0x8c], 0x7530
mov word [rbx + 0x88], 0x101
mov dword [rbx + 0x7c], 5
mov dword [rbx + 0x84], 5
test rdi, rdi
je 0x180047e78
call fcn.1800026f0
cmp byte [rax + 0x1b], 0
je 0x180047e78
mov qword [rdi + 0x44], 0
mov dword [rdi + 0x54], r13d
inc esi
inc r14
cmp esi, r15d
jl 0x180047df1
mov rcx, qword [rbp + 0x300]
xor rcx, rsp
call fcn.1800539e0
lea r11, [rsp + 0x4b0]
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
lea rcx, [rbp + 0x2c0]
call fcn.180001560
lea rdx, [0x18006a960]
lea rcx, [rbp + 0x2c0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3