Function at 0x180017000
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18008d020]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
cmp byte [0x1800902d4], 0
je 0x1800170a0
movaps xmm0, xmmword [0x180082840]
lea r8, [rbp + 0x60]
mov eax, dword [0x1800902e0]
lea rcx, [rsp + 0x70]
cdq
movdqa xmmword [rbp + 0x60], xmm0
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x1800902d0]
cdq
cvtdq2pd xmm0, xmm0
sub eax, edx
sar eax, 1
cvttss2si edx, dword [0x18008dc30]
movsd qword [rsp + 0x70], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x78], xmm0
call fcn.18000e5a0
mov rbx, qword [0x1800902e8]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x1800170b7
xor eax, eax
jmp 0x1800170ba
mov eax, dword [rbx + 0x40]
mov rbx, qword [0x1800902e8]
mov rdx, rbx
mov dword [0x1800902e0], eax
call fcn.180002800
test al, al
jne 0x1800170d7
xor eax, eax
jmp 0x1800170da
mov eax, dword [rbx + 0x44]
mov dword [0x1800902d0], eax
mov rax, qword [0x1800975b0]
mov r13, qword [rax]
mov rdx, r13
call fcn.180002800
test al, al
jne 0x1800170fa
xor ebx, ebx
jmp 0x180017101
mov rbx, qword [r13 + 0x1b8]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180017111
xor ebx, ebx
jmp 0x180017115
mov rbx, qword [rbx + 0x38]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180017125
xor ebx, ebx
jmp 0x180017128
mov rbx, qword [rbx]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180017138
xor ebx, ebx
jmp 0x18001713c
mov rbx, qword [rbx + 0x30]
mov rdx, rbx
mov qword [rsp + 0x398], r15
mov qword [0x1800902d8], rbx
call fcn.180002800
test al, al
jne 0x18001715c
xor r15d, r15d
jmp 0x180017163
mov r15, qword [rbx + 0x340]
mov rbx, qword [0x1800902d8]
mov rdx, rbx
mov qword [rsp + 0x50], r15
call fcn.180002800
test al, al
jne 0x18001717f
xor ebx, ebx
jmp 0x180017186
mov rbx, qword [rbx + 0x330]
mov rdx, rbx
mov qword [rsp + 0x30], rbx
call fcn.180002800
test al, al
jne 0x18001719b
xor eax, eax
jmp 0x1800171a2
mov rax, qword [rbx + 0x24c8]
mov rdx, r13
mov qword [rbp - 0x50], rax
call fcn.180002800
test al, al
jne 0x1800171b6
xor edi, edi
jmp 0x1800171ba
mov rdi, qword [r13 + 0x30]
cmp byte [0x1800973c2], 0
movsd xmm15, qword [0x1800826c0]
mov qword [rsp + 0x390], rsi
movaps xmmword [rsp + 0x350], xmm6
movaps xmmword [rsp + 0x340], xmm7
movaps xmmword [rsp + 0x330], xmm8
movaps xmmword [rsp + 0x320], xmm9
je 0x18001760b
mov rdx, rbx
call fcn.180002800
test al, al
je 0x18001760b
mov rbx, qword [rbx + 0x24c8]
test rbx, rbx
je 0x18001760b
cmp byte [0x1800902d6], 0
je 0x1800173bd
cmp byte [0x1800902e5], 0
je 0x1800172ea
mov rdx, r15
call fcn.180002800
xorps xmm9, xmm9
test al, al
jne 0x180017250
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x1800172b1
mov rsi, qword [0x180097688]
mov rdx, r15
movsd qword [rbp + 0x80], xmm9
movups xmmword [rbp + 0x88], xmm9
call fcn.180002800
test al, al
je 0x180017298
mov rax, qword [r15]
test rax, rax
je 0x180017298
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017298
lea r8, [rbp + 0x80]
mov rdx, rsi
mov rcx, r15
call r9
movsd xmm6, qword [rbp + 0x90]
movsd xmm7, qword [rbp + 0x88]
movsd xmm8, qword [rbp + 0x80]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017362
movups xmm0, xmmword [0x18008dd38]
movsd qword [rbp + 0x148], xmm8
movups xmmword [rbp + 0x130], xmm0
movsd qword [rbp + 0x150], xmm7
movsd qword [rbp + 0x158], xmm6
jmp 0x18001731b
mov rdx, rbx
call fcn.180002800
xorps xmm9, xmm9
test al, al
je 0x180017362
movups xmm0, xmmword [0x18008dd38]
movsd qword [rbp + 0x158], xmm9
movups xmmword [rbp + 0x130], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x148], xmm0
movsd xmm1, qword [0x18008dd48]
mov rdx, rbx
mov rsi, qword [0x180097610]
movsd qword [rbp + 0x140], xmm1
call fcn.180002800
test al, al
je 0x180017362
mov rax, qword [rbx]
test rax, rax
je 0x180017362
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017362
lea r8, [rbp + 0x130]
mov rdx, rsi
mov rcx, rbx
call r9
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180017387
movsd xmm0, qword [0x18008dd38]
addsd xmm0, xmm15
movsd qword [0x18008dd38], xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180082748]
test ax, ax
je 0x1800173b3
movsd xmm0, qword [0x18008dd38]
addsd xmm0, xmm6
movsd qword [0x18008dd38], xmm0
mov ecx, 0x53
jmp 0x18001754e
cmp byte [0x1800902e5], 0
je 0x180017480
mov rdx, r15
call fcn.180002800
xorps xmm9, xmm9
test al, al
jne 0x1800173e6
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x180017447
mov rsi, qword [0x180097688]
mov rdx, r15
movsd qword [rbp + 0x80], xmm9
movups xmmword [rbp + 0x88], xmm9
call fcn.180002800
test al, al
je 0x18001742e
mov rax, qword [r15]
test rax, rax
je 0x18001742e
mov r9, qword [rax + 0x268]
test r9, r9
je 0x18001742e
lea r8, [rbp + 0x80]
mov rdx, rsi
mov rcx, r15
call r9
movsd xmm6, qword [rbp + 0x90]
movsd xmm7, qword [rbp + 0x88]
movsd xmm8, qword [rbp + 0x80]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x1800174f8
movups xmm0, xmmword [0x18008dd38]
movsd qword [rbp + 0x148], xmm8
movups xmmword [rbp + 0x130], xmm0
movsd qword [rbp + 0x150], xmm7
movsd qword [rbp + 0x158], xmm6
jmp 0x1800174b1
mov rdx, rbx
call fcn.180002800
xorps xmm9, xmm9
test al, al
je 0x1800174f8
movups xmm0, xmmword [0x18008dd38]
movsd qword [rbp + 0x158], xmm9
movups xmmword [rbp + 0x130], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x148], xmm0
movsd xmm1, qword [0x18008dd48]
mov rdx, rbx
mov rsi, qword [0x180097610]
movsd qword [rbp + 0x140], xmm1
call fcn.180002800
test al, al
je 0x1800174f8
mov rax, qword [rbx]
test rax, rax
je 0x1800174f8
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800174f8
lea r8, [rbp + 0x130]
mov rdx, rsi
mov rcx, rbx
call r9
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001751d
movsd xmm0, qword [0x18008dd38]
addsd xmm0, xmm15
movsd qword [0x18008dd38], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180082748]
test ax, ax
je 0x180017549
movsd xmm0, qword [0x18008dd38]
addsd xmm0, xmm6
movsd qword [0x18008dd38], xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001756d
movsd xmm0, qword [0x18008dd40]
addsd xmm0, xmm6
movsd qword [0x18008dd40], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180017592
movsd xmm0, qword [0x18008dd40]
addsd xmm0, xmm15
movsd qword [0x18008dd40], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800175b7
movsd xmm0, qword [0x18008dd48]
addsd xmm0, xmm15
movsd qword [0x18008dd48], xmm0
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800175db
movsd xmm0, qword [0x18008dd48]
addsd xmm0, xmm6
movsd qword [0x18008dd48], xmm0
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001760f
movaps xmm0, xmmword [0x180082880]
movups xmmword [0x18008dd38], xmm0
movsd xmm0, qword [0x180082740]
movsd qword [0x18008dd48], xmm0
jmp 0x18001760f
xorps xmm9, xmm9
cmp byte [0x1800973ca], 0
je 0x18001766c
mov rbx, qword [0x1800902d8]
movss xmm6, dword [0x18008dd50]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x18001766c
mov rsi, qword [0x180097638]
mov rdx, rbx
movss dword [rbp + 0x20], xmm6
call fcn.180002800
test al, al
je 0x18001766c
mov rax, qword [rbx]
test rax, rax
je 0x18001766c
mov r9, qword [rax + 0x268]
test r9, r9
je 0x18001766c
lea r8, [rbp + 0x20]
mov rdx, rsi
mov rcx, rbx
call r9
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x18001767f
xor eax, eax
xor r14d, r14d
jmp 0x18001768d
mov r14d, dword [rdi + 0xa0]
mov rax, qword [rdi + 0x98]
movss xmm13, dword [0x180082728]
xor r12d, r12d
movaps xmmword [rsp + 0x300], xmm11
xorps xmm10, xmm10
movaps xmmword [rsp + 0x2f0], xmm12
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x38], r14d
movaps xmmword [rsp + 0x2d0], xmm14
test r14d, r14d
jle 0x18001801e
movss xmm14, dword [0x1800828d0]
xor esi, esi
movsd xmm15, qword [0x1800826b8]
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x30], rsi
nop word [rax + rax]
mov rbx, qword [rax + rsi*8]
test rcx, rcx
je 0x180017ffd
cmp rbx, rcx
je 0x180017ffd
mov rdi, qword [0x180097620]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017e9b
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180017e9b
nop word [rax + rax]
cmp rax, rdi
je 0x180017743
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017730
jmp 0x180017e9b
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017792
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017792
mov rcx, qword [rbx + 0x310]
test rcx, rcx
je 0x180017792
mov rdx, qword [0x180090358]
mov r8d, 0x6a
call qword [0x1800975d0]
mov rax, qword [0x180090358]
movsd xmm0, qword [rax + 0x70]
movsd xmm1, qword [rax + 0x68]
movsd xmm2, qword [rax + 0x60]
jmp 0x18001779b
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x60]
mov r8d, dword [0x1800902e0]
lea rdx, [rsp + 0x70]
xorps xmm9, xmm9
mov qword [rsp + 0x20], rax
mov rcx, r15
unpcklpd xmm9, xmm9
movsd qword [rbp + 0x60], xmm2
movsd qword [rbp + 0x68], xmm1
movsd qword [rbp + 0x70], xmm0
call fcn.1800045d0
movsd xmm7, qword [rsp + 0x70]
comisd xmm9, xmm7
mov ecx, dword [0x1800902d0]
mov eax, dword [0x1800902e0]
movsd xmm6, qword [rsp + 0x78]
jae 0x180017804
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
jbe 0x180017821
comisd xmm9, xmm6
jae 0x180017ff4
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017ff4
comisd xmm9, xmm7
jae 0x180017ff4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
ja 0x180017ff4
comisd xmm9, xmm6
jae 0x180017ff4
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017ff4
mov rcx, rbx
call fcn.1800105f0
cmp byte [0x1800902e4], 0
je 0x1800178b4
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x180017881
xor edi, edi
jmp 0x180017888
mov rdi, qword [rdi + 0x908]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x1800178b4
movss xmm0, dword [rdi + 0xb44]
addss xmm0, dword [rdi + 0xb40]
subss xmm0, dword [0x180082720]
movss dword [rdi + 0xb40], xmm0
mov eax, dword [0x1800902e0]
xorps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
mov eax, dword [0x1800902d0]
cdq
sub eax, edx
sar eax, 1
subsd xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm7, xmm7
subsd xmm6, xmm0
mulsd xmm6, xmm6
addsd xmm6, xmm7
cvtpd2ps xmm0, xmm6
movaps xmm1, xmm0
sqrtss xmm1, xmm0
movss xmm0, dword [0x18008dc30]
comiss xmm0, xmm1
jbe 0x180017913
comiss xmm13, xmm1
jbe 0x180017913
movaps xmm13, xmm1
mov rdi, rbx
jmp 0x180017915
xor edi, edi
mov rdx, r15
call fcn.180002800
test al, al
je 0x180017960
mov rsi, qword [0x180097690]
mov rdx, r15
movsd qword [rbp + 0x60], xmm9
movups xmmword [rbp + 0x68], xmm9
call fcn.180002800
test al, al
je 0x180017960
mov rax, qword [r15]
test rax, rax
je 0x180017960
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017960
lea r8, [rbp + 0x60]
mov rdx, rsi
mov rcx, r15
call r9
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x180017970
xor edx, edx
jmp 0x180017977
mov rdx, qword [rdi + 0x190]
call fcn.180002800
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x18001798c
xor edx, edx
jmp 0x180017993
mov rdx, qword [rdi + 0x190]
call fcn.180002800
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x1800179ad
xor ecx, ecx
jmp 0x1800179b4
mov rcx, qword [rsi + 0x908]
call fcn.1800038f0
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x1800179c9
xor ecx, ecx
jmp 0x1800179d0
mov rcx, qword [rsi + 0x908]
call fcn.180003620
mov rdx, r13
movsd qword [rbp + 0x168], xmm9
movups xmmword [rbp + 0x170], xmm9
call fcn.180002800
test al, al
jne 0x1800179f6
xor esi, esi
jmp 0x1800179fd
mov rsi, qword [r13 + 0x1b8]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x180017a0d
xor esi, esi
jmp 0x180017a11
mov rsi, qword [rsi + 0x38]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x180017a21
xor esi, esi
jmp 0x180017a24
mov rsi, qword [rsi]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x180017a34
xor ecx, ecx
jmp 0x180017a38
mov rcx, qword [rsi + 0x30]
mov rax, qword [0x1800975b8]
lea r8, [rbp + 0x168]
mov rdx, rdi
call rax
cmp byte [0x180090354], 0
movzx r15d, al
je 0x180017c81
movups xmm0, xmmword [0x180090320]
lea rdx, [rbp + 0x60]
movsd xmm1, qword [0x180090330]
movups xmmword [rbp + 0x60], xmm0
movsd qword [rbp + 0x70], xmm1
call fcn.180005060
test al, al
jne 0x180017aaa
movups xmm0, xmmword [0x1800902f8]
lea rdx, [rbp - 0x38]
movsd xmm1, qword [0x180090308]
movups xmmword [rbp - 0x38], xmm0
movsd qword [rbp - 0x28], xmm1
call fcn.180005060
test al, al
je 0x180017c81
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017afb
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017afb
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x180017afb
mov rdx, qword [0x180090358]
mov r8d, 0x6a
call qword [0x1800975d0]
mov rax, qword [0x180090358]
movsd xmm7, qword [rax + 0x60]
movsd xmm11, qword [rax + 0x68]
movsd xmm12, qword [rax + 0x70]
jmp 0x180017b06
xorps xmm12, xmm12
xorps xmm11, xmm11
xorps xmm7, xmm7
mov rdx, qword [rsp + 0x50]
call fcn.180002800
test al, al
jne 0x180017b1d
xorps xmm8, xmm8
xorps xmm6, xmm6
jmp 0x180017b83
mov rdx, qword [rsp + 0x50]
mov rsi, qword [0x180097690]
movsd qword [rbp + 0x80], xmm9
movups xmmword [rbp + 0x88], xmm9
call fcn.180002800
test al, al
je 0x180017b69
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x180017b69
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017b69
lea r8, [rbp + 0x80]
mov rdx, rsi
call r9
movsd xmm8, qword [rbp + 0x80]
movsd xmm6, qword [rbp + 0x88]
movsd xmm9, qword [rbp + 0x90]
subsd xmm6, xmm11
subsd xmm8, xmm7
movaps xmm0, xmm6
divsd xmm0, xmm8
call fcn.18006d3b0
movaps xmm7, xmm0
mulsd xmm6, xmm6
movaps xmm0, xmm8
mulsd xmm7, xmm15
mulsd xmm0, xmm8
subsd xmm9, xmm12
addsd xmm6, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm1, xmm6
ucomiss xmm0, xmm1
ja 0x180017bcd
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x180017bd5
movaps xmm0, xmm1
call fcn.18006ff54
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm9, xmm1
movaps xmm0, xmm9
call fcn.18006d3b0
movaps xmm6, xmm0
xorps xmm9, xmm9
comisd xmm8, xmm9
mulsd xmm6, xmm15
mulsd xmm6, qword [0x180082738]
jb 0x180017c0d
addsd xmm7, qword [0x1800826c8]
test r15b, r15b
je 0x180017c81
mov rsi, qword [0x1800902d8]
mov rdx, rsi
call fcn.180002800
test al, al
je 0x180017c81
mov r14, qword [0x180097628]
mov rdx, rsi
movsd qword [rbp + 0x190], xmm6
movsd qword [rbp + 0x198], xmm7
movsd qword [rbp + 0x1a0], xmm9
mov byte [rbp + 0x1a8], 0
call fcn.180002800
test al, al
je 0x180017c7c
mov rax, qword [rsi]
test rax, rax
je 0x180017c7c
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017c7c
lea r8, [rbp + 0x190]
mov rdx, r14
mov rcx, rsi
call r9
mov r14d, dword [rsp + 0x38]
cmp byte [0x1800973c1], 0
je 0x180017e97
movups xmm0, xmmword [0x180090320]
lea rdx, [rbp + 0x60]
movsd xmm1, qword [0x180090330]
movups xmmword [rbp + 0x60], xmm0
movsd qword [rbp + 0x70], xmm1
call fcn.180005060
test al, al
jne 0x180017cdc
movups xmm0, xmmword [0x1800902f8]
lea rdx, [rbp - 0x38]
movsd xmm1, qword [0x180090308]
movups xmmword [rbp - 0x38], xmm0
movsd qword [rbp - 0x28], xmm1
call fcn.180005060
test al, al
je 0x180017e97
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017d2b
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017d2b
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x180017d2b
mov rdx, qword [0x180090358]
mov r8d, 0x6a
call qword [0x1800975d0]
mov rax, qword [0x180090358]
movsd xmm0, qword [rax + 0x70]
movsd xmm1, qword [rax + 0x68]
movsd xmm2, qword [rax + 0x60]
jmp 0x180017d34
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x60]
mov r8d, dword [0x1800902e0]
lea rdx, [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
movsd qword [rbp + 0x60], xmm2
movsd qword [rbp + 0x68], xmm1
movsd qword [rbp + 0x70], xmm0
call fcn.1800045d0
test r15b, r15b
je 0x180017e97
mov eax, dword [0x1800902e0]
movaps xmm3, xmm10
movsd xmm5, qword [rbp - 0x60]
cdq
movss xmm0, dword [0x18008dd54]
sub eax, edx
mulss xmm0, dword [0x180082700]
movaps xmm6, xmm10
sar eax, 1
movsd xmm7, qword [rbp - 0x58]
cvtpd2ps xmm5, xmm5
movd xmm2, eax
mov eax, dword [0x1800902d0]
cdq
sub eax, edx
sar eax, 1
ucomiss xmm5, xmm10
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cvtpd2ps xmm7, xmm7
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm0
jp 0x180017dcb
je 0x180017e25
comiss xmm5, xmm2
jbe 0x180017dfd
movaps xmm3, xmm2
movd xmm0, eax
subss xmm3, xmm5
cvtdq2ps xmm0, xmm0
xorps xmm3, xmm14
divss xmm3, xmm0
movaps xmm0, xmm2
movaps xmm1, xmm3
addss xmm0, xmm2
addss xmm1, xmm2
comiss xmm1, xmm0
jbe 0x180017dfd
movaps xmm3, xmm10
comiss xmm2, xmm5
jbe 0x180017e25
movaps xmm3, xmm5
movd xmm0, eax
subss xmm3, xmm2
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm2
comiss xmm10, xmm1
jbe 0x180017e25
movaps xmm3, xmm10
ucomiss xmm7, xmm10
jp 0x180017e2d
je 0x180017e87
comiss xmm7, xmm4
jbe 0x180017e5f
movaps xmm6, xmm4
movd xmm0, eax
subss xmm6, xmm7
cvtdq2ps xmm0, xmm0
xorps xmm6, xmm14
divss xmm6, xmm0
movaps xmm0, xmm4
movaps xmm1, xmm6
addss xmm0, xmm4
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x180017e5f
movaps xmm6, xmm10
comiss xmm4, xmm7
jbe 0x180017e87
movaps xmm6, xmm7
movd xmm0, eax
subss xmm6, xmm4
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
movaps xmm2, xmm6
addss xmm2, xmm4
comiss xmm10, xmm2
jbe 0x180017e87
movaps xmm6, xmm10
movaps xmm1, xmm3
call fcn.180004da0
movaps xmm1, xmm6
call fcn.180004ad0
mov rsi, qword [rbp + 0x30]
mov rdi, qword [0x180097620]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017ece
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180017ece
cmp rax, rdi
je 0x180017ec7
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017eb7
jmp 0x180017ece
mov qword [0x180097cf8], rbx
test rbx, rbx
je 0x180017ff4
cmp qword [0x180097cf8], 0
je 0x180017ff4
mov rdi, qword [0x180097608]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017ff4
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180017ff4
nop dword [rax]
cmp rax, rdi
je 0x180017f23
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017f10
jmp 0x180017ff4
cmp byte [0x1800973c4], 0
je 0x180017ff4
mov rdi, qword [0x180097cf8]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017f86
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180017f86
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x180017f86
mov rdx, qword [0x180090358]
mov r8d, 0x6a
call qword [0x1800975d0]
mov rax, qword [0x180090358]
movsd xmm0, qword [rax + 0x70]
movupd xmm6, xmmword [rax + 0x60]
movsd qword [rbp + 0x70], xmm0
jmp 0x180017f8f
movsd qword [rbp + 0x70], xmm9
xorps xmm6, xmm6
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017ff4
movsd xmm0, qword [rbp + 0x70]
mov rdx, rbx
mov rdi, qword [0x180097678]
movsd qword [rbp + 0x178], xmm0
movups xmmword [rbp + 0x168], xmm6
mov byte [rbp + 0x180], 0
mov byte [rbp + 0x188], 1
call fcn.180002800
test al, al
je 0x180017ff4
mov rax, qword [rbx]
test rax, rax
je 0x180017ff4
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017ff4
lea r8, [rbp + 0x168]
mov rdx, rdi
mov rcx, rbx
call r9
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
inc rsi
inc r12d
mov qword [rbp + 0x30], rsi
cmp r12d, r14d
jl 0x1800176f0
movsd xmm15, qword [0x1800826c0]
cmp byte [0x1800973c6], 0
jne 0x180018046
cmp byte [0x1800902e6], 0
jne 0x180018046
cmp byte [0x1800973d1], 0
jne 0x180018046
cmp byte [0x1800902d7], 0
je 0x180019ca8
lea rcx, [r13 + 0x178]
call fcn.18000fdc0
test eax, eax
je 0x18001805f
mov eax, dword [r13 + 0x178]
jmp 0x180018062
mov eax, dword [rbp + 0x20]
xor r15d, r15d
mov dword [rbp + 0x20], eax
mov dword [rsp + 0x5c], r15d
mov r14d, r15d
test eax, eax
je 0x180019ca8
movaps xmm12, xmmword [0x180082860]
lea rbx, [r13 + 0x170]
movsd xmm13, qword [0x180082670]
movss xmm14, dword [0x18008267c]
mov qword [rsp + 0x60], rbx
nop
mov rcx, rbx
call fcn.18000fdc0
test eax, eax
je 0x1800180b5
mov rcx, qword [rbx]
mov qword [rbp - 0x20], rcx
jmp 0x1800180b9
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180019c96
lea ebx, [r14*8]
add rbx, rcx
mov rcx, rbx
call fcn.18000fdc0
test eax, eax
je 0x1800180e2
mov rdi, qword [rbx]
mov qword [rbp - 0x18], rdi
jmp 0x1800180e6
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x180019c91
lea rcx, [rdi + 0xa0]
call fcn.18000fdc0
test eax, eax
je 0x18001810b
mov esi, dword [rdi + 0xa0]
mov dword [rsp + 0x58], esi
jmp 0x18001810f
mov esi, dword [rsp + 0x58]
lea rcx, [rdi + 0x98]
call fcn.18000fdc0
test eax, eax
je 0x18001812c
mov rdx, qword [rdi + 0x98]
mov qword [rbp - 0x40], rdx
jmp 0x180018130
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x180019c91
mov eax, r15d
mov dword [rsp + 0x38], eax
test esi, esi
je 0x180019c91
nop dword [rax + rax]
lea ebx, [rax*8]
add rbx, rdx
mov rcx, rbx
call fcn.18000fdc0
test eax, eax
je 0x18001816f
mov rsi, qword [rbx]
mov qword [rbp - 0x48], rsi
jmp 0x180018173
mov rsi, qword [rbp - 0x48]
mov r13, qword [rbx]
test rsi, rsi
je 0x180019c74
test r13, r13
je 0x180019c74
mov rdi, qword [rsp + 0x30]
cmp r13, rdi
je 0x180019c74
lea rcx, [rsi + 0x18]
call fcn.18000fdc0
lea r15, [rsi + 0x190]
mov rcx, r15
call fcn.18000fdc0
test eax, eax
je 0x1800181bb
mov rax, qword [r15]
mov qword [rbp - 0x10], rax
jmp 0x1800181bf
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x180019c71
lea r14, [rax + 0x128]
mov rcx, r14
call fcn.18000fdc0
test eax, eax
je 0x1800181e7
movups xmm0, xmmword [r14]
movsd xmm1, qword [r14 + 0x10]
jmp 0x1800181f6
movsd xmm1, qword [rbp + 0x90]
movups xmm0, xmmword [rbp + 0x80]
mov r12, qword [rsp + 0x50]
lea rax, [rbp + 0x30]
mov r9d, dword [0x1800902d0]
lea rdx, [rbp + 0x80]
mov r8d, dword [0x1800902e0]
mov rcx, r12
movaps xmmword [rbp + 0x30], xmm0
movsd qword [rbp + 0x40], xmm1
mov qword [rsp + 0x20], rax
call fcn.1800045d0
mov rbx, qword [0x180097620]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180018254
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180018254
cmp rax, rbx
je 0x180018279
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180018246
xorps xmm11, xmm11
mov rcx, r15
unpcklpd xmm11, xmm11
call fcn.18000fdc0
test eax, eax
je 0x18001848c
mov rax, qword [r15]
mov qword [rbp - 8], rax
jmp 0x180018490
cmp qword [0x1800902d8], 0
je 0x180018254
cmp byte [0x1800902d7], 0
je 0x180018254
mov rbx, qword [0x180097620]
mov rdx, r13
call fcn.180002800
test al, al
je 0x180018254
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x180018254
cmp rax, rbx
je 0x1800182b8
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1800182a8
jmp 0x180018254
mov rax, qword [0x180097528]
test rax, rax
jne 0x18001837c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180018358
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180018358
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180018353
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180018330
cmp edx, 0x95466b05
je 0x1800183df
test r8d, r8d
jne 0x180018310
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18001836e
cmp qword [rax + 0x30], 0
jne 0x1800182e0
xor eax, eax
mov rdi, qword [rsp + 0x30]
mov qword [0x180097528], rax
mov ecx, 0xa0
call rax
test ax, ax
je 0x180018254
mov rdx, r13
call fcn.180002800
test al, al
je 0x1800183fb
mov rdx, r13
call fcn.180002800
test al, al
je 0x1800183fb
mov rcx, qword [r13 + 0x310]
test rcx, rcx
je 0x1800183fb
mov rdx, qword [0x180090358]
mov r8d, 8
call qword [0x1800975d0]
mov rax, qword [0x180090358]
xorps xmm11, xmm11
movsd xmm0, qword [rax + 0x70]
movupd xmm6, xmmword [rax + 0x60]
movsd qword [rbp + 0x40], xmm0
jmp 0x180018408
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180018370
xorps xmm11, xmm11
xorps xmm6, xmm6
movsd qword [rbp + 0x40], xmm11
mov rdx, rdi
call fcn.180002800
test al, al
je 0x18001846d
movsd xmm0, qword [rbp + 0x40]
mov rdx, rdi
mov rbx, qword [0x180097678]
movsd qword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x130], xmm6
mov byte [rbp + 0x148], 0
mov byte [rbp + 0x150], 1
call fcn.180002800
test al, al
je 0x18001846d
mov rax, qword [rdi]
test rax, rax
je 0x18001846d
mov r9, qword [rax + 0x268]
test r9, r9
je 0x18001846d
lea r8, [rbp + 0x130]
mov rdx, rbx
mov rcx, rdi
call r9
movaps xmm0, xmmword [0x180082870]
lea rdx, [rbp + 0x30]
movups xmmword [rbp + 0x30], xmm0
movsd qword [rbp + 0x40], xmm11
call fcn.180004a30
jmp 0x180018258
mov rax, qword [rbp - 8]
test rax, rax
je 0x180019c71
mov rcx, r14
call fcn.18000fdc0
test eax, eax
je 0x1800184b1
movups xmm9, xmmword [r14]
movsd xmm10, qword [r14 + 0x10]
jmp 0x1800184bc
movsd xmm10, qword [rbp + 0x70]
movups xmm9, xmmword [rbp + 0x60]
mov rdx, r12
call fcn.180002800
test al, al
je 0x180018508
mov rbx, qword [0x180097690]
mov rdx, r12
movsd qword [rbp + 0x30], xmm11
movups xmmword [rbp + 0x38], xmm11
call fcn.180002800
test al, al
je 0x180018508
mov rax, qword [r12]
test rax, rax
je 0x180018508
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018508
lea r8, [rbp + 0x30]
mov rdx, rbx
mov rcx, r12
call r9
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x30]
mov r8d, dword [0x1800902e0]
lea rdx, [rbp + 0x190]
mov rcx, r12
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x30], xmm9
movsd qword [rbp + 0x40], xmm10
call fcn.1800045d0
mov rbx, qword [0x180097670]
mov rdx, r13
call fcn.180002800
test al, al
je 0x180018563
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x180018563
cmp rax, rbx
je 0x1800185a7
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180018555
xor r15d, r15d
mov rbx, qword [0x180097658]
mov rdx, r13
call fcn.180002800
test al, al
je 0x180018c0e
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x180018c0e
nop word [rax + rax]
cmp rax, rbx
je 0x180018b80
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180018590
jmp 0x180018c0e
test rdi, rdi
je 0x180018563
cmp byte [0x1800902e6], 0
je 0x180018563
mov rax, qword [0x180097528]
test rax, rax
jne 0x180018677
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180018658
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180018658
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180018653
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180018630
cmp edx, 0x95466b05
je 0x1800189df
test r8d, r8d
jne 0x180018610
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18001866e
cmp qword [rax + 0x30], 0
jne 0x1800185e0
xor eax, eax
mov qword [0x180097528], rax
mov ecx, 6
call rax
test ax, ax
je 0x1800187ba
mov rax, qword [0x180097528]
test rax, rax
jne 0x180018747
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180018728
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180018728
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180018723
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180018700
cmp edx, 0x95466b05
je 0x1800189fb
test r8d, r8d
jne 0x1800186e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18001873e
cmp qword [rax + 0x30], 0
jne 0x1800186b0
xor eax, eax
mov qword [0x180097528], rax
mov ecx, 0x45
call rax
test ax, ax
jne 0x1800187ba
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x1800187ba
mov rbx, qword [0x180097678]
mov rdx, rdi
movups xmmword [rbp + 0x130], xmm9
mov byte [rbp + 0x148], 0
movsd qword [rbp + 0x140], xmm10
mov byte [rbp + 0x150], 1
call fcn.180002800
test al, al
je 0x1800187ba
mov rax, qword [rdi]
test rax, rax
je 0x1800187ba
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800187ba
lea r8, [rbp + 0x130]
mov rdx, rbx
mov rcx, rdi
call r9
cmp byte [0x18008239f], 0
mov rax, qword [str.hZDY_Y_9e]
mov qword [rbp + 0x30], rax
je 0x1800188e5
cmp dword [0x18008d028], 2
jl 0x180018a17
movdqa xmm2, xmmword [0x1800827d0]
mov eax, 5
movdqa xmm3, xmmword [0x1800827e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x30]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x30], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x34]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
xorps xmm2, xmm0
movd dword [rbp + 0x34], xmm2
xor r15d, r15d
lea rbx, [0x1800984a0]
mov rcx, rbx
lea rdx, [rbp + 0x30]
call fcn.180001320
movzx edx, byte [0x1800984a0]
mov rcx, r15
test dl, dl
je 0x180018926
lea r8, [0x180097e10]
movsx eax, dl
mov word [r8 + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x180018910
movsd xmm7, qword [rbp + 0x190]
lea rdx, [0x180097e10]
comisd xmm11, xmm7
mov eax, dword [0x1800902e0]
mov word [rdx + rcx*2], r15w
mov ecx, dword [0x1800902d0]
movsd xmm6, qword [rbp + 0x198]
jae 0x180018963
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
jbe 0x180018980
comisd xmm11, xmm6
jae 0x180018566
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180018566
comisd xmm11, xmm7
jae 0x180018566
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
ja 0x180018566
comisd xmm11, xmm6
jae 0x180018566
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180018566
cmp word [0x180097e10], 0
je 0x180018a5a
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rdx + rcx*2], 0
jne 0x1800189d0
inc rcx
jmp 0x180018a5d
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180018670
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x180018740
xor r15d, r15d
lea r9, [rbp + 0x30]
mov r8d, r15d
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180018a21
jmp 0x1800188e8
mov rcx, r15
mov rbx, qword [0x1800902e8]
mov rax, rdx
test ecx, ecx
mov dword [rbp + 8], ecx
mov rdx, rbx
mov dword [rbp + 0xc], ecx
cmove rax, r15
mov qword [rbp], rax
call fcn.180002800
test al, al
je 0x180018566
movups xmm0, xmmword [rbp]
mov rax, qword [0x180097600]
mov rdx, rbx
mov rdi, qword [0x1800975e8]
movsd qword [rbp + 0xb8], xmm7
addsd xmm7, xmm13
movsd qword [rbp + 0xc0], xmm6
addsd xmm6, xmm13
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xa0], rax
movaps xmm0, xmmword [0x180082760]
movsd qword [rbp + 0x100], xmm7
movsd qword [rbp + 0x108], xmm6
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xc8], xmm12
mov dword [rbp + 0xd8], 0x437f0000
mov dword [rbp + 0xdc], 0x437f0000
mov qword [rbp + 0xf0], 0
mov dword [rbp + 0xf8], 0
mov word [rbp + 0x110], 0x101
mov byte [rbp + 0x112], 0
mov qword [rbp + 0x114], 0
mov dword [rbp + 0x11c], 0
mov dword [rbp + 0x120], 0x3f800000
call fcn.180002800
test al, al
je 0x180018566
mov rax, qword [rbx]
test rax, rax
je 0x180018566
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018566
lea r8, [rbp + 0xa0]
mov rdx, rdi
mov rcx, rbx
call r9
jmp 0x180018566
cmp qword [rsp + 0x30], 0
je 0x180018c0e
cmp byte [0x1800973d1], 0
je 0x180018c0e
mov rdi, qword [rbp - 0x50]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180018c00
mov rbx, qword [0x180097610]
xorps xmm0, xmm0
mov rdx, rdi
movsd qword [rbp + 0x158], xmm11
movups xmmword [rbp + 0x148], xmm0
movups xmmword [rbp + 0x130], xmm9
movsd qword [rbp + 0x140], xmm10
call fcn.180002800
test al, al
je 0x180018c00
mov rax, qword [rdi]
test rax, rax
je 0x180018c00
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018c00
lea r8, [rbp + 0x130]
mov rdx, rbx
mov rcx, rdi
call r9
cmp byte [0x1800973d1], 0
sete byte [0x1800973d1]
mov rdx, r12
call fcn.180002800
test al, al
jne 0x180018c2d
xorps xmm8, xmm8
xorps xmm9, xmm9
unpckhpd xmm9, xmm8
movaps xmm7, xmm11
jmp 0x180018c7e
mov rbx, qword [0x180097690]
mov rdx, r12
movsd qword [rbp + 0x30], xmm11
movups xmmword [rbp + 0x38], xmm11
call fcn.180002800
test al, al
je 0x180018c6d
mov rax, qword [r12]
test rax, rax
je 0x180018c6d
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018c6d
lea r8, [rbp + 0x30]
mov rdx, rbx
mov rcx, r12
call r9
movsd xmm8, qword [rbp + 0x38]
movsd xmm9, qword [rbp + 0x40]
movsd xmm7, qword [rbp + 0x30]
mov rdx, r13
call fcn.180002800
mov rbx, r15
test al, al
je 0x180018c94
mov rbx, qword [r13 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180018ca9
xorps xmm6, xmm6
movaps xmm10, xmm11
jmp 0x180018cc1
movsd xmm0, qword [rbx + 0x138]
movups xmm6, xmmword [rbx + 0x128]
movaps xmm10, xmm0
movsd qword [rbp + 0x40], xmm0
movaps xmm0, xmm6
movaps xmm1, xmm14
subsd xmm0, xmm7
cvtsd2ss xmm0, xmm0
call fcn.18006e350
movaps xmm7, xmm0
unpckhpd xmm6, xmm6
subsd xmm6, xmm8
xorps xmm0, xmm0
movaps xmm1, xmm14
cvtsd2ss xmm0, xmm6
call fcn.18006e350
addss xmm7, xmm0
movaps xmm1, xmm14
subsd xmm10, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
call fcn.18006e350
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x180018d20
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x180018d28
movaps xmm0, xmm7
call fcn.18006ff54
cmp byte [0x1800973cc], 0
cvtss2sd xmm0, xmm0
divsd xmm0, xmm15
cvttsd2si esi, xmm0
je 0x18001918d
mov rbx, qword [rbp - 0x48]
lea rcx, [rbx + 0x1032]
call fcn.18000fdc0
test eax, eax
je 0x180018d63
movzx ebx, byte [rbx + 0x1032]
mov byte [rsp + 0x3c], bl
jmp 0x180018d68
movzx ebx, byte [rsp + 0x3c]
movups xmm3, xmmword [str.fZQGSSgzROI_]
mov r8d, r15d
movzx eax, word [0x18007d530]
movsd xmm0, qword [0x18007d528]
mov r14d, dword [0x18008d028]
movsd qword [rbp + 0x40], xmm0
mov word [rbp + 0x48], ax
movups xmmword [rbp + 0x30], xmm3
cmp r14d, 2
jl 0x180018e94
movdqa xmm2, xmmword [0x1800827d0]
mov eax, 5
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x1800827e0]
paddw xmm2, xmmword [0x180082800]
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movq qword [rbp + 0x30], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x38]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180082800]
xorps xmm2, xmm0
movq qword [rbp + 0x38], xmm2
movsxd rax, r8d
lea r9, [rbp + 0x30]
lea r9, [r9 + rax*2]
nop
mov eax, 0x8d3dcb09
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x32
xor word [r9 - 2], ax
cmp r8d, 0xd
jl 0x180018ea0
mov rcx, r13
call fcn.180004430
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.180045368
test rax, rax
je 0x180019194
test bl, bl
jne 0x180019194
cmp esi, 0x32
jge 0x180019194
movzx ecx, word [0x18007d908]
lea rbx, [0x180098730]
movzx eax, byte [0x18007d90a]
lea rdx, [rsp + 0x40]
movsd xmm0, qword [str.q_QFB]
xor al, 0x3c
movsd qword [rsp + 0x40], xmm0
mov r8d, esi
xor byte [rsp + 0x41], 0x33
xor byte [rsp + 0x42], 0x34
xor byte [rsp + 0x43], 0x35
xor byte [rsp + 0x44], 0x36
xor byte [rsp + 0x45], 0x37
xor byte [rsp + 0x46], 0x38
xor byte [rsp + 0x47], 0x39
mov word [rsp + 0x48], cx
xor cl, 0x3a
xor byte [rsp + 0x49], 0x3b
mov byte [rsp + 0x48], cl
mov rcx, rbx
mov byte [rsp + 0x40], 0x43
mov byte [rsp + 0x4a], al
call fcn.180001320
movzx edx, byte [0x180098730]
lea rdi, [0x1800987b0]
mov rcx, r15
test dl, dl
je 0x180018fa5
nop dword [rax]
movsx eax, dl
mov word [rdi + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x180018f90
mov rdx, r13
mov word [rdi + rcx*2], r15w
call fcn.180002800
mov rbx, r15
test al, al
je 0x180018fc0
mov rbx, qword [r13 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180018fdb
movsd qword [rbp + 0x40], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x180018fea
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x30]
mov r8d, dword [0x1800902e0]
lea rdx, [rbp - 0x38]
mov rcx, r12
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x30], xmm0
movsd qword [rbp + 0x40], xmm1
call fcn.1800045d0
cmp word [0x1800987b0], 0
je 0x18001903f
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x180019030
inc rcx
jmp 0x180019042
mov rcx, r15
mov rbx, qword [0x1800902e8]
test ecx, ecx
movss xmm6, dword [0x180081650]
mov rax, rdi
movss xmm7, dword [0x180081654]
cmove rax, r15
movss xmm8, dword [0x180081658]
mov rdx, rbx
movss xmm9, dword [0x18008165c]
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x18], ecx
mov dword [rbp + 0x1c], ecx
call fcn.180002800
test al, al
je 0x180019194
movups xmm0, xmmword [rbp + 0x10]
mov rdx, rbx
mov rax, qword [0x180097600]
movsd xmm1, qword [rbp - 0x38]
mov rdi, qword [0x1800975e8]
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xa0], rax
movsd xmm0, qword [rbp - 0x30]
movsd qword [rbp + 0xc0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xb8], xmm1
addsd xmm1, xmm13
movss dword [rbp + 0xd8], xmm6
movss dword [rbp + 0xdc], xmm7
movss dword [rbp + 0xe0], xmm8
movsd qword [rbp + 0x108], xmm0
movss dword [rbp + 0xe4], xmm9
movsd qword [rbp + 0x100], xmm1
movups xmmword [rbp + 0xc8], xmm12
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0
mov dword [rbp + 0xf8], 0
mov word [rbp + 0x110], 0x101
mov byte [rbp + 0x112], 1
mov qword [rbp + 0x114], 0
mov dword [rbp + 0x11c], 0
mov dword [rbp + 0x120], 0x3f800000
call fcn.180002800
test al, al
je 0x180019194
mov rax, qword [rbx]
test rax, rax
je 0x180019194
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180019194
lea r8, [rbp + 0xa0]
mov rdx, rdi
mov rcx, rbx
call r9
jmp 0x180019194
mov r14d, dword [0x18008d028]
cmp byte [0x1800973c5], 0
je 0x1800196e1
movups xmm9, xmmword [0x180081e20]
pextrw eax, xmm9, 7
movups xmmword [rbp + 0x30], xmm9
test ax, ax
je 0x180019308
cmp r14d, 2
jl 0x1800192c4
movdqa xmm2, xmmword [0x1800827d0]
mov ebx, 5
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x180082800]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov edi, 0x1f
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, ebx
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm9
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x1800827e0]
xorps xmm3, xmm1
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp + 0x30], xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x38]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp + 0x38], xmm3
jmp 0x180019310
lea r9, [rbp + 0x30]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x32
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x1800192d0
mov edi, 0x1f
lea ebx, [rdi - 0x1a]
mov rcx, r13
call fcn.180004430
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.180045368
test rax, rax
je 0x1800196e1
cmp esi, 0x32
jge 0x1800196e1
mov eax, dword [0x1800821b0]
mov r8d, r15d
movsd xmm0, qword [str.dVU__]
mov dword [rbp - 0x78], eax
movzx eax, byte [0x1800821b4]
mov byte [rbp - 0x74], al
movsd qword [rbp - 0x80], xmm0
cmp r14d, 2
jl 0x18001946e
movdqa xmm2, xmmword [0x1800827d0]
mov r8d, 8
movdqa xmm3, xmmword [0x1800827e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm0, xmm2
mov eax, dword [str.2222222222222222]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, ebx
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.dVU__]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x80], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
movd xmm1, dword [rbp - 0x7c]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x180019480
lea rbx, [0x180097f90]
mov r8d, esi
mov rcx, rbx
lea rdx, [rbp - 0x80]
call fcn.180001320
movzx edx, byte [0x180097f90]
lea rdi, [0x1800982a0]
mov rcx, r15
test dl, dl
je 0x1800194f5
nop
movsx eax, dl
mov word [rdi + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x1800194e0
mov rdx, r13
mov word [rdi + rcx*2], r15w
call fcn.180002800
mov rbx, r15
test al, al
je 0x180019510
mov rbx, qword [r13 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x18001952b
movsd qword [rbp + 0x40], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x18001953a
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x30]
mov r8d, dword [0x1800902e0]
lea rdx, [rbp + 0x168]
mov rcx, r12
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x30], xmm0
movsd qword [rbp + 0x40], xmm1
call fcn.1800045d0
cmp word [0x1800982a0], 0
je 0x18001958f
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x180019580
inc rcx
jmp 0x180019592
mov rcx, r15
mov rbx, qword [0x1800902e8]
test ecx, ecx
movss xmm6, dword [0x180081690]
mov rax, rdi
movss xmm7, dword [0x180081694]
cmove rax, r15
movss xmm8, dword [0x180081698]
mov rdx, rbx
movss xmm9, dword [0x18008169c]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], ecx
mov dword [rbp - 0x54], ecx
call fcn.180002800
test al, al
je 0x1800196e1
movups xmm0, xmmword [rbp - 0x60]
mov rdx, rbx
mov rax, qword [0x180097600]
movsd xmm1, qword [rbp + 0x168]
mov rdi, qword [0x1800975e8]
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xa0], rax
movsd xmm0, qword [rbp + 0x170]
movsd qword [rbp + 0xc0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xb8], xmm1
addsd xmm1, xmm13
movss dword [rbp + 0xd8], xmm6
movss dword [rbp + 0xdc], xmm7
movss dword [rbp + 0xe0], xmm8
movsd qword [rbp + 0x108], xmm0
movss dword [rbp + 0xe4], xmm9
movsd qword [rbp + 0x100], xmm1
movups xmmword [rbp + 0xc8], xmm12
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0
mov dword [rbp + 0xf8], 0
mov word [rbp + 0x110], 0x101
mov byte [rbp + 0x112], 1
mov qword [rbp + 0x114], 0
mov dword [rbp + 0x11c], 0
mov dword [rbp + 0x120], 0x3f800000
call fcn.180002800
test al, al
je 0x1800196e1
mov rax, qword [rbx]
test rax, rax
je 0x1800196e1
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800196e1
lea r8, [rbp + 0xa0]
mov rdx, rdi
mov rcx, rbx
call r9
cmp byte [0x1800973c7], 0
je 0x180019c74
mov eax, dword [0x180081f90]
mov ebx, 5
mov dword [rbp + 0x50], eax
mov r8d, r15d
movzx eax, word [0x180081f94]
mov word [rbp + 0x54], ax
lea edi, [rbx + 0x1a]
movups xmm0, xmmword [str.fZQGSSgxWVSb]
movups xmm1, xmmword [0x180081f80]
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp r14d, 2
jl 0x180019859
movdqa xmm5, xmmword [0x1800827d0]
lea rcx, [rbp + 0x30]
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm7, xmmword [0x1800827f0]
movdqa xmm9, xmmword [0x180082800]
movd xmm6, ebx
movd xmm8, edi
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x10
jl 0x180019760
cmp r8d, 0x13
jge 0x1800198a8
movsxd rax, r8d
lea r9, [rbp + 0x30]
lea r9, [r9 + rax*2]
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x32
xor word [r9 - 2], ax
cmp r8d, 0x13
jl 0x180019870
mov rcx, r13
call fcn.180004430
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.180045368
test rax, rax
je 0x180019c74
cmp esi, 0x32
jge 0x180019c74
mov eax, dword [0x18007db78]
mov r8d, r15d
movsd xmm0, qword [str.sYZtX_]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x18007db7c]
mov byte [rbp - 0x64], al
movsd qword [rbp - 0x70], xmm0
cmp r14d, 2
jl 0x180019a06
movdqa xmm2, xmmword [0x1800827d0]
mov r8d, 8
movdqa xmm3, xmmword [0x1800827e0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800828e0]
movdqa xmm0, xmm2
mov eax, dword [str.2222222222222222]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, ebx
movd xmm5, edi
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.sYZtX_]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rbp - 0x70], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800827f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
movd xmm1, dword [rbp - 0x6c]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x6c], xmm2
movsxd rax, r8d
lea r9, [rbp - 0x70]
add r9, rax
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x180019a10
lea rbx, [0x180097af0]
mov r8d, esi
mov rcx, rbx
lea rdx, [rbp - 0x70]
call fcn.180001320
movzx edx, byte [0x180097af0]
lea rdi, [0x1800985a0]
mov rcx, r15
test dl, dl
je 0x180019a85
nop
movsx eax, dl
mov word [rdi + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x180019a70
mov rdx, r13
mov word [rdi + rcx*2], r15w
call fcn.180002800
mov rbx, r15
test al, al
je 0x180019aa0
mov rbx, qword [r13 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180019abb
movsd qword [rbp + 0x40], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x180019aca
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x1800902d0]
lea rax, [rbp + 0x30]
mov r8d, dword [0x1800902e0]
lea rdx, [rbp + 0x60]
mov rcx, r12
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x30], xmm0
movsd qword [rbp + 0x40], xmm1
call fcn.1800045d0
cmp word [0x1800985a0], 0
je 0x180019b1f
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x180019b10
inc rcx
jmp 0x180019b22
mov rcx, r15
mov rbx, qword [0x1800902e8]
test ecx, ecx
movss xmm6, dword [0x1800816c0]
mov rax, rdi
movss xmm7, dword [0x1800816c4]
cmove rax, r15
movss xmm8, dword [0x1800816c8]
mov rdx, rbx
movss xmm9, dword [0x1800816cc]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], ecx
call fcn.180002800
test al, al
je 0x180019c74
movups xmm0, xmmword [rsp + 0x70]
mov rdx, rbx
mov rax, qword [0x180097600]
movsd xmm1, qword [rbp + 0x60]
mov rdi, qword [0x1800975e8]
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xa0], rax
movsd xmm0, qword [rbp + 0x68]
movsd qword [rbp + 0xc0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xb8], xmm1
addsd xmm1, xmm13
movss dword [rbp + 0xd8], xmm6
movss dword [rbp + 0xdc], xmm7
movss dword [rbp + 0xe0], xmm8
movsd qword [rbp + 0x108], xmm0
movss dword [rbp + 0xe4], xmm9
movsd qword [rbp + 0x100], xmm1
movups xmmword [rbp + 0xc8], xmm12
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0
mov dword [rbp + 0xf8], 0
mov word [rbp + 0x110], 0x101
mov byte [rbp + 0x112], 1
mov qword [rbp + 0x114], 0
mov dword [rbp + 0x11c], 0
mov dword [rbp + 0x120], 0x3f800000
call fcn.180002800
test al, al
je 0x180019c74
mov rax, qword [rbx]
test rax, rax
je 0x180019c74
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180019c74
lea r8, [rbp + 0xa0]
mov rdx, rdi
mov rcx, rbx
call r9
jmp 0x180019c74
xor r15d, r15d
mov eax, dword [rsp + 0x38]
mov rdx, qword [rbp - 0x40]
inc eax
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x58]
jb 0x180018150
mov r14d, dword [rsp + 0x5c]
mov rbx, qword [rsp + 0x60]
inc r14d
mov dword [rsp + 0x5c], r14d
cmp r14d, dword [rbp + 0x20]
jb 0x1800180a0
movaps xmm14, xmmword [rsp + 0x2d0]
movaps xmm12, xmmword [rsp + 0x2f0]
movaps xmm11, xmmword [rsp + 0x300]
movaps xmm9, xmmword [rsp + 0x320]
movaps xmm8, xmmword [rsp + 0x330]
movaps xmm7, xmmword [rsp + 0x340]
movaps xmm6, xmmword [rsp + 0x350]
mov r15, qword [rsp + 0x398]
mov rsi, qword [rsp + 0x390]
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.180042cf0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret