Function at 0x18003c510
Capabilities:
Hash data with crc32
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push r12
push r14
push r15
lea rbp, [rsp - 0x470]
sub rsp, 0x570
call fcn.18000b440
mov r14d, dword [0x1801ca090]
mov rbx, rax
mov r15d, 4
test rax, rax
jne 0x18003c547
xor r12d, r12d
jmp 0x18003c56f
mov rax, qword gs:[0x58]
mov rax, qword [rax + r14*8]
mov eax, dword [r15 + rax]
cmp dword [0x1801f0c10], eax
jg 0x18003dc23
mov rax, qword [0x1801f0538]
mov r12, qword [rbx + rax]
mov qword [rsp + 0x568], rsi
mov qword [rsp + 0x560], rdi
mov qword [rsp + 0x558], r13
movaps xmmword [rsp + 0x540], xmm6
movaps xmmword [rsp + 0x530], xmm7
movaps xmmword [rsp + 0x520], xmm8
movaps xmmword [rsp + 0x510], xmm9
movaps xmmword [rsp + 0x500], xmm10
movaps xmmword [rsp + 0x4f0], xmm11
movaps xmmword [rsp + 0x4e0], xmm12
movaps xmmword [rsp + 0x4d0], xmm13
movaps xmmword [rsp + 0x4c0], xmm14
movaps xmmword [rsp + 0x4b0], xmm15
mov qword [rbp + 0x10], r12
call fcn.18000d340
test rax, rax
je 0x18003db5d
test r12, r12
je 0x18003db5d
mov rax, qword [r12 + 0x28]
cmp dword [rax + 0x10], 1
jle 0x18003db5d
mov rcx, qword [0x1801ca1c0]
call fcn.18003bc30
movss xmm10, dword [0x18017bc5c]
comiss xmm0, xmm10
jbe 0x18003c62f
mov qword [0x1801ca1c0], 0
cmp byte [0x1801ca227], 0
movss xmm11, dword [0x1801562cc]
je 0x18003c715
mov rbx, qword [0x1801ca160]
test rbx, rbx
je 0x18003c6fe
cmp byte [0x1801ca158], 0
je 0x18003c6fe
mov rax, qword gs:[0x58]
xorps xmm7, xmm7
movss xmm6, dword [0x1801efeec]
addss xmm6, dword [0x180156054]
movss xmm8, dword [0x1801efee8]
mov rsi, qword [rax + r14*8]
movss xmm9, dword [0x1801efef0]
mov eax, dword [rsi + r15]
cmp dword [0x1801f052c], eax
jg 0x18003dc5e
movaps xmm0, xmm8
movss dword [rbp - 0x38], xmm9
unpcklps xmm0, xmm6
lea r8, [rbp]
lea rdx, [rbp - 0x40]
movsd qword [rbp - 0x40], xmm0
mov rcx, rbx
movdqa xmmword [rbp], xmm7
call qword [0x1801f0e58]
mov ecx, dword [rsi + r15]
mov rbx, rax
cmp dword [0x1801f0fd4], ecx
mov qword [0x1801ca168], rax
jg 0x18003dc9c
movss xmm1, dword [0x18015607c]
mov rcx, rbx
call qword [0x1801f0488]
mov byte [0x1801ca158], 0
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003c715
mov byte [0x1801ca158], 1
call fcn.18000d340
mov rcx, rax
call fcn.18000b980
test al, al
jne 0x18003db68
cmp byte [0x1801ca47e], al
jne 0x18003c737
call fcn.18003bcc0
mov rax, qword [r12 + 0x28]
xorps xmm8, xmm8
mov byte [0x1801ca47e], 1
mov dword [rbp + 0x4a8], 0
cmp dword [rax + 0x10], 0
jle 0x18003dab3
mov rdi, qword gs:[0x58]
xor r12d, r12d
movdqa xmm12, xmmword [0x180156770]
movabs rdx, 0x7fffffff0000
movdqa xmm14, xmmword [0x1801566e0]
movss xmm13, dword [0x180155f40]
movss xmm9, dword [0x1801562b0]
movss xmm15, dword [0x1801560b0]
mov qword [rbp - 0x10], r12
mov qword [rbp + 0x4b0], r14
nop dword [rax]
mov rax, qword [rax + 0x18]
mov r12, qword [rax + r12*8 + 0x20]
mov qword [rbp - 0x50], r12
test r12, r12
je 0x18003d208
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x18003d208
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x18003d208
lea rcx, [rbx + 0x60]
cmp rcx, 0x40000
jbe 0x18003d208
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x18003d208
mov rsi, qword [rcx]
test rsi, rsi
je 0x18003d208
call fcn.18000b180
mov r13, qword [rdi + r14*8]
mov eax, dword [r15 + r13]
cmp dword [0x1801f0848], eax
jg 0x18003dcda
lea rcx, [rsp + 0x40]
call qword [0x1801f0718]
mov eax, dword [r15 + r13]
cmp dword [0x1801f0978], eax
jg 0x18003dd18
mov rax, qword [0x1801f0658]
cmp byte [rax + r12], 0
jne 0x18003d1f8
mov eax, dword [r15 + r13]
cmp dword [0x1801f0bd4], eax
jg 0x18003dd53
mov rax, qword [0x1801f0a20]
mov rcx, r12
call rax
test rax, rax
je 0x18003d1f8
lea rdx, str.Local
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18003d1f8
mov rcx, r12
mov r14, rsi
call fcn.18000b700
test al, al
je 0x18003d56b
mov rcx, r12
call fcn.18003c480
comiss xmm10, xmm0
jbe 0x18003c8bb
movaps xmm10, xmm0
mov qword [0x1801ca1c8], r12
cmp byte [0x1801ca3f6], 0
je 0x18003cbfc
add rbx, 0x30
movabs r14, 0x7fffffff0000
cmp rbx, 0x40000
jbe 0x18003c94e
lea rax, [rbx + 8]
cmp rax, r14
jae 0x18003c94e
mov rbx, qword [rbx]
test rbx, rbx
je 0x18003c950
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x18003c950
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003c950
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003c950
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18003c950
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003c950
mov rdi, qword [rcx]
test rdi, rdi
je 0x18003c950
add rdi, 0x90
cmp rdi, 0x40000
jbe 0x18003c950
lea rax, [rdi + 0xc]
cmp rax, r14
jae 0x18003c950
movsd xmm6, qword [rdi]
mov edi, dword [rdi + 8]
jmp 0x18003c95d
xor ebx, ebx
movaps xmm6, xmm8
movd edi, xmm8
unpcklps xmm6, xmm8
call fcn.18000d340
mov r9, qword [0x1801ca1d8]
lea r8, [rbp + 0xb0]
add r9, 0x2f6e50
movsd qword [rbp + 0xb0], xmm6
mov rdx, rax
mov dword [rbp + 0xb8], edi
lea rcx, [rbp - 0x40]
call r9
cmp byte [0x1801ca3f6], 0
je 0x18003cbfc
lea rcx, [r12 + 0x5f8]
cmp rcx, 0x40000
jbe 0x18003c9ba
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18003c9ba
mov eax, dword [rcx]
jmp 0x18003c9bc
xor eax, eax
shr eax, 6
test al, 1
je 0x18003cbfc
test rbx, rbx
je 0x18003ca43
add rbx, 8
cmp rbx, 0x40000
jbe 0x18003ca43
lea rax, [rbx + 8]
cmp rax, r14
jae 0x18003ca43
mov rcx, qword [rbx]
test rcx, rcx
je 0x18003ca43
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18003ca43
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003ca43
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003ca43
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x18003ca43
lea rax, [rcx + 0xc]
cmp rax, r14
jae 0x18003ca43
movsd xmm0, qword [rcx]
movss xmm3, dword [rcx + 8]
movaps xmm1, xmm0
movsd qword [rbp + 0x130], xmm0
movss xmm4, dword [rbp + 0x130]
shufps xmm1, xmm1, 0x55
jmp 0x18003ca4f
movaps xmm3, xmm8
movaps xmm1, xmm8
movaps xmm4, xmm8
movss xmm0, dword [rbp - 0x3c]
movss xmm2, dword [rbp - 0x38]
subss xmm0, xmm1
movss xmm1, dword [rbp - 0x40]
subss xmm2, xmm3
subss xmm1, xmm4
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm0
addss xmm1, xmm2
comiss xmm1, dword [0x18015609c]
jae 0x18003cbfc
call fcn.18000d340
lea rcx, [rax + 0x4c8]
cmp rcx, 0x40000
jbe 0x18003cbfc
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003cbfc
mov rcx, qword [rcx]
add rcx, 0x20
cmp rcx, 0x40000
jbe 0x18003cbfc
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003cbfc
mov rcx, qword [rcx]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x18003cbfc
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18003cbfc
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003cbfc
add rcx, 0x14
cmp rcx, 0x40000
jbe 0x18003cb19
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18003cb19
mov eax, dword [rcx]
jmp 0x18003cb1b
xor eax, eax
shr eax, 8
test al, 1
je 0x18003cbfc
call fcn.18000d340
mov ecx, dword [r15 + r13]
mov rbx, rax
cmp dword [0x1801f1198], ecx
jg 0x18003dd91
mov rax, qword [0x1801f11a8]
mov rcx, rbx
mov rdx, qword [rax + r12]
call fcn.18000cee0
test al, al
jne 0x18003cb61
cmp byte [0x1801ca3fb], al
jne 0x18003cbfc
call fcn.18000d340
mov rbx, rax
test rax, rax
jne 0x18003cb74
movaps xmm1, xmm8
jmp 0x18003cb90
mov eax, dword [r15 + r13]
cmp dword [0x1801f06b8], eax
jg 0x18003ddcc
mov rax, qword [0x1801f0510]
movss xmm1, dword [rax + rbx]
movss xmm0, dword [0x1801ca1a0]
addss xmm0, xmm13
comiss xmm1, xmm0
jbe 0x18003cbfc
mov rbx, qword [0x1801ca1d8]
add rbx, 0x29b9f0
movss dword [0x1801ca1a0], xmm1
call fcn.18000d340
mov rdx, rax
mov rcx, r12
call rbx
call fcn.18000d340
mov rbx, rax
test rax, rax
jne 0x18003cbd8
movaps xmm0, xmm8
jmp 0x18003cbf4
mov eax, dword [r15 + r13]
cmp dword [0x1801f06b8], eax
jg 0x18003de07
mov rax, qword [0x1801f0510]
movss xmm0, dword [rax + rbx]
movss dword [0x1801ca1a0], xmm0
mov eax, dword [r15 + r13]
cmp dword [0x1801f0440], eax
jg 0x18003de42
mov rax, qword [0x1801f0448]
mov r14, rsi
cmp dword [rax + r12], 1
je 0x18003d56b
mov eax, dword [r15 + r13]
xor r14b, r14b
cmp dword [0x1801f1198], eax
movaps xmm6, xmm14
jg 0x18003de7d
mov rax, qword [0x1801f11a8]
lea r9, [rbp + 0x155]
mov qword [rbp + 0x4a0], rsi
mov r8, qword [rax + r12]
movabs r12, 0xcccccccccccccccd
nop dword [rax + rax]
dec r9
mov rax, r12
mul r8
shr rdx, 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 r8, rdx
test rdx, rdx
jne 0x18003cc60
mov r12, qword [rbp - 0x50]
lea rax, [rbp + 0x155]
xor esi, esi
xorps xmm0, xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
movups xmmword [rsp + 0x60], xmm0
cmp r9, rax
jne 0x18003ccc0
mov r13d, 0xf
mov byte [rsp + 0x60], sil
mov qword [rsp + 0x78], r13
jmp 0x18003cce1
lea r8, [rbp + 0x155]
mov rdx, r9
sub r8, r9
lea rcx, [rsp + 0x60]
call fcn.180053420
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
lea rcx, [r12 + 0x4a8]
movabs rbx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x18003cde3
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18003cde3
mov rdx, qword [rcx]
add rdx, 0x2c0
cmp rdx, 0x40000
jbe 0x18003cde3
lea rax, [rdx + 1]
cmp rax, rbx
jae 0x18003cde3
cmp byte [rdx], r14b
je 0x18003cde3
mov rcx, qword [rcx]
add rcx, 0x2c0
cmp rcx, 0x40000
jbe 0x18003cdda
lea rax, [rcx + 1]
cmp rax, rbx
jae 0x18003cdda
cmp byte [rcx], r14b
je 0x18003cdda
mov r14, qword [rbp + 0x4b0]
movaps xmm6, xmm12
mov rsi, qword gs:[0x58]
mov rax, qword [rsi + r14*8]
mov eax, dword [r15 + rax]
cmp dword [0x1801f0f90], eax
jg 0x18003deb8
mov rax, qword [0x1801f0c60]
movss xmm0, dword [rax + r12]
comiss xmm0, xmm8
jbe 0x18003d11c
movsd xmm0, qword [rsp + 0x40]
lea r8, [rbp + 0xc0]
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, r12
movsd qword [rbp + 0xc0], xmm0
mov dword [rbp + 0xc8], eax
movdqa xmmword [rsp + 0x50], xmm6
call fcn.180022cd0
jmp 0x18003d11c
movaps xmm6, xmm12
jmp 0x18003d10c
lea rcx, [r12 + 0x5f8]
cmp rcx, 0x40000
jbe 0x18003ce01
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x18003ce01
mov eax, dword [rcx]
jmp 0x18003ce03
xor eax, eax
shr eax, 4
test al, 1
jne 0x18003d027
mov rax, qword [0x1801c8490]
lea r14, [rsp + 0x60]
cmp r13, 0xf
lea r15, [0x1801c8480]
cmova r14, rdi
cmp qword [0x1801c8498], 0xf
cmova r15, qword [0x1801c8480]
cmp rsi, rax
ja 0x18003cead
test rsi, rsi
jne 0x18003ce47
xor ebx, ebx
jmp 0x18003ceb4
movsx r13d, byte [r14]
sub rax, rsi
mov edx, r13d
mov rcx, r15
lea r12, [rax + r15]
lea r8, [r12 + 1]
sub r8, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x18003cea4
nop dword [rax]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18003cf8e
inc rbx
lea r8, [r12 + 1]
sub r8, rbx
mov rcx, rbx
mov edx, r13d
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x18003ce70
mov r13, qword [rsp + 0x78]
mov r12, qword [rbp - 0x50]
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
setne r14b
call fcn.18000d340
mov rcx, qword gs:[0x58]
mov rbx, rax
mov rax, qword [rbp + 0x4b0]
mov edx, 4
mov esi, edx
mov r15, qword [rcx + rax*8]
mov ecx, dword [rdx + r15]
cmp dword [0x1801f1198], ecx
jg 0x18003def3
mov rax, qword [0x1801f11a8]
mov rcx, rbx
mov rdx, qword [rax + r12]
call fcn.18000cee0
test al, al
je 0x18003cfe3
cmp byte [0x1801ca15e], 0
je 0x18003cf9f
call fcn.18000d340
mov ecx, dword [rsi + r15]
mov rbx, rax
cmp dword [0x1801f1198], ecx
jg 0x18003df2e
mov rax, qword [0x1801f11a8]
mov rcx, rbx
mov rdx, qword [rax + r12]
call fcn.18000cee0
test al, al
je 0x18003d0b0
movss xmm0, dword [0x18017bd00]
movss xmm1, dword [0x18017bd04]
movss xmm2, dword [0x18017bd08]
mov dword [rbp + 0x24], 0x3f800000
movups xmm6, xmmword [rbp + 0x18]
movss xmm6, xmm0
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm1
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm2
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp + 0x18], xmm6
jmp 0x18003d0b0
mov r13, qword [rsp + 0x78]
sub rbx, r15
mov r12, qword [rbp - 0x50]
jmp 0x18003ceb4
movss xmm0, dword [0x18017bc20]
movss xmm1, dword [0x18017bc24]
movss xmm2, dword [0x18017bc28]
mov dword [rbp + 0x34], 0x3f800000
movups xmm6, xmmword [rbp + 0x28]
movss xmm6, xmm0
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm1
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm2
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp + 0x28], xmm6
jmp 0x18003d0b0
movss xmm0, dword [0x18017bc20]
movss xmm1, dword [0x18017bc24]
movss xmm2, dword [0x18017bc28]
mov dword [rbp + 0x44], 0x3f800000
movups xmm6, xmmword [rbp + 0x38]
movss xmm6, xmm0
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm1
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm2
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp + 0x38], xmm6
jmp 0x18003d0b0
cmp byte [0x1801ca15f], r14b
je 0x18003d071
movss xmm0, dword [0x18017bcd0]
movss xmm1, dword [0x18017bcd4]
movss xmm2, dword [0x18017bcd8]
mov dword [rbp + 0x54], 0x3f800000
movups xmm6, xmmword [rbp + 0x48]
movss xmm6, xmm0
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm1
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm2
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp + 0x48], xmm6
jmp 0x18003d0b0
movss xmm0, dword [0x18017bc20]
movss xmm1, dword [0x18017bc24]
movss xmm2, dword [0x18017bc28]
mov dword [rbp + 0xc], 0x3f800000
movups xmm6, xmmword [rbp]
movss xmm6, xmm0
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm1
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm2
shufps xmm6, xmm6, 0xc9
movups xmmword [rbp], xmm6
cmp byte [0x1801ca17d], 0
je 0x18003d0cc
lea rdx, [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm6
mov rcx, r12
call fcn.18001efa0
movsd xmm0, qword [rsp + 0x40]
lea r8, [rbp + 0xd0]
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x50]
movzx r9d, r14b
movsd qword [rbp + 0xd0], xmm0
mov rcx, r12
mov dword [rbp + 0xd8], eax
movdqa xmmword [rsp + 0x50], xmm6
call fcn.1800216b0
movabs rbx, 0x7fffffff0000
mov rsi, qword gs:[0x58]
mov r14, qword [rbp + 0x4b0]
movsd xmm0, qword [rsp + 0x40]
lea r8, [rbp + 0xe0]
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, r12
movsd qword [rbp + 0xe0], xmm0
mov dword [rbp + 0xe8], eax
movdqa xmmword [rsp + 0x50], xmm6
call fcn.1800209f0
movsd xmm0, qword [rsp + 0x40]
lea r8, [rbp + 0xf0]
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, r12
movsd qword [rbp + 0xf0], xmm0
mov dword [rbp + 0xf8], eax
movdqa xmmword [rsp + 0x50], xmm6
call fcn.18001f840
cmp byte [0x1801ca248], 0
je 0x18003d238
lea rcx, [r12 + 0x5f8]
cmp rcx, 0x40000
jbe 0x18003d1ab
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x18003d1ab
mov eax, dword [rcx]
jmp 0x18003d1ad
xor eax, eax
shr eax, 4
test al, 1
je 0x18003d238
cmp r13, 0xf
jbe 0x18003d1ef
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18003d1e7
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003da9e
mov rcx, rdi
call fcn.1801007ac
mov rdi, qword gs:[0x58]
mov r15d, 4
movabs rdx, 0x7fffffff0000
mov r12d, dword [rbp + 0x4a8]
mov rax, qword [rbp + 0x10]
inc r12d
inc qword [rbp - 0x10]
mov dword [rbp + 0x4a8], r12d
mov rax, qword [rax + 0x28]
cmp r12d, dword [rax + 0x10]
jge 0x18003daac
mov r12, qword [rbp - 0x10]
jmp 0x18003c7b0
cmp byte [0x1801ca22a], 0
je 0x18003d26c
lea rcx, [r12 + 0x5f8]
cmp rcx, 0x40000
jbe 0x18003d25f
lea rax, [rcx + 4]
cmp rax, rbx
jae 0x18003d25f
mov eax, dword [rcx]
jmp 0x18003d261
xor eax, eax
shr eax, 0x11
test al, 1
jne 0x18003d1b8
cmp byte [0x1801ca229], 0
je 0x18003d2b4
lea rcx, [r12 + 0x4a8]
cmp rcx, 0x40000
jbe 0x18003d2b4
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18003d2b4
mov rcx, qword [rcx]
add rcx, 0x2c0
cmp rcx, 0x40000
jbe 0x18003d2b4
lea rax, [rcx + 1]
cmp rax, rbx
jae 0x18003d2b4
cmp byte [rcx], 0
jne 0x18003d1b8
cmp byte [0x18017bc1c], 0
je 0x18003d2d5
call fcn.18000d340
mov rdx, r12
mov rcx, rax
call fcn.18000cee0
test al, al
jne 0x18003d1b8
mov r8d, 0x2f
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.18000cd30
ucomiss xmm8, dword [rax]
je 0x18003d1b8
mov r8d, 0x2f
lea rdx, [rbp + 0x164]
mov rcx, r12
call fcn.18000cd30
ucomiss xmm8, dword [rax + 4]
je 0x18003d1b8
mov r8d, 0x2f
lea rdx, [rbp + 0x170]
mov rcx, r12
call fcn.18000cd30
ucomiss xmm8, dword [rax + 8]
je 0x18003d1b8
cmp byte [0x1801ca216], 0
jne 0x18003d1b8
mov r8d, 0x2f
mov qword [rbp + 0x4b8], 0
lea rdx, [rbp + 0x17c]
mov rcx, r12
call fcn.18000cd30
lea rdx, [rbp + 0x4b8]
lea rcx, [rbp + 0x100]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp + 0x100], xmm0
mov dword [rbp + 0x108], eax
call fcn.18000dc50
test al, al
jne 0x18003d393
movaps xmm0, xmm9
jmp 0x18003d3c3
movss xmm1, dword [0x1801f00b4]
movss xmm0, dword [0x1801f00b0]
subss xmm0, dword [rbp + 0x4b8]
subss xmm1, dword [rbp + 0x4bc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm0, xmm0
comiss xmm0, dword [0x18017bc5c]
jae 0x18003d4e6
mov rbx, qword [0x1801ca1c0]
test rbx, rbx
je 0x18003d4df
mov r8d, 0x2f
mov qword [rbp - 0x70], 0
lea rdx, [rbp + 0x188]
mov rcx, rbx
call fcn.18000cd30
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x110]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp + 0x110], xmm0
mov dword [rbp + 0x118], eax
call fcn.18000dc50
test al, al
jne 0x18003d42c
movaps xmm6, xmm9
jmp 0x18003d464
test rbx, rbx
jne 0x18003d437
movaps xmm6, xmm9
jmp 0x18003d464
movss xmm1, dword [0x1801f00b0]
xorps xmm6, xmm6
subss xmm1, dword [rbp - 0x70]
movss xmm0, dword [0x1801f00b4]
subss xmm0, dword [rbp - 0x6c]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
sqrtss xmm6, xmm1
mov r8d, 0x2f
mov qword [rbp - 0x68], 0
lea rdx, [rbp + 0x194]
mov rcx, r12
call fcn.18000cd30
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x120]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp + 0x120], xmm0
mov dword [rbp + 0x128], eax
call fcn.18000dc50
test al, al
jne 0x18003d4b0
movaps xmm0, xmm9
jmp 0x18003d4da
movss xmm1, dword [0x1801f00b0]
movss xmm0, dword [0x1801f00b4]
subss xmm0, dword [rbp - 0x64]
subss xmm1, dword [rbp - 0x68]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm0, xmm0
comiss xmm6, xmm0
jbe 0x18003d4e6
mov qword [0x1801ca1c0], r12
mov rcx, r12
call fcn.18003c480
movaps xmm6, xmm0
comiss xmm11, xmm6
jbe 0x18003d52d
mov rax, qword [rsi + r14*8]
mov ecx, 4
mov eax, dword [rcx + rax]
cmp dword [0x1801f0f90], eax
jg 0x18003df69
mov rax, qword [0x1801f0c60]
movss xmm0, dword [rax + r12]
comiss xmm0, xmm8
jbe 0x18003d52d
movaps xmm11, xmm6
mov qword [0x1801ca1e0], r12
cmp r13, 0xf
jbe 0x18003d564
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18003d55c
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003da9e
mov rcx, rdi
call fcn.1801007ac
mov r14, qword [rbp + 0x4a0]
mov r8, qword [r12]
test r8, r8
je 0x18003d9e4
mov r8, qword [r8 + 0x10]
mov edx, 0xffffffff
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r8 + rax], 0
jne 0x18003d590
test eax, eax
je 0x18003d9e4
mov r9d, eax
lea r12, [0x18013c420]
nop dword [rax]
movsx ecx, byte [r8]
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [r12 + rax*4]
sub r9, 1
jne 0x18003d5b0
mov r12, qword [rbp - 0x50]
not edx
mov r15d, 4
cmp edx, 0xd9e96dc9
jne 0x18003d9ea
mov rax, qword [rbp + 0x4b0]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
mov eax, dword [r15 + rbx]
cmp dword [0x1801f0f90], eax
jg 0x18003dfa4
mov rax, qword [0x1801f0c60]
movss xmm7, dword [rax + r12]
mov eax, dword [r15 + rbx]
cmp dword [0x1801f0d5c], eax
jg 0x18003dfdf
mov rax, qword [0x1801f07c0]
mov rcx, r12
call rax
mov rdi, rax
test rax, rax
jne 0x18003d643
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
jmp 0x18003d660
mov eax, dword [r15 + rbx]
cmp dword [0x1801f0728], eax
jg 0x18003e01d
mov rdx, rdi
lea rcx, [rbp - 0x80]
call qword [0x1801f05d8]
movsd xmm0, qword [rbp - 0x80]
lea rdx, [rbp - 0x60]
mov eax, dword [rbp - 0x78]
lea rcx, [rbp + 0x60]
movsd qword [rbp + 0x60], xmm0
mov qword [rbp - 0x60], 0
mov dword [rbp + 0x68], eax
call fcn.18000dc50
test al, al
je 0x18003d9ea
cmp byte [0x1801ca373], 0
je 0x18003d9ea
xorps xmm0, xmm0
mov qword [rsp + 0x70], 0
movups xmmword [rsp + 0x60], xmm0
xor edx, edx
mov byte [rsp + 0x60], 0
mov r8d, 0x100
mov qword [rsp + 0x78], 0xf
lea rcx, [rbp + 0x1b0]
call sub.VCRUNTIME140.dll_memset
movsd xmm6, qword [rbp - 0x80]
mov ebx, dword [rbp - 0x78]
call fcn.18000d340
mov r8d, 0x2f
lea rdx, [rbp + 0x1a0]
mov rcx, rax
call fcn.18000cd30
movd xmm0, ebx
lea rdx, str.Helicopter__1.0fm_
lea rcx, [rbp + 0x1b0]
movsd xmm3, qword [rax]
movss xmm2, dword [rax + 8]
movaps xmm1, xmm3
subss xmm2, xmm0
movsd qword [rbp - 0x50], xmm3
subss xmm3, xmm6
shufps xmm1, xmm1, 0x55
movaps xmm0, xmm6
movsd qword [rbp - 0x50], xmm6
shufps xmm0, xmm0, 0x55
subss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm2, xmm2
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm1
addss xmm3, xmm2
sqrtss xmm0, xmm3
cvtps2pd xmm2, xmm0
movq r8, xmm2
call fcn.180050fd0
lea rax, [rbp + 0x1b0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x18003d764
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x18003d7b5
cmp rdx, 0xf
lea rax, [rcx + rdi]
lea rbx, [rsp + 0x60]
mov qword [rsp + 0x70], rax
cmova rbx, qword [rsp + 0x60]
lea rdx, [rbp + 0x1b0]
add rbx, rcx
mov r8, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x18003d7ce
lea r9, [rbp + 0x1b0]
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180053290
xorps xmm0, xmm0
mov qword [rbp - 0x20], 0
movups xmmword [rbp - 0x30], xmm0
xor edx, edx
mov byte [rbp - 0x30], 0
mov r8d, 0x100
mov qword [rbp - 0x18], 0xf
lea rcx, [rbp + 0x2b0]
call sub.VCRUNTIME140.dll_memset
cvttss2si r8d, xmm7
lea rdx, str.__dHP_
lea rcx, [rbp + 0x2b0]
call fcn.180050fd0
lea rax, [rbp + 0x2b0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x18003d823
mov rcx, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x20]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x18003d871
cmp rcx, 0xf
lea rax, [rsi + rdi]
lea rbx, [rbp - 0x30]
mov qword [rbp - 0x20], rax
cmova rbx, qword [rbp - 0x30]
lea rdx, [rbp + 0x2b0]
mov r8, rdi
lea rcx, [rsi + rbx]
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rsi]
mov byte [rax + rbx], 0
jmp 0x18003d889
lea r9, [rbp + 0x2b0]
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180053290
cmp qword [rsp + 0x78], 0xf
lea rax, [rsp + 0x60]
movdqa xmm0, xmmword [0x180156b40]
lea r9, [rsp + 0x50]
cmova rax, qword [rsp + 0x60]
movss xmm7, dword [rbp - 0x5c]
movss xmm6, dword [rbp - 0x60]
movaps xmm2, xmm7
mov rcx, qword [0x1801f0980]
movaps xmm1, xmm6
mov qword [rsp + 0x38], rax
mov rax, qword [0x1801ca528]
movss dword [rsp + 0x30], xmm15
mov qword [rsp + 0x28], rax
movd r8d, xmm2
movd edx, xmm1
mov dword [rsp + 0x20], 3
movdqa xmmword [rsp + 0x50], xmm0
call fcn.180017870
addss xmm7, dword [0x1801560c0]
cmp qword [rbp - 0x18], 0xf
lea rax, [rbp - 0x30]
movdqa xmm0, xmmword [0x180156b40]
lea r9, [rsp + 0x50]
cmova rax, qword [rbp - 0x30]
movaps xmm1, xmm6
mov rcx, qword [0x1801f0980]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm7
mov rax, qword [0x1801ca528]
movss dword [rsp + 0x30], xmm15
mov qword [rsp + 0x28], rax
movd r8d, xmm2
movd edx, xmm1
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], 3
call fcn.180017870
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x18003d991
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d98c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003daa5
call fcn.1801007ac
mov rdx, qword [rsp + 0x78]
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
cmp rdx, 0xf
jbe 0x18003d9ea
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d9dd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003daa5
call fcn.1801007ac
jmp 0x18003d9ea
mov r15d, 4
movsd xmm0, qword [rsp + 0x40]
lea r9, [rbp + 0x70]
mov eax, dword [rsp + 0x48]
mov r8, r14
mov rdx, r12
movsd qword [rbp + 0x70], xmm0
mov dword [rbp + 0x78], eax
call fcn.18001e0d0
movsd xmm0, qword [rsp + 0x40]
lea r9, [rbp + 0x80]
mov eax, dword [rsp + 0x48]
mov r8, r14
mov rdx, r12
movsd qword [rbp + 0x80], xmm0
mov dword [rbp + 0x88], eax
call fcn.18001e480
movsd xmm0, qword [rsp + 0x40]
lea r9, [rbp + 0x90]
mov eax, dword [rsp + 0x48]
mov r8, r14
mov rdx, r12
movsd qword [rbp + 0x90], xmm0
mov dword [rbp + 0x98], eax
call fcn.18001ea40
movsd xmm0, qword [rsp + 0x40]
lea r8, [rbp + 0xa0]
mov eax, dword [rsp + 0x48]
mov rdx, r14
mov rcx, r12
movsd qword [rbp + 0xa0], xmm0
mov dword [rbp + 0xa8], eax
call fcn.18001cf10
mov r14, qword [rbp + 0x4b0]
mov rdi, qword gs:[0x58]
jmp 0x18003d1fe
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]
int3
mov r14d, dword [0x1801ca090]
mov rcx, qword [0x1801ca1c0]
test rcx, rcx
je 0x18003db54
call fcn.18000d2c0
mov rbx, qword [rax]
test rbx, rbx
je 0x18003db11
mov rax, qword gs:[0x58]
mov ecx, r14d
mov rax, qword [rax + rcx*8]
mov eax, dword [r15 + rax]
cmp dword [0x1801f0fd8], eax
jg 0x18003dbe8
mov rax, qword [0x1801f1028]
cmp byte [rbx + rax], 0
je 0x18003db11
cmp byte [0x1801ca229], 0
je 0x18003db11
mov qword [0x1801ca1c0], 0
call fcn.18000d340
mov rdx, qword [0x1801ca1c0]
mov rcx, rax
call fcn.18000cee0
test al, al
je 0x18003db3b
cmp byte [0x18017bc1c], 0
je 0x18003db3b
xor edx, edx
mov qword [0x1801ca1c0], rdx
mov rcx, rdx
call fcn.18000b900
comiss xmm8, dword [rax]
jb 0x18003db54
mov qword [0x1801ca1c0], 0
cmp byte [0x1801ca216], 0
je 0x18003db68
mov qword [0x1801ca1c0], 0
movaps xmm15, xmmword [rsp + 0x4b0]
movaps xmm14, xmmword [rsp + 0x4c0]
movaps xmm13, xmmword [rsp + 0x4d0]
movaps xmm12, xmmword [rsp + 0x4e0]
movaps xmm11, xmmword [rsp + 0x4f0]
movaps xmm10, xmmword [rsp + 0x500]
movaps xmm9, xmmword [rsp + 0x510]
movaps xmm8, xmmword [rsp + 0x520]
movaps xmm7, xmmword [rsp + 0x530]
movaps xmm6, xmmword [rsp + 0x540]
mov r13, qword [rsp + 0x558]
mov rdi, qword [rsp + 0x560]
mov rsi, qword [rsp + 0x568]
add rsp, 0x570
pop r15
pop r14
pop r12
pop rbx
pop rbp
ret
lea rcx, [0x1801f0fd8]
call fcn.180100388
cmp dword [0x1801f0fd8], 0xffffffff
jne 0x18003daf0
mov ecx, 0xfb4c91a6
call fcn.180007500
lea rcx, [0x1801f0fd8]
mov qword [0x1801f1028], rax
call fcn.18010031c
jmp 0x18003daf0
lea rcx, [0x1801f0c10]
call fcn.180100388
cmp dword [0x1801f0c10], 0xffffffff
jne 0x18003c564
mov ecx, 0xae00109b
call fcn.180007500
lea rcx, [0x1801f0c10]
mov qword [0x1801f0538], rax
call fcn.18010031c
jmp 0x18003c564
lea rcx, [0x1801f052c]
call fcn.180100388
cmp dword [0x1801f052c], 0xffffffff
jne 0x18003c6a4
mov ecx, 0xb4e9f8da
call fcn.180005e40
lea rcx, [0x1801f052c]
mov rdx, qword [rax]
mov qword [0x1801f0e58], rdx
call fcn.18010031c
jmp 0x18003c6a4
lea rcx, [0x1801f0fd4]
call fcn.180100388
cmp dword [0x1801f0fd4], 0xffffffff
jne 0x18003c6e6
mov ecx, 0x91172acf
call fcn.180005e40
lea rcx, [0x1801f0fd4]
mov rdx, qword [rax]
mov qword [0x1801f0488], rdx
call fcn.18010031c
jmp 0x18003c6e6
lea rcx, [0x1801f0848]
call fcn.180100388
cmp dword [0x1801f0848], 0xffffffff
jne 0x18003c824
mov ecx, 0xff93f329
call fcn.180005e40
mov rcx, qword [rax]
mov qword [0x1801f0718], rcx
lea rcx, [0x1801f0848]
call fcn.18010031c
jmp 0x18003c824
lea rcx, [0x1801f0978]
call fcn.180100388
cmp dword [0x1801f0978], 0xffffffff
jne 0x18003c83f
mov ecx, 0x33f7a6a3
call fcn.180007500
lea rcx, [0x1801f0978]
mov qword [0x1801f0658], rax
call fcn.18010031c
jmp 0x18003c83f
lea rcx, [0x1801f0bd4]
call fcn.180100388
cmp dword [0x1801f0bd4], 0xffffffff
jne 0x18003c861
mov ecx, 0x8bb6774c
call fcn.180005e40
mov rcx, qword [rax]
mov qword [0x1801f0a20], rcx
lea rcx, [0x1801f0bd4]
call fcn.18010031c
jmp 0x18003c861
lea rcx, [0x1801f1198]
call fcn.180100388
cmp dword [0x1801f1198], 0xffffffff
jne 0x18003cb3e
mov ecx, 0xc4cdd477
call fcn.180007500
lea rcx, [0x1801f1198]
mov qword [0x1801f11a8], rax
call fcn.18010031c
jmp 0x18003cb3e
lea rcx, [0x1801f06b8]
call fcn.180100388
cmp dword [0x1801f06b8], 0xffffffff
jne 0x18003cb84
mov ecx, 0xc566d10
call fcn.180007500
lea rcx, [0x1801f06b8]
mov qword [0x1801f0510], rax
call fcn.18010031c
jmp 0x18003cb84
lea rcx, [0x1801f06b8]
call fcn.180100388
cmp dword [0x1801f06b8], 0xffffffff
jne 0x18003cbe8
mov ecx, 0xc566d10
call fcn.180007500
lea rcx, [0x1801f06b8]
mov qword [0x1801f0510], rax
call fcn.18010031c
jmp 0x18003cbe8
lea rcx, [0x1801f0440]
call fcn.180100388
cmp dword [0x1801f0440], 0xffffffff
jne 0x18003cc0c
mov ecx, 0x1f15eb59
call fcn.180007500
lea rcx, [0x1801f0440]
mov qword [0x1801f0448], rax
call fcn.18010031c
jmp 0x18003cc0c
lea rcx, [0x1801f1198]
call fcn.180100388
cmp dword [0x1801f1198], 0xffffffff
jne 0x18003cc38
mov ecx, 0xc4cdd477
call fcn.180007500
lea rcx, [0x1801f1198]
mov qword [0x1801f11a8], rax
call fcn.18010031c
jmp 0x18003cc38
lea rcx, [0x1801f0f90]
call fcn.180100388
cmp dword [0x1801f0f90], 0xffffffff
jne 0x18003cd8c
mov ecx, 0x43f29029
call fcn.180007500
lea rcx, [0x1801f0f90]
mov qword [0x1801f0c60], rax
call fcn.18010031c
jmp 0x18003cd8c
lea rcx, [0x1801f1198]
call fcn.180100388
cmp dword [0x1801f1198], 0xffffffff
jne 0x18003ceef
mov ecx, 0xc4cdd477
call fcn.180007500
lea rcx, [0x1801f1198]
mov qword [0x1801f11a8], rax
call fcn.18010031c
jmp 0x18003ceef
lea rcx, [0x1801f1198]
call fcn.180100388
cmp dword [0x1801f1198], 0xffffffff
jne 0x18003cf2f
mov ecx, 0xc4cdd477
call fcn.180007500
lea rcx, [0x1801f1198]
mov qword [0x1801f11a8], rax
call fcn.18010031c
jmp 0x18003cf2f
lea rcx, [0x1801f0f90]
call fcn.180100388
cmp dword [0x1801f0f90], 0xffffffff
jne 0x18003d50f
mov ecx, 0x43f29029
call fcn.180007500
lea rcx, [0x1801f0f90]
mov qword [0x1801f0c60], rax
call fcn.18010031c
jmp 0x18003d50f
lea rcx, [0x1801f0f90]
call fcn.180100388
cmp dword [0x1801f0f90], 0xffffffff
jne 0x18003d609
mov ecx, 0x43f29029
call fcn.180007500
lea rcx, [0x1801f0f90]
mov qword [0x1801f0c60], rax
call fcn.18010031c
jmp 0x18003d609
lea rcx, [0x1801f0d5c]
call fcn.180100388
cmp dword [0x1801f0d5c], 0xffffffff
jne 0x18003d626
mov ecx, 0x3300df68
call fcn.180005e40
mov rcx, qword [rax]
mov qword [0x1801f07c0], rcx
lea rcx, [0x1801f0d5c]
call fcn.18010031c
jmp 0x18003d626
lea rcx, [0x1801f0728]
call fcn.180100388
cmp dword [0x1801f0728], 0xffffffff
jne 0x18003d653
mov ecx, 0x56e64b7d
call fcn.180005e40
mov rcx, qword [rax]
mov qword [0x1801f05d8], rcx
lea rcx, [0x1801f0728]
call fcn.18010031c
jmp 0x18003d653
mov rax, rsp
push rbp
lea rbp, [rax - 0x918]
sub rsp, 0xa10
mov qword [rax - 0x10], rbx
mov qword [rax - 0x38], r15
xor r15d, r15d
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movss xmm8, dword [0x18015608c]
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movss xmm13, dword [0x180155f98]
movaps xmmword [rax - 0xc8], xmm14
movss xmm14, dword [0x18015618c]
movaps xmmword [rax - 0xd8], xmm15
mov eax, dword [0x1801ca254]
movss xmm15, dword [0x180156140]
cdq
sub eax, edx
sar eax, 1
movd xmm12, eax
mov eax, dword [0x1801ca36c]
cdq
sub eax, edx
sar eax, 1
cmp byte [0x1801ca21a], r15b
cvtdq2ps xmm12, xmm12
movd xmm10, eax
movaps xmm7, xmm12
cvtdq2ps xmm10, xmm10
subss xmm7, xmm15
je 0x18003e357
movdqa xmm0, xmmword [0x1801566e0]
lea rcx, [rsp + 0x50]
movaps xmm9, xmm10
movdqa xmmword [rsp + 0x50], xmm0
subss xmm9, dword [0x180156118]
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea r8, [rbp + 0x920]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r15d
movaps xmm1, xmm9
movss dword [rbp + 0x928], xmm7
addss xmm0, xmm14
movss dword [rbp + 0x92c], xmm9
addss xmm1, xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea rdx, [rbp + 0x928]
movss dword [rbp + 0x920], xmm0
movss dword [rbp + 0x924], xmm1
call fcn.180072ef0
mov ecx, dword [0x1801f1080]
test ecx, ecx
je 0x18003e293
sub ecx, 1
je 0x18003e293
cmp ecx, 1
je 0x18003e293
movss xmm6, dword [rbp + 0x920]
jmp 0x18003e29c
call qword [0x1801f1078]
movaps xmm6, xmm0
call fcn.18000d340
mov rcx, rax
call fcn.18000cc00
mov ecx, dword [0x1801ca444]
xorps xmm0, xmm0
subss xmm6, dword [rax]
cvtss2sd xmm0, xmm6
subsd xmm0, qword [0x180155fc8]
mulsd xmm0, qword [0x180156048]
cvtpd2ps xmm6, xmm0
minss xmm6, dword [0x180156204]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003e321
subss xmm6, dword [0x180156018]
movdqa xmm0, xmmword [0x180156750]
lea rax, [rsp + 0x50]
movaps xmm1, xmm7
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x28], rax
addss xmm1, xmm13
movaps xmm2, xmm9
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm6
movdqa xmmword [rsp + 0x50], xmm0
call fcn.180018020
movdqa xmm0, xmmword [0x1801566e0]
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm13
movaps xmm3, xmm14
mov qword [rsp + 0x28], rax
movaps xmm2, xmm9
movaps xmm1, xmm7
movss dword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x50], xmm0
call fcn.180017fa0
cmp byte [0x1801ca3f4], r15b
movss xmm9, dword [0x1801560f8]
je 0x18003e544
call fcn.18000d340
mov rcx, rax
call fcn.1800520b0
movdqa xmm0, xmmword [0x1801566e0]
lea rcx, [rsp + 0x50]
movaps xmm6, xmm10
movdqa xmmword [rsp + 0x50], xmm0
mov rbx, rax
subss xmm6, xmm9
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea r8, [rbp + 0x920]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r15d
movaps xmm1, xmm6
movss dword [rbp + 0x928], xmm7
addss xmm0, xmm14
movss dword [rbp + 0x92c], xmm6
addss xmm1, xmm8
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea rdx, [rbp + 0x928]
movss dword [rbp + 0x920], xmm0
movss dword [rbp + 0x924], xmm1
call fcn.180072ef0
test rbx, rbx
je 0x18003e503
cmp byte [0x1801ca47d], r15b
jne 0x18003e474
mov rcx, rbx
call fcn.18000bd40
mov rcx, rbx
movss xmm6, dword [rax]
call fcn.18000bd40
movss xmm7, dword [0x180155ea8]
movss xmm1, dword [0x1801ca530]
movss xmm0, dword [rax]
mulss xmm0, xmm7
subss xmm6, xmm0
comiss xmm1, xmm6
ja 0x18003e474
comiss xmm1, xmm11
jbe 0x18003e474
mov rcx, rbx
call fcn.18000bd40
mov rcx, rbx
movss xmm6, dword [rax]
call fcn.18000bd40
movss xmm2, dword [0x1801ca530]
movss xmm0, dword [rax]
mulss xmm0, xmm7
subss xmm6, xmm0
movaps xmm3, xmm6
jmp 0x18003e4f6
mov rcx, rbx
call fcn.18000bdc0
movss xmm0, dword [0x1801ca518]
comiss xmm0, dword [rax]
jae 0x18003e503
mov rcx, rbx
call fcn.18000bdc0
mov rcx, rbx
movss xmm7, dword [rax]
subss xmm7, dword [0x1801ca518]
call fcn.18000bd40
mov rcx, rbx
movss xmm6, dword [rax]
call fcn.18000bdc0
movss xmm2, dword [0x1801ca518]
movaps xmm3, xmm6
addss xmm3, xmm2
movss xmm1, dword [rax]
comiss xmm1, xmm11
jae 0x18003e4d1
maxss xmm3, xmm11
jmp 0x18003e4ef
movaps xmm0, xmm2
addss xmm6, xmm1
subss xmm0, xmm1
comiss xmm0, xmm11
ja 0x18003e4e8
minss xmm6, xmm3
jmp 0x18003e4ec
maxss xmm6, xmm3
movaps xmm3, xmm6
subss xmm3, xmm2
movaps xmm2, xmm7
movaps xmm1, xmm10
movaps xmm0, xmm12
call fcn.18003e060
movdqa xmm0, xmmword [0x1801566e0]
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm13
movaps xmm2, xmm10
movaps xmm1, xmm12
mov qword [rsp + 0x28], rax
subss xmm2, xmm9
movss dword [rsp + 0x20], xmm8
subss xmm1, xmm15
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm3, xmm14
call fcn.180017fa0
cmp byte [0x1801ca3d1], r15b
movss xmm15, dword [0x180156218]
je 0x18003e610
movss xmm3, dword [0x1801ca364]
movaps xmm6, xmm12
divss xmm3, dword [0x1801ca24c]
subss xmm6, dword [0x1801561bc]
comiss xmm3, dword [0x180156038]
movss xmm7, dword [0x180156248]
movaps xmm0, xmm15
unpcklps xmm0, xmm8
movaps xmm2, xmm10
movaps xmm1, xmm6
movq r8, xmm0
jb 0x18003e5a7
movss dword [rsp + 0x20], xmm3
subss xmm2, xmm7
jmp 0x18003e5b6
subss xmm2, dword [0x18015624c]
movss dword [rsp + 0x20], xmm13
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.1800182d0
movss xmm3, dword [0x1801ca368]
movaps xmm2, xmm10
divss xmm3, dword [0x1801ca360]
subss xmm2, xmm7
movaps xmm0, xmm15
comiss xmm3, dword [0x180156088]
movaps xmm1, xmm6
unpcklps xmm0, xmm8
unpcklps xmm1, xmm2
movq r8, xmm0
movq rdx, xmm1
jb 0x18003e604
movss dword [rsp + 0x20], xmm3
jmp 0x18003e60b
movss dword [rsp + 0x20], xmm13
call fcn.1800182d0
cmp byte [0x1801ca45c], r15b
mov qword [rsp + 0x9f8], rdi
je 0x18003f1c3
mov eax, dword [0x1801ca458]
movss xmm15, dword [0x180155ff0]
test eax, eax
jne 0x18003e6cd
movss xmm0, dword [0x18017bd30]
lea rcx, [rsp + 0x50]
movss xmm1, dword [0x18017bd34]
movss xmm2, dword [0x18017bd38]
mov dword [rsp + 0x5c], 0x3f800000
movups xmm3, xmmword [rsp + 0x50]
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rsp + 0x50], xmm3
movdqa xmmword [rsp + 0x50], xmm3
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x920]
movaps xmm0, xmm10
movss dword [rbp + 0x920], xmm12
addss xmm0, xmm13
mov dword [rsp + 0x20], r15d
mov r9d, eax
movaps xmm2, xmm15
movss dword [rbp + 0x924], xmm0
call fcn.180073c80
mov eax, dword [0x1801ca458]
cmp eax, 1
jne 0x18003e871
movdqa xmm0, xmmword [0x180156c50]
lea rcx, [rsp + 0x50]
movdqa xmm1, xmmword [0x1801564b0]
lea rbx, [rbp - 0x20]
movdqu xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [0x180156b40]
movdqa xmmword [rsp + 0x50], xmm0
movdqu xmmword [rbp - 0x10], xmm1
call fcn.1800599a0
movss xmm8, dword [0x180155f5c]
mov edi, eax
movss dword [rbp + 0x928], xmm12
movss dword [rbp + 0x92c], xmm10
nop dword [rax]
movd xmm1, dword [rbx + 4]
lea r8, [rbp + 0x920]
movd xmm0, dword [rbx]
lea rdx, [rbp + 0x928]
mov rcx, qword [0x1801f05e0]
mov r9d, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
addss xmm1, xmm10
movss dword [rsp + 0x20], xmm8
addss xmm0, xmm12
movss dword [rbp + 0x924], xmm1
movss dword [rbp + 0x920], xmm0
call fcn.180072c80
lea rax, [rbp]
add rbx, 8
cmp rbx, rax
jne 0x18003e730
movss xmm9, dword [0x180156054]
lea rbx, [rbp - 0x20]
movaps xmm1, xmm12
mov dword [rsp + 0x5c], 0x3f800000
addss xmm1, xmm9
movaps xmm0, xmm1
movss dword [rbp + 0x928], xmm1
addss xmm0, xmm9
movss dword [rbp + 0x920], xmm0
movups xmm1, xmmword [rsp + 0x50]
lea rcx, [rbp - 0x80]
movss xmm0, dword [0x18017bd30]
movss xmm2, dword [0x18017bd34]
movss xmm1, xmm0
movss xmm3, dword [0x18017bd38]
movd xmm7, dword [rbx + 4]
movd xmm6, dword [rbx]
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm2
shufps xmm1, xmm1, 0xc6
cvtdq2ps xmm7, xmm7
movss xmm1, xmm3
shufps xmm1, xmm1, 0xc9
addss xmm7, xmm10
cvtdq2ps xmm6, xmm6
movups xmmword [rsp + 0x50], xmm1
movdqa xmmword [rbp - 0x80], xmm1
addss xmm7, xmm9
addss xmm6, xmm10
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x928]
mov r9d, eax
movss dword [rbp + 0x924], xmm7
lea r8, [rbp + 0x920]
movss dword [rbp + 0x92c], xmm6
movss dword [rsp + 0x20], xmm8
call fcn.180072c80
lea rax, [rbp]
add rbx, 8
cmp rbx, rax
jne 0x18003e7c0
mov eax, dword [0x1801ca458]
cmp eax, 2
jne 0x18003eb3f
movss xmm1, dword [0x1801f0158]
comiss xmm1, dword [0x180156164]
jbe 0x18003e88f
movaps xmm1, xmm11
movd xmm0, dword [0x1801ca254]
mov edi, r15d
addss xmm1, dword [0x18017bd8c]
cvtdq2ps xmm0, xmm0
movss dword [0x1801f0158], xmm1
divss xmm0, dword [0x18017bd80]
mulss xmm0, dword [0x180155e7c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm14, eax
mulss xmm0, dword [0x180155fc0]
cvtdq2pd xmm14, xmm14
cvtps2pd xmm15, xmm0
movsd xmm7, qword [0x180155fa8]
movd xmm6, edi
cvtdq2ps xmm6, xmm6
addss xmm6, xmm1
cvtps2pd xmm1, xmm6
mulsd xmm1, xmm7
movaps xmm0, xmm1
call fcn.180102070
addss xmm6, dword [0x180156120]
movaps xmm1, xmm0
shufpd xmm0, xmm0, 1
mulsd xmm1, xmm14
mulsd xmm0, xmm14
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm6
mov dword [rsp + 0x50], eax
cvttsd2si eax, xmm0
mulsd xmm1, xmm7
mov dword [rsp + 0x54], eax
movaps xmm0, xmm1
call fcn.180102070
movaps xmm1, xmm0
mov ecx, 0x10
mulsd xmm1, xmm15
shufpd xmm0, xmm0, 1
mulsd xmm0, xmm15
cvttsd2si eax, xmm1
mov dword [rsp + 0x58], eax
cvttsd2si eax, xmm0
mov dword [rsp + 0x5c], eax
call fcn.180100770
mov r8d, 0x10
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rbx, rax
call sub.VCRUNTIME140.dll_memmove
movd xmm0, dword [rbx + 4]
lea rcx, [rsp + 0x70]
movss xmm1, dword [0x18017bd30]
movaps xmm7, xmm10
movss xmm2, dword [0x18017bd34]
movss xmm3, dword [0x18017bd38]
movd xmm6, dword [rbx]
cvtdq2ps xmm0, xmm0
mov dword [rbp - 0x74], 0x3f800000
cvtdq2ps xmm6, xmm6
subss xmm7, xmm0
movups xmm0, xmmword [rbp - 0x80]
addss xmm6, xmm12
movss xmm0, xmm1
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x70], xmm0
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x928]
mov r9d, eax
movss dword [rbp + 0x920], xmm6
lea r8, [rbp + 0x920]
movss dword [rbp + 0x924], xmm7
movss dword [rbp + 0x928], xmm12
movss dword [rbp + 0x92c], xmm10
movss dword [rsp + 0x20], xmm13
call fcn.180072c80
movd xmm0, dword [rbx + 0xc]
movaps xmm9, xmm10
movd xmm8, dword [rbx + 8]
movss xmm1, dword [0x18017bd30]
movss xmm2, dword [0x18017bd34]
movss xmm3, dword [0x18017bd38]
cvtdq2ps xmm0, xmm0
mov dword [rbp - 0x54], 0x3f800000
cvtdq2ps xmm8, xmm8
subss xmm9, xmm0
movd xmm0, dword [rbx + 4]
cvtdq2ps xmm0, xmm0
addss xmm8, xmm12
movd xmm6, dword [rbx]
lea rcx, [rsp + 0x70]
movaps xmm7, xmm10
subss xmm7, xmm0
movups xmm0, xmmword [rbp - 0x60]
cvtdq2ps xmm6, xmm6
movss xmm0, xmm1
shufps xmm0, xmm0, 0xe1
addss xmm6, xmm12
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp - 0x60], xmm0
movdqa xmmword [rsp + 0x70], xmm0
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x938]
mov r9d, eax
movss dword [rbp + 0x930], xmm8
lea r8, [rbp + 0x930]
movss dword [rbp + 0x934], xmm9
movss dword [rbp + 0x938], xmm6
movss dword [rbp + 0x93c], xmm7
movss dword [rsp + 0x20], xmm13
call fcn.180072c80
add edi, 0x5a
test rbx, rbx
je 0x18003eb12
mov edx, 0x10
mov rcx, rbx
call fcn.1801007ac
cmp edi, 0x168
jge 0x18003eb27
movss xmm1, dword [0x1801f0158]
jmp 0x18003e8de
mov eax, dword [0x1801ca458]
movss xmm14, dword [0x18015618c]
movss xmm15, dword [0x180155ff0]
cmp eax, 3
jne 0x18003efb7
movss xmm2, dword [0x18017bd30]
movss xmm3, dword [0x18017bd34]
movss xmm4, dword [0x18017bd38]
cvttss2si eax, dword [0x18017bd88]
mov dword [rbp - 0x74], r15d
mov dword [rsp + 0x5c], 0x3f800000
mov dword [rsp + 0x7c], 0x3f800000
mov dword [rbp - 0x54], r15d
movups xmm1, xmmword [rbp - 0x80]
movups xmm0, xmmword [rsp + 0x50]
cvttss2si ebx, dword [0x18017bd84]
movss xmm1, xmm2
movd xmm8, eax
shufps xmm1, xmm1, 0xe1
lea rax, [rsp + 0x50]
movss xmm1, xmm3
mov qword [rsp + 0x40], rax
movss xmm0, xmm2
shufps xmm1, xmm1, 0xc6
shufps xmm0, xmm0, 0xe1
lea rax, [rbp - 0x80]
movss xmm0, xmm3
mov qword [rsp + 0x38], rax
movss xmm1, xmm4
shufps xmm0, xmm0, 0xc6
shufps xmm1, xmm1, 0xc9
lea rax, [rbp - 0x60]
movups xmmword [rbp - 0x80], xmm1
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
movdqa xmmword [rbp - 0x80], xmm1
movss xmm0, xmm4
movups xmm1, xmmword [rsp + 0x70]
mov qword [rsp + 0x28], rax
shufps xmm0, xmm0, 0xc9
movss xmm1, xmm2
movd xmm7, ebx
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rbp - 0x60]
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm3
movss dword [rsp + 0x20], xmm13
movss xmm0, xmm2
shufps xmm1, xmm1, 0xc6
shufps xmm0, xmm0, 0xe1
movss xmm1, xmm4
shufps xmm1, xmm1, 0xc9
movss xmm0, xmm3
movups xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x70], xmm1
movaps xmm2, xmm10
shufps xmm0, xmm0, 0xc6
cvtdq2ps xmm8, xmm8
cvtdq2ps xmm7, xmm7
movaps xmm1, xmm8
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc9
addss xmm1, xmm12
movups xmmword [rbp - 0x60], xmm0
movaps xmm3, xmm7
movdqa xmmword [rbp - 0x60], xmm0
call fcn.180018090
movss xmm2, dword [0x18017bd30]
movss xmm3, dword [0x18017bd34]
movss xmm4, dword [0x18017bd38]
mov dword [rsp + 0x5c], 0x3f800000
movups xmm0, xmmword [rsp + 0x50]
mov dword [rbp - 0x74], r15d
movups xmm1, xmmword [rbp - 0x80]
mov dword [rbp - 0x54], r15d
movss xmm0, xmm2
mov dword [rsp + 0x7c], 0x3f800000
shufps xmm0, xmm0, 0xe1
movss xmm1, xmm2
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rbp - 0x60]
lea rax, [rsp + 0x50]
neg ebx
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm3
mov qword [rsp + 0x40], rax
shufps xmm1, xmm1, 0xc6
lea rax, [rbp - 0x80]
movss xmm1, xmm4
mov qword [rsp + 0x38], rax
shufps xmm1, xmm1, 0xc9
lea rax, [rbp - 0x60]
movups xmmword [rbp - 0x80], xmm1
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
movdqa xmmword [rbp - 0x80], xmm1
movss xmm0, xmm2
movups xmm1, xmmword [rsp + 0x70]
mov qword [rsp + 0x28], rax
shufps xmm0, xmm0, 0xe1
movss xmm1, xmm2
movd xmm6, ebx
shufps xmm1, xmm1, 0xe1
movss xmm0, xmm3
movss xmm1, xmm3
shufps xmm0, xmm0, 0xc6
shufps xmm1, xmm1, 0xc6
movss xmm0, xmm4
movss xmm1, xmm4
shufps xmm0, xmm0, 0xc9
shufps xmm1, xmm1, 0xc9
movaps xmm2, xmm10
movups xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x70], xmm1
movaps xmm1, xmm12
subss xmm1, xmm8
movss dword [rsp + 0x20], xmm13
cvtdq2ps xmm6, xmm6
addss xmm1, dword [0x180156018]
movups xmmword [rbp - 0x60], xmm0
movaps xmm3, xmm6
movdqa xmmword [rbp - 0x60], xmm0
call fcn.180018090
movss xmm2, dword [0x18017bd30]
movss xmm3, dword [0x18017bd34]
movss xmm4, dword [0x18017bd38]
mov dword [rsp + 0x5c], r15d
movups xmm0, xmmword [rsp + 0x50]
mov dword [rbp - 0x74], r15d
movups xmm1, xmmword [rbp - 0x80]
mov dword [rbp - 0x54], 0x3f800000
movss xmm0, xmm2
mov dword [rsp + 0x7c], 0x3f800000
shufps xmm0, xmm0, 0xe1
movss xmm1, xmm2
movss xmm0, xmm3
shufps xmm1, xmm1, 0xe1
shufps xmm0, xmm0, 0xc6
movss xmm1, xmm3
movss xmm0, xmm4
shufps xmm1, xmm1, 0xc6
shufps xmm0, xmm0, 0xc9
movss xmm1, xmm4
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rbp - 0x60]
shufps xmm1, xmm1, 0xc9
movss xmm0, xmm2
movups xmmword [rbp - 0x80], xmm1
shufps xmm0, xmm0, 0xe1
movdqa xmmword [rbp - 0x80], xmm1
movss xmm0, xmm3
movups xmm1, xmmword [rsp + 0x70]
shufps xmm0, xmm0, 0xc6
movss xmm1, xmm2
movss xmm0, xmm4
shufps xmm0, xmm0, 0xc9
shufps xmm1, xmm1, 0xe1
movups xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x60], xmm0
movss xmm1, xmm3
shufps xmm1, xmm1, 0xc6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
movss xmm1, xmm4
shufps xmm1, xmm1, 0xc9
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm10
movups xmmword [rsp + 0x70], xmm1
lea rax, [rbp - 0x60]
subss xmm2, xmm8
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rsp + 0x30], rax
movaps xmm3, xmm13
lea rax, [rsp + 0x70]
movaps xmm1, xmm12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
addss xmm2, dword [0x180156018]
call fcn.180018090
movss xmm2, dword [0x18017bd30]
lea rax, [rsp + 0x50]
movss xmm3, dword [0x18017bd34]
addss xmm8, xmm10
movss xmm4, dword [0x18017bd38]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x60]
mov dword [rbp - 0x74], r15d
movups xmm1, xmmword [rbp - 0x80]
mov dword [rsp + 0x5c], r15d
movups xmm0, xmmword [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
movss xmm1, xmm2
mov dword [rsp + 0x7c], 0x3f800000
movss xmm0, xmm2
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm4
shufps xmm0, xmm0, 0xc6
shufps xmm1, xmm1, 0xc9
movss xmm0, xmm4
movups xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x54], 0x3f800000
shufps xmm0, xmm0, 0xc9
movdqa xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [rsp + 0x70]
mov qword [rsp + 0x28], rax
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movss xmm1, xmm2
movups xmm0, xmmword [rbp - 0x60]
shufps xmm1, xmm1, 0xe1
movss xmm0, xmm2
movss dword [rsp + 0x20], xmm7
movss xmm1, xmm3
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm4
shufps xmm0, xmm0, 0xc6
shufps xmm1, xmm1, 0xc9
movss xmm0, xmm4
movups xmmword [rsp + 0x70], xmm1
shufps xmm0, xmm0, 0xc9
movaps xmm3, xmm13
movdqa xmmword [rsp + 0x70], xmm1
movaps xmm2, xmm8
movups xmmword [rbp - 0x60], xmm0
movaps xmm1, xmm12
movdqa xmmword [rbp - 0x60], xmm0
call fcn.180018090
mov eax, dword [0x1801ca458]
cmp eax, 4
jne 0x18003f1ba
movss xmm0, dword [0x18017bd30]
lea rcx, [rsp + 0x50]
movss xmm1, dword [0x18017bd34]
movaps xmm6, xmm12
movss xmm2, dword [0x18017bd38]
movss xmm8, dword [0x180156098]
mov dword [rsp + 0x5c], 0x3f800000
addss xmm6, xmm8
movups xmm3, xmmword [rsp + 0x50]
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rsp + 0x50], xmm3
movdqa xmmword [rsp + 0x50], xmm3
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea r8, [rbp + 0x920]
movaps xmm0, xmm6
mov dword [rsp + 0x28], r15d
movaps xmm7, xmm10
movss dword [rbp + 0x928], xmm6
addss xmm7, dword [0x180156038]
addss xmm0, xmm8
movss dword [rbp + 0x92c], xmm10
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea rdx, [rbp + 0x928]
movss dword [rbp + 0x924], xmm7
movss dword [rbp + 0x920], xmm0
call fcn.180072ef0
movss xmm0, dword [0x18017bd30]
lea rcx, [rsp + 0x50]
movss xmm1, dword [0x18017bd34]
movaps xmm6, xmm12
movss xmm2, dword [0x18017bd38]
subss xmm6, xmm8
mov dword [rsp + 0x5c], 0x3f800000
movups xmm3, xmmword [rsp + 0x50]
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rsp + 0x50], xmm3
movdqa xmmword [rsp + 0x50], xmm3
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea r8, [rbp + 0x920]
movaps xmm0, xmm6
mov dword [rsp + 0x28], r15d
subss xmm0, xmm8
movss dword [rbp + 0x924], xmm7
mov r9d, eax
movss dword [rbp + 0x928], xmm6
lea rdx, [rbp + 0x928]
movss dword [rbp + 0x92c], xmm10
movss dword [rsp + 0x20], xmm11
movss dword [rbp + 0x920], xmm0
call fcn.180072ef0
movss xmm0, dword [0x18017bd30]
lea rcx, [rsp + 0x50]
movss xmm1, dword [0x18017bd34]
movss xmm2, dword [0x18017bd38]
mov dword [rsp + 0x5c], 0x3f800000
movups xmm3, xmmword [rsp + 0x50]
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rsp + 0x50], xmm3
movdqa xmmword [rsp + 0x50], xmm3
call fcn.1800599a0
movaps xmm0, xmm10
movss dword [rbp + 0x920], xmm12
addss xmm0, xmm13
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x920]
mov r9d, eax
movss dword [rbp + 0x924], xmm0
movaps xmm2, xmm15
mov dword [rsp + 0x20], r15d
call fcn.180073c80
movss xmm9, dword [0x1801560f8]
cmp byte [0x1801ca235], r15b
je 0x18003f241
movss xmm0, dword [0x18017bce0]
lea rax, [rsp + 0x50]
movss xmm1, dword [0x18017bce4]
movss xmm2, dword [0x18017bce8]
mov dword [rsp + 0x5c], 0x3f800000
movups xmm3, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], rax
movss xmm3, xmm0
movss xmm0, dword [0x180155fb0]
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
movss dword [rsp + 0x20], xmm0
shufps xmm3, xmm3, 0xc6
movaps xmm1, xmm12
movss xmm3, xmm2
movaps xmm2, xmm10
shufps xmm3, xmm3, 0xc9
movups xmmword [rsp + 0x50], xmm3
movdqa xmmword [rsp + 0x50], xmm3
movss xmm3, dword [0x18017bc5c]
call fcn.180017790
cmp byte [0x1801ca392], r15b
movss xmm8, dword [0x1801560c0]
mov rbx, qword [0x1801ca1c0]
je 0x18003f393
test rbx, rbx
je 0x18003f393
xor edx, edx
lea rcx, [rbp + 0x40]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.18000c870
mov rdx, rax
lea rcx, [rbp + 0x920]
call fcn.18004ed90
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r8, 0xffffffffffffffff
mov rdx, qword [rax]
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x18003f2b0
lea rcx, [rbp - 0x80]
call fcn.180053420
mov rdx, qword [rbp + 0x920]
mov eax, 0xffffffff
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18003f2e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp qword [rbp - 0x68], 0xf
lea r9, [rbp - 0x80]
lea r8, str.target:__s
mov edx, 0x100
cmova r9, qword [rbp - 0x80]
lea rcx, [rbp + 0x40]
call fcn.180003fa0
movdqa xmm0, xmmword [0x180156b50]
addss xmm10, xmm8
mov rcx, qword [0x1801f0980]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x50]
mov rax, qword [0x1801ca528]
movaps xmm1, xmm12
movdqa xmmword [rsp + 0x50], xmm0
movss xmm0, dword [0x1801560b0]
movaps xmm2, xmm10
movss dword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
movd r8d, xmm2
movd edx, xmm1
mov dword [rsp + 0x20], 3
call fcn.180017870
mov r8, qword [rbp - 0x68]
cmp r8, 0xf
jbe 0x18003f37b
mov rdx, qword [rbp - 0x80]
call fcn.180050890
movdqa xmm0, xmmword [0x1801563e0]
mov rbx, qword [0x1801ca1c0]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], r15b
cmp byte [0x1801ca1ad], r15b
movss xmm10, dword [0x180155f40]
je 0x18003f53e
test rbx, rbx
je 0x18003f53e
mov rcx, rbx
call fcn.18000b550
test al, al
je 0x18003f53e
mov rax, qword gs:[0x58]
mov ecx, dword [0x1801ca090]
mov edi, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + rdi]
cmp dword [0x1801f0e38], eax
jg 0x180041349
mov eax, dword [rbx + rdi]
cmp dword [0x1801f1070], eax
jg 0x18004130c
mov eax, dword [0x1801ca1f8]
test eax, eax
jne 0x18003f421
movss xmm0, dword [0x1801f04a4]
mulss xmm0, xmm10
movss dword [0x1801f0d48], xmm0
movss xmm0, dword [0x1801f0880]
jmp 0x18003f448
cmp eax, 1
jne 0x18003f450
movss xmm1, dword [0x1801f04a4]
movss xmm0, dword [0x1801f0880]
mulss xmm1, xmm10
mulss xmm0, xmm10
movss dword [0x1801f0d48], xmm1
movss dword [0x1801f0d4c], xmm0
mov rcx, qword [0x1801ca1c0]
lea rdx, [rsp + 0x70]
mov r8d, 0x12
mov qword [rbp + 0x920], r15
call fcn.18000cd30
ucomiss xmm11, dword [rax]
jne 0x18003f4b2
mov rcx, qword [0x1801ca1c0]
lea rdx, [rbp - 0x60]
mov r8d, 0x12
call fcn.18000cd30
ucomiss xmm11, dword [rax + 4]
jne 0x18003f4b2
mov rcx, qword [0x1801ca1c0]
lea rdx, [rbp - 0x80]
mov r8d, 0x12
call fcn.18000cd30
ucomiss xmm11, dword [rax + 8]
je 0x18003f53e
mov rcx, qword [0x1801ca1c0]
lea rdx, [rsp + 0x50]
mov r8d, 0x2f
call fcn.18000cd30
lea rdx, [rbp + 0x920]
lea rcx, [rsp + 0x70]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x70], xmm0
mov dword [rsp + 0x78], eax
call fcn.18000dc50
test al, al
je 0x18003f53e
movdqa xmm0, xmmword [0x180156b40]
lea rax, [rsp + 0x50]
movss xmm3, dword [rbp + 0x920]
movss xmm2, dword [0x1801f0d4c]
movss xmm1, dword [0x1801f0d48]
mov byte [rsp + 0x38], 1
movss dword [rsp + 0x30], xmm13
movdqa xmmword [rsp + 0x50], xmm0
movss xmm0, dword [rbp + 0x924]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.180017660
cmp byte [0x1801ca15c], r15b
mov qword [rsp + 0xa00], rsi
mov qword [rsp + 0x9e8], r14
je 0x180040f41
lea rcx, [rbp + 0x920]
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm7, dword [0x180156208]
movss xmm6, dword [0x180156224]
test eax, eax
je 0x18003f61d
movd xmm1, dword [rbp + 0x920]
movss xmm3, dword [0x18017bc0c]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm3
jb 0x18003f625
movaps xmm0, xmm3
addss xmm0, xmm7
comiss xmm1, xmm0
ja 0x18003f625
movd xmm1, dword [rbp + 0x924]
movss xmm2, dword [0x18017bc10]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x18003f62d
movaps xmm0, xmm2
addss xmm0, xmm6
comiss xmm1, xmm0
ja 0x18003f62d
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003f61d
cmp byte [0x1801ca49c], r15b
je 0x18003f61d
movd xmm3, dword [rbp + 0x920]
movd xmm2, dword [rbp + 0x924]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
subss xmm3, dword [0x180156198]
subss xmm2, dword [0x1801561d4]
movss dword [0x18017bc0c], xmm3
movss dword [0x18017bc10], xmm2
jmp 0x18003f62d
movss xmm3, dword [0x18017bc0c]
movss xmm2, dword [0x18017bc10]
movdqa xmm0, xmmword [0x1801567d0]
lea rcx, [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm1, xmm2
movaps xmm0, xmm3
movss dword [rbp + 0x930], xmm3
addss xmm0, xmm7
movss dword [rbp + 0x934], xmm2
addss xmm1, xmm6
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
call fcn.1800599a0
mov rcx, qword [0x1801f05e0]
lea rdx, [rbp + 0x930]
mov r9d, eax
mov dword [rsp + 0x28], r15d
lea r8, [rbp + 0x928]
movss dword [rsp + 0x20], xmm11
call fcn.180072ef0
movss xmm1, dword [0x18017bc0c]
lea rax, [rsp + 0x50]
movss xmm2, dword [0x18017bc10]
movaps xmm3, xmm1
movss xmm10, dword [0x1801560a4]
addss xmm3, xmm7
addss xmm2, dword [0x180156150]
movss xmm12, dword [0x180156018]
addss xmm1, xmm10
movdqa xmm6, xmmword [0x1801569f0]
mov byte [rsp + 0x38], r15b
movss dword [rsp + 0x30], xmm12
subss xmm3, xmm10
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm2
movdqa xmmword [rsp + 0x50], xmm6
call fcn.180017660
movss xmm1, dword [0x18017bc0c]
lea rax, [rsp + 0x50]
movss xmm2, dword [0x18017bc10]
movaps xmm3, xmm1
addss xmm2, dword [0x1801561f0]
mov byte [rsp + 0x38], r15b
addss xmm3, xmm7
movss dword [rsp + 0x30], xmm12
addss xmm1, xmm10
mov qword [rsp + 0x28], rax
movdqa xmmword [rsp + 0x50], xmm6
movss dword [rsp + 0x20], xmm2
subss xmm3, xmm10
call fcn.180017660
mov rcx, qword [0x1801ca528]
mov rbx, qword [0x1801ca550]
mov rdi, rcx
mov qword [rbp + 0x928], rcx
test rcx, rcx
jne 0x18003f791
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x18003f787
mov rax, qword [rbx + 0x58]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx]
mov qword [rbp + 0x928], rcx
mov rdi, rcx
call fcn.1800666a0
lea rdx, [rbp + 0x928]
lea rcx, [rbx + 0x4820]
call fcn.18006ece0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x3eb8]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x288]
call fcn.1800707a0
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
movss xmm1, dword [0x18017bc10]
addss xmm0, xmm8
addss xmm1, xmm10
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003f884
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014acba]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Name:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
lea rdi, str.Health:
movss xmm1, dword [0x18017bc10]
addss xmm0, xmm8
addss xmm1, xmm9
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003f944
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014acc8]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
movss xmm1, dword [0x18017bc10]
addss xmm0, xmm8
addss xmm1, dword [0x180156130]
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fa07
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014acda]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Distance:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
movss xmm1, dword [0x18017bc10]
addss xmm0, xmm8
movss xmm9, dword [0x18015615c]
addss xmm1, xmm9
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fad0
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ace8]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_1:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm9
movss xmm15, dword [0x1801560d4]
addss xmm0, xmm8
addss xmm1, xmm15
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fb9e
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014acf8]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_2:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm9
addss xmm0, xmm8
addss xmm1, dword [0x180156118]
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fc66
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad08]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_3:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm9
movss xmm13, dword [0x180156140]
addss xmm0, xmm8
addss xmm1, xmm13
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fd34
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad18]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_4:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm9
addss xmm0, xmm8
addss xmm1, xmm9
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fdf9
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad28]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_5:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm9
movss xmm7, dword [0x18015617c]
addss xmm0, xmm8
addss xmm1, xmm7
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003fec5
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad38]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Slot_6:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
movss xmm1, dword [0x18017bc10]
addss xmm0, xmm8
movss xmm12, dword [0x180156200]
addss xmm1, xmm12
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18003ff8e
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad49]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_1:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, xmm15
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x180040053
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad59]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_2:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, dword [0x180156118]
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18004011b
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad69]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_3:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, xmm13
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x1800401e0
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad79]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_4:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, xmm9
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x1800402a5
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad89]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_5:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, xmm7
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x180040369
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ad99]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_6:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov rax, qword [0x1801ca550]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4890]
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm6
call fcn.1800599a0
movss xmm1, dword [0x18017bc10]
movss xmm0, dword [0x18017bc0c]
addss xmm1, xmm12
addss xmm0, xmm8
addss xmm1, xmm14
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x18004042e
mov rdx, qword [r8 + 0x38]
lea r9, [0x18014ada9]
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov rcx, qword [rdx + 8]
movss xmm2, dword [rdx + 0x10]
mov rdx, r8
mov qword [rsp + 0x38], r9
lea r9, str.Cloth_7:
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r9
lea r9, [rbp + 0x928]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x20], eax
call fcn.180076250
mov r8, qword [0x1801ca1c0]
test r8, r8
je 0x180040f33
mov rcx, r8
call fcn.18000cce0
test al, al
jne 0x180040f33
mov rcx, r8
call fcn.18000b550
test al, al
je 0x180040f33
mov rcx, qword [0x1801ca1c0]
mov qword [rsp + 0x9f0], r12
call fcn.18000c870
mov rdx, rax
lea rcx, [rbp + 0x928]
call fcn.18004ed90
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r8, 0xffffffffffffffff
mov rdx, qword [rax]
movups xmmword [rbp - 0x40], xmm0
movdqu xmmword [rbp - 0x30], xmm1
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x1800404a0
lea rcx, [rbp - 0x40]
call fcn.180053420
mov rdx, qword [rbp + 0x928]
mov eax, 0xffffffff
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1800404d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor edx, edx
lea rcx, [rbp + 0x540]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
cmp qword [rbp - 0x28], 0xf
lea r8, [rbp - 0x40]
lea rdx, [0x18014adac]
cmova r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x540]
call fcn.180050fd0
lea rax, [rbp + 0x540]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180040520
lea rdx, [rbp + 0x540]
lea rcx, [rbp - 0x40]
call fcn.18004f750
movdqa xmm1, xmmword [0x1801563e0]
lea rcx, [rbp + 0x40]
xorps xmm0, xmm0
xor edx, edx
movups xmmword [rbp + 0x20], xmm0
mov r8d, 0x100
mov byte [rbp + 0x20], r15b
movdqu xmmword [rbp + 0x30], xmm1
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1801ca1c0]
lea rdx, [rsp + 0x50]
mov r8d, 0x2f
call fcn.18000cd30
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18000d340
mov r8d, 0x2f
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.18000cd30
lea rdx, [0x18014adb0]
lea rcx, [rbp + 0x40]
movsd xmm0, qword [rax]
movss xmm1, dword [rax + 8]
movaps xmm2, xmm0
movaps xmm3, xmm0
movsd qword [rbp - 0x60], xmm0
shufps xmm3, xmm3, 0x55
subss xmm2, xmm6
movaps xmm0, xmm6
movsd qword [rbp - 0x60], xmm6
shufps xmm0, xmm0, 0x55
subss xmm3, xmm0
movd xmm0, ebx
subss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm2, xmm2
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm2
addss xmm3, xmm1
sqrtss xmm0, xmm3
cvttss2si r8d, xmm0
call fcn.180050fd0
lea rax, [rbp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r15b
jne 0x180040606
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.18004f750
movdqa xmm1, xmmword [0x1801563e0]
lea rcx, [rbp + 0x640]
xorps xmm0, xmm0
xor edx, edx
movups xmmword [rbp], xmm0
mov r8d, 0x100
mov byte [rbp], r15b
movdqu xmmword [rbp + 0x10], xmm1
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1801ca1c0]
call fcn.18000b900
lea rdx, [0x180148280]
lea rcx, [rbp + 0x640]
cvttss2si r8d, dword [rax]
call fcn.180050fd0
lea rax, [rbp + 0x640]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x180040680
lea rdx, [rbp + 0x640]
lea rcx, [rbp]
call fcn.18004f750
movss xmm13, dword [0x180156314]
lea rdx, str.Hotbar:
xor r9d, r9d
movss dword [rsp + 0x20], xmm13
xor r8d, r8d
lea rcx, [rbp + 0x928]
call fcn.1800606c0
movss xmm1, dword [0x18017bc0c]
lea rax, [rbp + 0x540]
addss xmm1, dword [0x18015607c]
movss xmm2, dword [0x18017bc10]
lea r9, [rsp + 0x50]
movss xmm7, dword [0x1801560b8]
addss xmm2, xmm10
movdqa xmm12, xmmword [0x180156b40]
mov rcx, qword [0x1801f0980]
addss xmm1, dword [rbp + 0x928]
mov qword [rsp + 0x38], rax
mov rax, qword [0x1801ca528]
movss dword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
movd edx, xmm1
movd r8d, xmm2
movdqa xmmword [rsp + 0x50], xmm12
mov qword [rsp + 0x20], r15
call fcn.180017870
xor r9d, r9d
movss dword [rsp + 0x20], xmm13
xor r8d, r8d
lea rcx, [rbp + 0x928]
mov rdx, rdi
call fcn.1800606c0
movss xmm1, dword [0x18017bc0c]
lea rax, [rbp + 0x640]
movss xmm2, dword [0x18017bc10]
addss xmm1, xmm8
addss xmm2, dword [0x1801560f4]
mov rcx, qword [0x1801f0980]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [0x1801ca528]
addss xmm1, dword [0x180156064]
movss dword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
movd r8d, xmm2
movdqa xmmword [rsp + 0x50], xmm12
addss xmm1, dword [rbp + 0x928]
mov qword [rsp + 0x20], r15
movd edx, xmm1
call fcn.180017870
movss xmm1, dword [0x18017bc0c]
lea rax, [rbp + 0x40]
movss xmm2, dword [0x18017bc10]
addss xmm1, xmm8
addss xmm2, dword [0x18015612c]
mov rcx, qword [0x1801f0980]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [0x1801ca528]
addss xmm1, dword [0x1801560c4]
movss dword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
movd r8d, xmm2
movdqa xmmword [rsp + 0x50], xmm12
addss xmm1, dword [rbp + 0x928]
mov qword [rsp + 0x20], r15
movd edx, xmm1
call fcn.180017870
movaps xmm7, xmm11
movaps xmm12, xmm11
call fcn.18000d0f0
movss xmm14, dword [0x180155f90]
movabs r12, 0x7fffffff0000
test rax, rax
je 0x180040c4b
mov edi, r15d
call fcn.18000d0f0
cmp dword [rax + 0x18], r15d
jbe 0x180040c4b
movdqa xmm12, xmmword [0x180156b40]
nop dword [rax + rax]
call fcn.18000d0f0
mov ecx, edi
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + rcx*8 + 0x20]
test rcx, rcx
je 0x180040c32
call fcn.18000c700
mov rcx, qword [0x1801ca1c0]
mov rsi, rax
call fcn.18000d1d0
mov rcx, rax
lea rbx, [rax + 0x30]
call fcn.18000c700
xor edx, edx
mov r8d, 0x100
cmp rsi, rax
jne 0x180040a6e
lea rcx, [rbp + 0x740]
call sub.VCRUNTIME140.dll_memset
lea r8d, [rdi + 1]
lea rdx, str.Slot__d:
lea rcx, [rbp + 0x740]
call fcn.180050fd0
xor edx, edx
lea rcx, [rbp + 0x140]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
cmp rbx, 0x40000
jbe 0x180040918
lea rax, [rbx + 4]
cmp rax, r12
jae 0x180040918
mov r9d, dword [rbx]
jmp 0x18004091b
mov r9d, r15d
mov r8, rsi
lea rdx, str._ls__x_d_
lea rcx, [rbp + 0x140]
call fcn.180050fd0
mov rcx, qword [0x1801ca550]
lea rax, [rbp + 0x740]
mov qword [rsp + 0x30], r15
lea rdx, [rbp + 0x928]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm13
movss xmm2, dword [rcx + 0x3c08]
mov rcx, qword [rcx + 0x3c00]
call fcn.180076020
movss xmm0, dword [rbp + 0x928]
lea r8, str.Foreground
addss xmm0, xmm14
mov edx, 1
cvttss2si eax, xmm0
movd xmm6, eax
mov rax, qword [0x1801ca550]
cvtdq2ps xmm6, xmm6
mov rcx, qword [rax + 0x4890]
movss dword [rbp + 0x928], xmm6
mov rcx, qword [rcx]
call fcn.18005c8a0
lea rcx, [rsp + 0x50]
mov r8, rax
movups xmmword [rsp + 0x50], xmm12
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
mov r9d, eax
addss xmm0, xmm8
addss xmm0, xmm10
addss xmm0, xmm6
movss dword [rbp + 0x930], xmm0
movss xmm0, dword [0x18017bc10]
addss xmm0, xmm9
addss xmm0, xmm7
movss dword [rbp + 0x934], xmm0
test eax, 0xff000000
je 0x180040c32
lea rcx, [rbp + 0x140]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r15b
jne 0x180040a13
lea rcx, [rbp + 0x140]
add rcx, rax
lea rax, [rbp + 0x140]
cmp rax, rcx
je 0x180040c32
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x140]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x930]
jmp 0x180040c10
lea rcx, [rbp + 0x440]
call sub.VCRUNTIME140.dll_memset
lea r8d, [rdi + 1]
lea rdx, str.Slot__d:
lea rcx, [rbp + 0x440]
call fcn.180050fd0
xor edx, edx
lea rcx, [rbp + 0x240]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
cmp rbx, 0x40000
jbe 0x180040abc
lea rax, [rbx + 4]
cmp rax, r12
jae 0x180040abc
mov r9d, dword [rbx]
jmp 0x180040abf
mov r9d, r15d
mov r8, rsi
lea rdx, str._ls__x_d_
lea rcx, [rbp + 0x240]
call fcn.180050fd0
mov rcx, qword [0x1801ca550]
lea rax, [rbp + 0x440]
mov qword [rsp + 0x30], r15
lea rdx, [rbp + 0x938]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm13
movss xmm2, dword [rcx + 0x3c08]
mov rcx, qword [rcx + 0x3c00]
call fcn.180076020
movss xmm0, dword [rbp + 0x938]
lea r8, str.Foreground
addss xmm0, xmm14
mov edx, 1
cvttss2si eax, xmm0
movd xmm6, eax
mov rax, qword [0x1801ca550]
cvtdq2ps xmm6, xmm6
mov rcx, qword [rax + 0x4890]
movss dword [rbp + 0x938], xmm6
mov rcx, qword [rcx]
call fcn.18005c8a0
movdqa xmm0, xmmword [0x180156a90]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
mov r8, rax
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
mov r9d, eax
addss xmm0, xmm8
addss xmm0, xmm10
addss xmm0, xmm6
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [0x18017bc10]
addss xmm0, xmm9
addss xmm0, xmm7
movss dword [rsp + 0x74], xmm0
test eax, 0xff000000
je 0x180040c32
lea rcx, [rbp + 0x240]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], r15b
jne 0x180040bc0
lea rcx, [rbp + 0x240]
add rcx, rax
lea rax, [rbp + 0x240]
cmp rax, rcx
je 0x180040c32
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x240]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x70]
mov rax, qword [r8 + 0x38]
mov rdx, r8
movups xmm0, xmmword [r8 + 0x88]
movss xmm2, dword [rax + 0x10]
mov rcx, qword [rax + 8]
movups xmmword [rsp + 0x50], xmm0
call fcn.180076250
addss xmm7, xmm15
inc edi
call fcn.18000d0f0
cmp edi, dword [rax + 0x18]
jb 0x180040880
movaps xmm12, xmm11
call fcn.18000d160
test rax, rax
je 0x180040f10
movss xmm7, dword [0x180156200]
mov ebx, r15d
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x1801ca1c0]
add rcx, 0x608
cmp rcx, 0x40000
jbe 0x180040cc7
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040cc7
mov rcx, qword [rcx]
add rcx, 0x30
cmp rcx, 0x40000
jbe 0x180040cc7
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040cc7
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180040cc7
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040cc7
mov rax, qword [rcx]
jmp 0x180040cca
mov rax, r15
cmp ebx, dword [rax + 0x18]
jae 0x180040f10
mov rcx, qword [0x1801ca1c0]
add rcx, 0x608
cmp rcx, 0x40000
jbe 0x180040d2a
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040d2a
mov rcx, qword [rcx]
add rcx, 0x30
cmp rcx, 0x40000
jbe 0x180040d2a
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040d2a
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180040d2a
lea rax, [rcx + 8]
cmp rax, r12
jae 0x180040d2a
mov rax, qword [rcx]
jmp 0x180040d2d
mov rax, r15
mov rax, qword [rax + 0x10]
mov ecx, ebx
mov rcx, qword [rax + rcx*8 + 0x20]
test rcx, rcx
je 0x180040f04
call fcn.18000c700
mov rdi, rax
test rax, rax
je 0x180040f04
xor edx, edx
lea rcx, [rbp + 0x340]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov r8, rdi
lea rdx, [0x18014add4]
lea rcx, [rbp + 0x340]
call fcn.180050fd0
xor edx, edx
lea rcx, [rbp + 0x440]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
lea r8d, [rbx + 1]
lea rdx, str.Cloth__d:
lea rcx, [rbp + 0x440]
call fcn.180050fd0
mov rcx, qword [0x1801ca550]
lea rax, [rbp + 0x440]
mov qword [rsp + 0x30], r15
lea rdx, [rbp + 0x928]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm13
movss xmm2, dword [rcx + 0x3c08]
mov rcx, qword [rcx + 0x3c00]
call fcn.180076020
movss xmm0, dword [rbp + 0x928]
lea r8, str.Foreground
addss xmm0, xmm14
mov edx, 1
cvttss2si eax, xmm0
movd xmm6, eax
mov rax, qword [0x1801ca550]
cvtdq2ps xmm6, xmm6
mov rcx, qword [rax + 0x4890]
movss dword [rbp + 0x928], xmm6
mov rcx, qword [rcx]
call fcn.18005c8a0
movdqa xmm0, xmmword [0x180156a90]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
mov r8, rax
call fcn.1800599a0
movss xmm0, dword [0x18017bc0c]
mov r9d, eax
addss xmm0, xmm8
addss xmm0, xmm10
addss xmm0, xmm6
movss dword [rbp + 0x930], xmm0
movss xmm0, dword [0x18017bc10]
addss xmm0, xmm7
addss xmm0, xmm12
movss dword [rbp + 0x934], xmm0
test eax, 0xff000000
je 0x180040f04
lea rcx, [rbp + 0x340]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r15b
jne 0x180040e90
lea rcx, [rbp + 0x340]
add rcx, rax
lea rax, [rbp + 0x340]
cmp rax, rcx
je 0x180040f04
mov rax, qword [r8 + 0x38]
mov rdx, r8
movups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], r15b
movss dword [rsp + 0x40], xmm11
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x340]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x930]
movups xmmword [rsp + 0x50], xmm0
call fcn.180076250
addss xmm12, xmm15
inc ebx
jmp 0x180040c70
lea rcx, [rbp]
call fcn.18004f7f0
lea rcx, [rbp + 0x20]
call fcn.18004f7f0
lea rcx, [rbp - 0x40]
call fcn.18004f7f0
mov r12, qword [rsp + 0x9f0]
call fcn.1800667b0
movss xmm10, dword [0x180155f40]
mov eax, dword [0x1801ca3d8]
mov ecx, 4
movss xmm0, dword [0x18017bc54]
cmp eax, ecx
movaps xmm15, xmmword [rsp + 0x940]
movaps xmm14, xmmword [rsp + 0x950]
cmovg eax, ecx
comiss xmm0, dword [0x180156218]
mov dword [0x1801ca3d8], eax
movaps xmm13, xmmword [rsp + 0x960]
movaps xmm12, xmmword [rsp + 0x970]
movaps xmm11, xmmword [rsp + 0x980]
movaps xmm9, xmmword [rsp + 0x9a0]
jae 0x180040fa8
mov dword [0x18017bc54], 0x43960000
cmp byte [0x1801ca406], r15b
je 0x18004118d
movss xmm7, dword [0x18017bd3c]
lea rcx, [rbp + 0x920]
mulss xmm7, xmm10
movaps xmm8, xmm7
addss xmm8, dword [0x18017bd2c]
addss xmm7, dword [0x18017bcec]
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm6, dword [0x18017bd3c]
test eax, eax
je 0x1800410a0
movd xmm1, dword [rbp + 0x920]
movaps xmm0, xmm8
cvtdq2ps xmm1, xmm1
subss xmm0, xmm6
comiss xmm1, xmm0
jb 0x1800410a0
addss xmm8, xmm6
comiss xmm1, xmm8
ja 0x1800410a0
movd xmm1, dword [rbp + 0x924]
movaps xmm0, xmm7
cvtdq2ps xmm1, xmm1
subss xmm0, xmm6
comiss xmm1, xmm0
jb 0x1800410a0
addss xmm7, xmm6
comiss xmm1, xmm7
ja 0x1800410a0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180041098
cmp byte [0x1801ca49c], r15b
je 0x180041098
movss xmm6, dword [0x18017bd3c]
movd xmm0, dword [rbp + 0x920]
movaps xmm2, xmm6
movd xmm1, dword [rbp + 0x924]
mulss xmm2, xmm10
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
subss xmm1, xmm2
movss dword [0x18017bd2c], xmm0
movss dword [0x18017bcec], xmm1
jmp 0x1800410a0
movss xmm6, dword [0x18017bd3c]
movdqa xmm0, xmmword [0x1801567d0]
lea rcx, [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
call fcn.1800599a0
mov rbx, qword [0x1801f05e0]
movaps xmm0, xmm6
mulss xmm0, xmm10
movaps xmm1, xmm6
mov edi, eax
mulss xmm1, xmm10
addss xmm0, dword [0x18017bd2c]
addss xmm1, dword [0x18017bcec]
movss dword [rbp + 0x928], xmm0
movss dword [rbp + 0x92c], xmm1
test eax, 0xff000000
je 0x180041144
comiss xmm6, xmm10
jb 0x180041144
xor r9d, r9d
mov dword [rsp + 0x20], 0x30
movaps xmm2, xmm6
lea rdx, [rbp + 0x928]
mov rcx, rbx
call fcn.180071f90
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
dec r8d
mov rcx, rbx
mov dword [rbx + 0x78], r8d
call fcn.1800719c0
mov dword [rbx + 0x78], r15d
movss xmm6, dword [0x18017bd3c]
movdqa xmm0, xmmword [0x1801566e0]
lea rax, [rsp + 0x50]
movaps xmm1, xmm6
movdqa xmmword [rsp + 0x50], xmm0
movss xmm0, dword [0x180156018]
movaps xmm3, xmm6
mulss xmm1, xmm10
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
movaps xmm2, xmm1
addss xmm2, dword [0x18017bcec]
addss xmm1, dword [0x18017bd2c]
call fcn.180017790
call fcn.18004e670
cmp byte [0x1801ca3df], r15b
mov rbx, rax
movaps xmm10, xmmword [rsp + 0x990]
movaps xmm8, xmmword [rsp + 0x9b0]
je 0x1800411b8
mov rcx, rax
call fcn.180023f00
cmp byte [0x1801ca3be], r15b
je 0x1800412b4
mov edi, r15d
cmp qword [rbx + 0x20], rdi
jbe 0x1800412b4
movss xmm7, dword [0x18015601c]
movss xmm6, dword [rbp + 0x920]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x10]
dec rax
movsxd r14, edi
add rcx, r14
and rcx, rax
mov rax, qword [rbx + 8]
mov rsi, qword [rax + rcx*8]
mov ecx, dword [0x1801f0748]
test ecx, ecx
je 0x180041212
sub ecx, 1
je 0x180041212
cmp ecx, 1
jne 0x18004121b
call qword [0x1801f0740]
movaps xmm6, xmm0
movss xmm0, dword [rsi]
addss xmm0, xmm7
comiss xmm0, xmm6
jae 0x180041268
mov rdx, qword [rbx]
lea r9, [rsp + 0x50]
mov rcx, qword [rbx + 0x18]
lea r8, [rbp - 0x80]
add rcx, r14
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x80], rdx
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x58], r15
lea rax, [rcx + 1]
mov qword [rbp - 0x78], r15
mov rcx, rbx
mov qword [rsp + 0x60], rax
call fcn.18004fd30
dec edi
movsd xmm0, qword [rsi + 0x14]
lea rdx, [rbp + 0x920]
mov eax, dword [rsi + 0x1c]
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
mov qword [rbp + 0x920], r15
mov dword [rsp + 0x78], eax
call fcn.18000dc50
test al, al
je 0x1800412a5
lea rdx, [rbp + 0x920]
mov rcx, rsi
call fcn.1800246b0
inc edi
movsxd rax, edi
cmp rax, qword [rbx + 0x20]
jb 0x1800411e2
call fcn.180018860
cmp byte [0x1801ca390], 0
movaps xmm7, xmmword [rsp + 0x9c0]
movaps xmm6, xmmword [rsp + 0x9d0]
mov r15, qword [rsp + 0x9e0]
mov r14, qword [rsp + 0x9e8]
mov rdi, qword [rsp + 0x9f8]
mov rsi, qword [rsp + 0xa00]
mov rbx, qword [rsp + 0xa08]
je 0x1800412ff
call fcn.180018cf0
add rsp, 0xa10
pop rbp
jmp 0x18003c510
lea rcx, [0x1801f1070]
call fcn.180100388
cmp dword [0x1801f1070], 0xffffffff
jne 0x18003f3f8
movd xmm0, dword [0x1801ca36c]
lea rcx, [0x1801f1070]
cvtdq2ps xmm0, xmm0
movss dword [0x1801f0880], xmm0
call fcn.18010031c
jmp 0x18003f3f8
lea rcx, [0x1801f0e38]
call fcn.180100388
cmp dword [0x1801f0e38], 0xffffffff
jne 0x18003f3e9
movd xmm0, dword [0x1801ca254]
lea rcx, [0x1801f0e38]
cvtdq2ps xmm0, xmm0
movss dword [0x1801f04a4], xmm0
call fcn.18010031c
jmp 0x18003f3e9