Function at 0x1800164a0
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 - 0x278]
sub rsp, 0x350
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18008d040]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
cmp byte [0x180090334], 0
je 0x180016540
movaps xmm0, xmmword [0x180082720]
lea r8, [rbp + 0x50]
mov eax, dword [0x180090340]
lea rcx, [rsp + 0x70]
cdq
movdqa xmmword [rbp + 0x50], xmm0
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x180090330]
cdq
cvtdq2pd xmm0, xmm0
sub eax, edx
sar eax, 1
cvttss2si edx, dword [0x18008dc90]
movsd qword [rsp + 0x70], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x78], xmm0
call fcn.18000db90
mov rbx, qword [0x180090348]
mov rdx, rbx
call fcn.180002800
xor edi, edi
test al, al
mov eax, edi
je 0x18001655a
mov eax, dword [rbx + 0x40]
mov rbx, qword [0x180090348]
mov rdx, rbx
mov dword [0x180090340], eax
call fcn.180002800
test al, al
mov eax, edi
je 0x180016578
mov eax, dword [rbx + 0x44]
mov dword [0x180090330], eax
mov rax, qword [0x180097610]
mov r13, qword [rax]
mov rdx, r13
call fcn.180002800
mov rbx, rdi
test al, al
je 0x18001659e
mov rbx, qword [r13 + 0x1b8]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x1800165af
mov rbx, rdi
jmp 0x1800165b3
mov rbx, qword [rbx + 0x38]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x1800165c4
mov rbx, rdi
jmp 0x1800165c7
mov rbx, qword [rbx]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x1800165d8
mov rbx, rdi
jmp 0x1800165dc
mov rbx, qword [rbx + 0x30]
mov rdx, rbx
mov qword [rsp + 0x388], r15
mov qword [0x180090338], rbx
call fcn.180002800
mov r15, rdi
test al, al
je 0x180016601
mov r15, qword [rbx + 0x340]
mov rbx, qword [0x180090338]
mov rdx, rbx
mov qword [rsp + 0x50], r15
call fcn.180002800
test al, al
jne 0x18001661e
mov rbx, rdi
jmp 0x180016625
mov rbx, qword [rbx + 0x330]
mov rdx, rbx
mov qword [rsp + 0x30], rbx
call fcn.180002800
test al, al
jne 0x18001663c
mov qword [rbp - 0x48], rdi
jmp 0x180016647
mov rax, qword [rbx + 0x24c8]
mov qword [rbp - 0x48], rax
mov rdx, r13
call fcn.180002800
test al, al
je 0x180016657
mov rdi, qword [r13 + 0x30]
cmp byte [0x180097422], 0
movsd xmm15, qword [0x1800825a8]
mov qword [rsp + 0x380], rsi
movaps xmmword [rsp + 0x340], xmm6
movaps xmmword [rsp + 0x330], xmm7
movaps xmmword [rsp + 0x320], xmm8
movaps xmmword [rsp + 0x310], xmm9
je 0x180016a8a
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180016a8a
mov rbx, qword [rbx + 0x24c8]
test rbx, rbx
je 0x180016a8a
cmp byte [0x180090336], 0
je 0x18001684b
cmp byte [0x180090345], 0
je 0x180016778
mov rdx, r15
call fcn.180002800
xorps xmm9, xmm9
test al, al
jne 0x1800166ed
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x18001673f
mov rsi, qword [0x1800976e0]
mov rdx, r15
movsd qword [rbp + 0x70], xmm9
movups xmmword [rbp + 0x78], xmm9
call fcn.180002800
test al, al
je 0x18001672c
mov rax, qword [r15]
test rax, rax
je 0x18001672c
mov r9, qword [rax + 0x268]
test r9, r9
je 0x18001672c
lea r8, [rbp + 0x70]
mov rdx, rsi
mov rcx, r15
call r9
movsd xmm6, qword [rbp + 0x80]
movsd xmm7, qword [rbp + 0x78]
movsd xmm8, qword [rbp + 0x70]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x1800167f0
movups xmm0, xmmword [0x18008dd98]
movsd qword [rbp + 0x138], xmm8
movups xmmword [rbp + 0x120], xmm0
movsd qword [rbp + 0x140], xmm7
movsd qword [rbp + 0x148], xmm6
jmp 0x1800167a9
mov rdx, rbx
call fcn.180002800
xorps xmm9, xmm9
test al, al
je 0x1800167f0
movups xmm0, xmmword [0x18008dd98]
movsd qword [rbp + 0x148], xmm9
movups xmmword [rbp + 0x120], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x138], xmm0
movsd xmm1, qword [0x18008dda8]
mov rdx, rbx
mov rsi, qword [0x180097668]
movsd qword [rbp + 0x130], xmm1
call fcn.180002800
test al, al
je 0x1800167f0
mov rax, qword [rbx]
test rax, rax
je 0x1800167f0
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800167f0
lea r8, [rbp + 0x120]
mov rdx, rsi
mov rcx, rbx
call r9
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180016815
movsd xmm0, qword [0x18008dd98]
addsd xmm0, xmm15
movsd qword [0x18008dd98], xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180082630]
test ax, ax
je 0x180016841
movsd xmm0, qword [0x18008dd98]
addsd xmm0, xmm6
movsd qword [0x18008dd98], xmm0
mov ecx, 0x53
jmp 0x1800169cd
cmp byte [0x180090345], 0
je 0x1800168ff
mov rdx, r15
call fcn.180002800
xorps xmm9, xmm9
test al, al
jne 0x180016874
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x1800168c6
mov rsi, qword [0x1800976e0]
mov rdx, r15
movsd qword [rbp + 0x70], xmm9
movups xmmword [rbp + 0x78], xmm9
call fcn.180002800
test al, al
je 0x1800168b3
mov rax, qword [r15]
test rax, rax
je 0x1800168b3
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800168b3
lea r8, [rbp + 0x70]
mov rdx, rsi
mov rcx, r15
call r9
movsd xmm6, qword [rbp + 0x80]
movsd xmm7, qword [rbp + 0x78]
movsd xmm8, qword [rbp + 0x70]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180016977
movups xmm0, xmmword [0x18008dd98]
movsd qword [rbp + 0x138], xmm8
movups xmmword [rbp + 0x120], xmm0
movsd qword [rbp + 0x140], xmm7
movsd qword [rbp + 0x148], xmm6
jmp 0x180016930
mov rdx, rbx
call fcn.180002800
xorps xmm9, xmm9
test al, al
je 0x180016977
movups xmm0, xmmword [0x18008dd98]
movsd qword [rbp + 0x148], xmm9
movups xmmword [rbp + 0x120], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x138], xmm0
movsd xmm1, qword [0x18008dda8]
mov rdx, rbx
mov rsi, qword [0x180097668]
movsd qword [rbp + 0x130], xmm1
call fcn.180002800
test al, al
je 0x180016977
mov rax, qword [rbx]
test rax, rax
je 0x180016977
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180016977
lea r8, [rbp + 0x120]
mov rdx, rsi
mov rcx, rbx
call r9
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001699c
movsd xmm0, qword [0x18008dd98]
addsd xmm0, xmm15
movsd qword [0x18008dd98], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180082630]
test ax, ax
je 0x1800169c8
movsd xmm0, qword [0x18008dd98]
addsd xmm0, xmm6
movsd qword [0x18008dd98], xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800169ec
movsd xmm0, qword [0x18008dda0]
addsd xmm0, xmm6
movsd qword [0x18008dda0], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180016a11
movsd xmm0, qword [0x18008dda0]
addsd xmm0, xmm15
movsd qword [0x18008dda0], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180016a36
movsd xmm0, qword [0x18008dda8]
addsd xmm0, xmm15
movsd qword [0x18008dda8], xmm0
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180016a5a
movsd xmm0, qword [0x18008dda8]
addsd xmm0, xmm6
movsd qword [0x18008dda8], xmm0
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180016a8e
movaps xmm0, xmmword [0x180082760]
movups xmmword [0x18008dd98], xmm0
movsd xmm0, qword [0x180082628]
movsd qword [0x18008dda8], xmm0
jmp 0x180016a8e
xorps xmm9, xmm9
cmp byte [0x18009742a], 0
je 0x180016aeb
mov rbx, qword [0x180090338]
movss xmm6, dword [0x18008ddb0]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180016aeb
mov rsi, qword [0x180097690]
mov rdx, rbx
movss dword [rbp + 0x18], xmm6
call fcn.180002800
test al, al
je 0x180016aeb
mov rax, qword [rbx]
test rax, rax
je 0x180016aeb
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180016aeb
lea r8, [rbp + 0x18]
mov rdx, rsi
mov rcx, rbx
call r9
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x180016b04
xor edi, edi
mov eax, edi
mov dword [rsp + 0x38], edi
mov r14d, edi
jmp 0x180016b19
mov r14d, dword [rdi + 0xa0]
mov rax, qword [rdi + 0x98]
xor edi, edi
mov dword [rsp + 0x38], r14d
movss xmm13, dword [0x180082610]
mov r12d, edi
movaps xmmword [rsp + 0x2f0], xmm11
xorps xmm10, xmm10
movaps xmmword [rsp + 0x2e0], xmm12
movaps xmmword [rsp + 0x2c0], xmm14
mov qword [rbp + 0x18], rax
test r14d, r14d
jle 0x180017490
movss xmm14, dword [0x1800827b0]
mov rsi, rdi
movsd xmm15, qword [0x1800825a0]
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x20], rdi
nop
mov rbx, qword [rax + rsi*8]
test rcx, rcx
je 0x18001746d
cmp rbx, rcx
je 0x18001746d
mov rdi, qword [0x180097678]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x18001730b
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x18001730b
nop word [rax + rax]
cmp rax, rdi
je 0x180016bc3
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180016bb0
jmp 0x18001730b
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180016c12
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180016c12
mov rcx, qword [rbx + 0x310]
test rcx, rcx
je 0x180016c12
mov rdx, qword [0x1800903b8]
mov r8d, 0x6a
call qword [0x180097630]
mov rax, qword [0x1800903b8]
movsd xmm0, qword [rax + 0x70]
movsd xmm1, qword [rax + 0x68]
movsd xmm2, qword [rax + 0x60]
jmp 0x180016c1b
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x50]
mov r8d, dword [0x180090340]
lea rdx, [rsp + 0x70]
xorps xmm9, xmm9
mov qword [rsp + 0x20], rax
mov rcx, r15
unpcklpd xmm9, xmm9
movsd qword [rbp + 0x50], xmm2
movsd qword [rbp + 0x58], xmm1
movsd qword [rbp + 0x60], xmm0
call fcn.180004480
movsd xmm7, qword [rsp + 0x70]
comisd xmm9, xmm7
mov ecx, dword [0x180090330]
mov eax, dword [0x180090340]
movsd xmm6, qword [rsp + 0x78]
jae 0x180016c84
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
jbe 0x180016ca1
comisd xmm9, xmm6
jae 0x180017464
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017464
comisd xmm9, xmm7
jae 0x180017464
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
ja 0x180017464
comisd xmm9, xmm6
jae 0x180017464
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017464
mov rcx, rbx
call fcn.18000fb40
cmp byte [0x180090344], 0
je 0x180016d34
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
call fcn.180002800
test al, al
jne 0x180016d01
xor edi, edi
jmp 0x180016d08
mov rdi, qword [rdi + 0x908]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180016d34
movss xmm0, dword [rdi + 0xb44]
addss xmm0, dword [rdi + 0xb40]
subss xmm0, dword [0x180082608]
movss dword [rdi + 0xb40], xmm0
mov eax, dword [0x180090340]
xorps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm0, eax
mov eax, dword [0x180090330]
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 [0x18008dc90]
comiss xmm0, xmm1
jbe 0x180016d93
comiss xmm13, xmm1
jbe 0x180016d93
movaps xmm13, xmm1
mov rdi, rbx
jmp 0x180016d95
xor edi, edi
mov rdx, r15
call fcn.180002800
test al, al
je 0x180016de0
mov rsi, qword [0x1800976e8]
mov rdx, r15
movsd qword [rbp + 0x50], xmm9
movups xmmword [rbp + 0x58], xmm9
call fcn.180002800
test al, al
je 0x180016de0
mov rax, qword [r15]
test rax, rax
je 0x180016de0
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180016de0
lea r8, [rbp + 0x50]
mov rdx, rsi
mov rcx, r15
call r9
mov rdx, rdi
call fcn.180002800
xor r15d, r15d
mov edx, r15d
test al, al
je 0x180016df9
mov rdx, qword [rdi + 0x190]
call fcn.180002800
mov rdx, rdi
call fcn.180002800
mov rdx, r15
test al, al
je 0x180016e14
mov rdx, qword [rdi + 0x190]
call fcn.180002800
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
call fcn.180002800
mov rcx, r15
test al, al
je 0x180016e34
mov rcx, qword [rsi + 0x908]
call fcn.180003880
mov rdx, rsi
call fcn.180002800
mov rcx, r15
test al, al
je 0x180016e4f
mov rcx, qword [rsi + 0x908]
call fcn.1800035e0
mov rdx, r13
movsd qword [rbp + 0x158], xmm9
movups xmmword [rbp + 0x160], xmm9
call fcn.180002800
mov rsi, r15
test al, al
je 0x180016e7b
mov rsi, qword [r13 + 0x1b8]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x180016e8c
mov rsi, r15
jmp 0x180016e90
mov rsi, qword [rsi + 0x38]
mov rdx, rsi
call fcn.180002800
test al, al
jne 0x180016ea1
mov rsi, r15
jmp 0x180016ea4
mov rsi, qword [rsi]
mov rdx, rsi
call fcn.180002800
mov rcx, r15
test al, al
je 0x180016eb7
mov rcx, qword [rsi + 0x30]
mov rax, qword [0x180097618]
lea r8, [rbp + 0x158]
mov rdx, rdi
call rax
cmp byte [0x1800903b4], 0
movzx r15d, al
je 0x1800170f1
movups xmm0, xmmword [0x180090380]
lea rdx, [rbp + 0x50]
movsd xmm1, qword [0x180090390]
movups xmmword [rbp + 0x50], xmm0
movsd qword [rbp + 0x60], xmm1
call fcn.180004eb0
test al, al
jne 0x180016f29
movups xmm0, xmmword [0x180090358]
lea rdx, [rbp - 0x30]
movsd xmm1, qword [0x180090368]
movups xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.180004eb0
test al, al
je 0x1800170f1
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180016f7a
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180016f7a
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x180016f7a
mov rdx, qword [0x1800903b8]
mov r8d, 0x6a
call qword [0x180097630]
mov rax, qword [0x1800903b8]
movsd xmm7, qword [rax + 0x60]
movsd xmm11, qword [rax + 0x68]
movsd xmm12, qword [rax + 0x70]
jmp 0x180016f85
xorps xmm12, xmm12
xorps xmm11, xmm11
xorps xmm7, xmm7
mov rdx, qword [rsp + 0x50]
call fcn.180002800
test al, al
jne 0x180016f9c
xorps xmm8, xmm8
xorps xmm6, xmm6
jmp 0x180016ff3
mov rdx, qword [rsp + 0x50]
mov rsi, qword [0x1800976e8]
movsd qword [rbp + 0x70], xmm9
movups xmmword [rbp + 0x78], xmm9
call fcn.180002800
test al, al
je 0x180016fdf
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x180016fdf
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180016fdf
lea r8, [rbp + 0x70]
mov rdx, rsi
call r9
movsd xmm8, qword [rbp + 0x70]
movsd xmm6, qword [rbp + 0x78]
movsd xmm9, qword [rbp + 0x80]
subsd xmm6, xmm11
subsd xmm8, xmm7
movaps xmm0, xmm6
divsd xmm0, xmm8
call fcn.18006be40
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 0x18001703d
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x180017045
movaps xmm0, xmm1
call fcn.18006e9e4
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm9, xmm1
movaps xmm0, xmm9
call fcn.18006be40
movaps xmm6, xmm0
xorps xmm9, xmm9
comisd xmm8, xmm9
mulsd xmm6, xmm15
mulsd xmm6, qword [0x180082620]
jb 0x18001707d
addsd xmm7, qword [0x1800825b0]
test r15b, r15b
je 0x1800170f1
mov rsi, qword [0x180090338]
mov rdx, rsi
call fcn.180002800
test al, al
je 0x1800170f1
mov r14, qword [0x180097680]
mov rdx, rsi
movsd qword [rbp + 0x180], xmm6
movsd qword [rbp + 0x188], xmm7
movsd qword [rbp + 0x190], xmm9
mov byte [rbp + 0x198], 0
call fcn.180002800
test al, al
je 0x1800170ec
mov rax, qword [rsi]
test rax, rax
je 0x1800170ec
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800170ec
lea r8, [rbp + 0x180]
mov rdx, r14
mov rcx, rsi
call r9
mov r14d, dword [rsp + 0x38]
cmp byte [0x180097421], 0
je 0x180017307
movups xmm0, xmmword [0x180090380]
lea rdx, [rbp + 0x50]
movsd xmm1, qword [0x180090390]
movups xmmword [rbp + 0x50], xmm0
movsd qword [rbp + 0x60], xmm1
call fcn.180004eb0
test al, al
jne 0x18001714c
movups xmm0, xmmword [0x180090358]
lea rdx, [rbp - 0x30]
movsd xmm1, qword [0x180090368]
movups xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.180004eb0
test al, al
je 0x180017307
mov rdx, rdi
call fcn.180002800
test al, al
je 0x18001719b
mov rdx, rdi
call fcn.180002800
test al, al
je 0x18001719b
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x18001719b
mov rdx, qword [0x1800903b8]
mov r8d, 0x6a
call qword [0x180097630]
mov rax, qword [0x1800903b8]
movsd xmm0, qword [rax + 0x70]
movsd xmm1, qword [rax + 0x68]
movsd xmm2, qword [rax + 0x60]
jmp 0x1800171a4
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x50]
mov r8d, dword [0x180090340]
lea rdx, [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
movsd qword [rbp + 0x50], xmm2
movsd qword [rbp + 0x58], xmm1
movsd qword [rbp + 0x60], xmm0
call fcn.180004480
test r15b, r15b
je 0x180017307
mov eax, dword [0x180090340]
movaps xmm3, xmm10
movsd xmm5, qword [rbp - 0x60]
cdq
movss xmm0, dword [0x18008ddb4]
sub eax, edx
mulss xmm0, dword [0x1800825e8]
movaps xmm6, xmm10
sar eax, 1
movsd xmm7, qword [rbp - 0x58]
cvtpd2ps xmm5, xmm5
movd xmm2, eax
mov eax, dword [0x180090330]
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 0x18001723b
je 0x180017295
comiss xmm5, xmm2
jbe 0x18001726d
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 0x18001726d
movaps xmm3, xmm10
comiss xmm2, xmm5
jbe 0x180017295
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 0x180017295
movaps xmm3, xmm10
ucomiss xmm7, xmm10
jp 0x18001729d
je 0x1800172f7
comiss xmm7, xmm4
jbe 0x1800172cf
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 0x1800172cf
movaps xmm6, xmm10
comiss xmm4, xmm7
jbe 0x1800172f7
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 0x1800172f7
movaps xmm6, xmm10
movaps xmm1, xmm3
call fcn.180004c20
movaps xmm1, xmm6
call fcn.180004980
mov rsi, qword [rbp + 0x20]
mov rdi, qword [0x180097678]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x18001733e
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x18001733e
cmp rax, rdi
je 0x180017337
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017327
jmp 0x18001733e
mov qword [0x180097d58], rbx
test rbx, rbx
je 0x180017464
cmp qword [0x180097d58], 0
je 0x180017464
mov rdi, qword [0x180097660]
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017464
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180017464
nop dword [rax]
cmp rax, rdi
je 0x180017393
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017380
jmp 0x180017464
cmp byte [0x180097424], 0
je 0x180017464
mov rdi, qword [0x180097d58]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x1800173f6
mov rdx, rdi
call fcn.180002800
test al, al
je 0x1800173f6
mov rcx, qword [rdi + 0x310]
test rcx, rcx
je 0x1800173f6
mov rdx, qword [0x1800903b8]
mov r8d, 0x6a
call qword [0x180097630]
mov rax, qword [0x1800903b8]
movsd xmm0, qword [rax + 0x70]
movupd xmm6, xmmword [rax + 0x60]
movsd qword [rbp + 0x60], xmm0
jmp 0x1800173ff
movsd qword [rbp + 0x60], xmm9
xorps xmm6, xmm6
mov rdx, rbx
call fcn.180002800
test al, al
je 0x180017464
movsd xmm0, qword [rbp + 0x60]
mov rdx, rbx
mov rdi, qword [0x1800976d0]
movsd qword [rbp + 0x168], xmm0
movups xmmword [rbp + 0x158], xmm6
mov byte [rbp + 0x170], 0
mov byte [rbp + 0x178], 1
call fcn.180002800
test al, al
je 0x180017464
mov rax, qword [rbx]
test rax, rax
je 0x180017464
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017464
lea r8, [rbp + 0x158]
mov rdx, rdi
mov rcx, rbx
call r9
mov rax, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
inc rsi
inc r12d
mov qword [rbp + 0x20], rsi
cmp r12d, r14d
jl 0x180016b70
movsd xmm15, qword [0x1800825a8]
xor edi, edi
cmp byte [0x180097426], 0
jne 0x1800174b8
cmp byte [0x180090346], 0
jne 0x1800174b8
cmp byte [0x180097431], 0
jne 0x1800174b8
cmp byte [0x180090337], 0
je 0x1800190af
lea rcx, [r13 + 0x178]
call fcn.18000f310
test eax, eax
je 0x1800174d1
mov eax, dword [r13 + 0x178]
jmp 0x1800174d4
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x18], eax
mov esi, edi
mov dword [rsp + 0x5c], edi
test eax, eax
je 0x1800190af
mov r12d, dword [0x18008d088]
lea rbx, [r13 + 0x170]
movaps xmm12, xmmword [0x180082740]
movsd xmm13, qword [0x180082558]
movss xmm14, dword [0x180082564]
mov r13, qword [rbp - 0x38]
mov qword [rsp + 0x60], rbx
mov rcx, rbx
call fcn.18000f310
test eax, eax
je 0x18001752b
mov rcx, qword [rbx]
mov qword [rbp - 0x18], rcx
jmp 0x18001752f
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1800190a0
lea ebx, [rsi*8]
add rbx, rcx
mov rcx, rbx
call fcn.18000f310
test eax, eax
je 0x180017557
mov rdi, qword [rbx]
mov qword [rbp - 0x10], rdi
jmp 0x18001755b
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x18001909b
lea rcx, [rdi + 0xa0]
call fcn.18000f310
test eax, eax
je 0x180017582
mov r14d, dword [rdi + 0xa0]
mov dword [rsp + 0x58], r14d
jmp 0x180017587
mov r14d, dword [rsp + 0x58]
lea rcx, [rdi + 0x98]
call fcn.18000f310
test eax, eax
je 0x1800175a4
mov rdx, qword [rdi + 0x98]
mov qword [rbp - 0x40], rdx
jmp 0x1800175a8
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x18001909b
xor eax, eax
mov dword [rsp + 0x38], eax
test r14d, r14d
je 0x18001909b
lea ebx, [rax*8]
add rbx, rdx
mov rcx, rbx
call fcn.18000f310
test eax, eax
je 0x1800175d9
mov r13, qword [rbx]
mov r14, qword [rbx]
test r13, r13
je 0x18001907f
test r14, r14
je 0x18001907f
mov rsi, qword [rsp + 0x30]
cmp r14, rsi
je 0x18001907f
lea rcx, [r13 + 0x18]
call fcn.18000f310
lea rcx, [r13 + 0x190]
call fcn.18000f310
test eax, eax
je 0x180017622
mov rdi, qword [r13 + 0x190]
mov qword [rbp - 0x50], rdi
jmp 0x180017626
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x18001907f
lea rcx, [rdi + 0x128]
call fcn.18000f310
test eax, eax
je 0x180017650
movups xmm0, xmmword [rdi + 0x128]
movsd xmm1, qword [rdi + 0x138]
jmp 0x18001765c
movsd xmm1, qword [rbp + 0x80]
movups xmm0, xmmword [rbp + 0x70]
mov r15, qword [rsp + 0x50]
lea rax, [rbp + 0x20]
mov r9d, dword [0x180090330]
lea rdx, [rbp + 0x70]
mov r8d, dword [0x180090340]
mov rcx, r15
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm1
mov qword [rsp + 0x20], rax
call fcn.180004480
mov rbx, qword [0x180097678]
mov rdx, rsi
call fcn.180002800
test al, al
je 0x1800176be
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1800176be
nop dword [rax]
cmp rax, rbx
je 0x1800176eb
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1800176b0
xorps xmm11, xmm11
lea rcx, [r13 + 0x190]
unpcklpd xmm11, xmm11
call fcn.18000f310
test eax, eax
je 0x18001790e
mov rax, qword [r13 + 0x190]
mov qword [rbp - 0x38], rax
jmp 0x180017912
cmp qword [0x180090338], 0
je 0x1800176be
cmp byte [0x180090337], 0
je 0x1800176be
mov rbx, qword [0x180097678]
mov rdx, r14
call fcn.180002800
test al, al
je 0x1800176be
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x1800176be
nop word [rax + rax]
cmp rax, rbx
je 0x180017730
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017720
jmp 0x1800176be
mov rax, qword [0x180097588]
test rax, rax
jne 0x1800177fb
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x1800177d8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1800177d8
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
mov ecx, 0x811c9dc5
add rdx, r9
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800177d3
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800177b0
cmp ecx, 0x95466b05
je 0x18001785e
test r8d, r8d
jne 0x180017790
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x1800177ee
cmp qword [rax + 0x30], 0
jne 0x180017760
xor eax, eax
mov rdi, qword [rbp - 0x50]
mov qword [0x180097588], rax
mov ecx, 0xa0
call rax
test ax, ax
je 0x1800176be
mov rdx, r14
call fcn.180002800
test al, al
je 0x18001787d
mov rdx, r14
call fcn.180002800
test al, al
je 0x18001787d
mov rcx, qword [r14 + 0x310]
test rcx, rcx
je 0x18001787d
mov rdx, qword [0x1800903b8]
mov r8d, 8
call qword [0x180097630]
mov rax, qword [0x1800903b8]
xorps xmm11, xmm11
movsd xmm0, qword [rax + 0x70]
movupd xmm6, xmmword [rax + 0x60]
movsd qword [rbp + 0x30], xmm0
jmp 0x18001788a
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + r8*4]
add rax, r9
jmp 0x1800177f0
xorps xmm11, xmm11
xorps xmm6, xmm6
movsd qword [rbp + 0x30], xmm11
mov rdx, rsi
call fcn.180002800
test al, al
je 0x1800178ef
movsd xmm0, qword [rbp + 0x30]
mov rdx, rsi
mov rbx, qword [0x1800976d0]
movsd qword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x138], 0
mov byte [rbp + 0x140], 1
call fcn.180002800
test al, al
je 0x1800178ef
mov rax, qword [rsi]
test rax, rax
je 0x1800178ef
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800178ef
lea r8, [rbp + 0x120]
mov rdx, rbx
mov rcx, rsi
call r9
movaps xmm0, xmmword [0x180082750]
lea rdx, [rbp + 0x20]
movups xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm11
call fcn.1800048e0
jmp 0x1800176c2
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x18001907f
lea rcx, [rdi + 0x128]
call fcn.18000f310
test eax, eax
je 0x18001793e
movups xmm8, xmmword [rdi + 0x128]
movsd xmm9, qword [rdi + 0x138]
jmp 0x18001794c
movsd xmm9, qword [rbp + 0x80]
movups xmm8, xmmword [rbp + 0x70]
mov rdx, r15
call fcn.180002800
test al, al
je 0x180017997
mov rbx, qword [0x1800976e8]
mov rdx, r15
movsd qword [rbp + 0x20], xmm11
movups xmmword [rbp + 0x28], xmm11
call fcn.180002800
test al, al
je 0x180017997
mov rax, qword [r15]
test rax, rax
je 0x180017997
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017997
lea r8, [rbp + 0x20]
mov rdx, rbx
mov rcx, r15
call r9
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x20]
mov r8d, dword [0x180090340]
lea rdx, [rbp + 0x180]
mov rcx, r15
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x20], xmm8
movsd qword [rbp + 0x30], xmm9
call fcn.180004480
mov rbx, qword [0x1800976c8]
mov rdx, r14
call fcn.180002800
test al, al
je 0x180017fc4
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x180017fc4
nop dword [rax]
cmp rax, rbx
je 0x180017a03
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1800179f0
jmp 0x180017fc4
test rsi, rsi
je 0x180017fc4
cmp byte [0x180090346], 0
je 0x180017fc4
mov rax, qword [0x180097588]
test rax, rax
jne 0x180017ad7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180017ab8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180017ab8
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r10 + r8*4]
mov edx, dword [rcx + r9]
mov ecx, 0x811c9dc5
add rdx, r9
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180017ab3
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180017a90
cmp ecx, 0x95466b05
je 0x180017d34
test r8d, r8d
jne 0x180017a70
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x180017ace
cmp qword [rax + 0x30], 0
jne 0x180017a40
xor eax, eax
mov qword [0x180097588], rax
mov ecx, 6
call rax
test ax, ax
je 0x180017c15
mov rax, qword [0x180097588]
test rax, rax
jne 0x180017ba7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180017b88
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180017b88
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
mov ecx, 0x811c9dc5
add rdx, r9
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180017b83
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180017b60
cmp ecx, 0x95466b05
je 0x180017d53
test r8d, r8d
jne 0x180017b40
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x180017b9e
cmp qword [rax + 0x30], 0
jne 0x180017b10
xor eax, eax
mov qword [0x180097588], rax
mov ecx, 0x45
call rax
test ax, ax
jne 0x180017c15
mov rdx, rsi
call fcn.180002800
test al, al
je 0x180017c15
mov rbx, qword [0x1800976d0]
mov rdx, rsi
movups xmmword [rbp + 0x120], xmm8
mov byte [rbp + 0x138], 0
movsd qword [rbp + 0x130], xmm9
mov byte [rbp + 0x140], 1
call fcn.180002800
test al, al
je 0x180017c15
mov rax, qword [rsi]
test rax, rax
je 0x180017c15
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017c15
lea r8, [rbp + 0x120]
mov rdx, rbx
mov rcx, rsi
call r9
cmp byte [0x18007d72f], 0
mov rax, qword [str.i_EZV:_a_f]
mov qword [rbp + 0x20], rax
je 0x180017db4
cmp r12d, 2
jl 0x180017d72
movdqa xmm2, xmmword [0x1800826b0]
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x20]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x20], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x24]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.3333333333333333]
xorps xmm2, xmm0
movd dword [rbp + 0x24], xmm2
jmp 0x180017db4
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + r8*4]
add rax, r9
jmp 0x180017ad0
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + r8*4]
add rax, r9
jmp 0x180017ba0
xor eax, eax
lea r9, [rbp + 0x20]
mov r8d, eax
nop dword [rax + rax]
mov eax, 0x92492493
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, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x180017d80
lea rbx, [0x180098500]
mov rcx, rbx
lea rdx, [rbp + 0x20]
call fcn.180001320
movzx edx, byte [0x180098500]
xor r8d, r8d
mov ecx, r8d
test dl, dl
je 0x180017df6
lea r9, [0x180097e70]
nop
movsx eax, dl
mov word [r9 + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x180017de0
movsd xmm7, qword [rbp + 0x180]
lea rdx, [0x180097e70]
comisd xmm11, xmm7
mov eax, dword [0x180090340]
mov word [rdx + rcx*2], r8w
mov ecx, dword [0x180090330]
movsd xmm6, qword [rbp + 0x188]
jae 0x180017e33
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
jbe 0x180017e50
comisd xmm11, xmm6
jae 0x180017fc4
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017fc4
comisd xmm11, xmm7
jae 0x180017fc4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm7, xmm0
ja 0x180017fc4
comisd xmm11, xmm6
jae 0x180017fc4
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm6, xmm0
ja 0x180017fc4
cmp word [0x180097e70], r8w
je 0x180017eaf
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp word [rdx + rcx*2], r8w
jne 0x180017ea0
inc rcx
jmp 0x180017eb2
mov rcx, r8
mov rbx, qword [0x180090348]
mov rax, rdx
test ecx, ecx
mov dword [rbp], ecx
mov rdx, rbx
mov dword [rbp + 4], ecx
cmove rax, r8
mov qword [rbp - 8], rax
call fcn.180002800
test al, al
je 0x180017fc4
movups xmm0, xmmword [rbp - 8]
mov rax, qword [0x180097658]
mov rdx, rbx
mov rdi, qword [0x180097640]
movsd qword [rbp + 0xa8], xmm7
addsd xmm7, xmm13
movsd qword [rbp + 0xb0], xmm6
addsd xmm6, xmm13
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0x90], rax
movaps xmm0, xmmword [0x180082640]
movsd qword [rbp + 0xf0], xmm7
movsd qword [rbp + 0xf8], xmm6
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xb8], xmm12
mov dword [rbp + 0xc8], 0x437f0000
mov dword [rbp + 0xcc], 0x437f0000
mov qword [rbp + 0xe0], 0
mov dword [rbp + 0xe8], 0
mov word [rbp + 0x100], 0x101
mov byte [rbp + 0x102], 0
mov qword [rbp + 0x104], 0
mov dword [rbp + 0x10c], 0
mov dword [rbp + 0x110], 0x3f800000
call fcn.180002800
test al, al
je 0x180017fc4
mov rax, qword [rbx]
test rax, rax
je 0x180017fc4
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180017fc4
lea r8, [rbp + 0x90]
mov rdx, rdi
mov rcx, rbx
call r9
mov rbx, qword [0x1800976b0]
mov rdx, r14
call fcn.180002800
test al, al
je 0x180018086
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x180018086
cmp rax, rbx
je 0x180017ffb
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180017fe8
jmp 0x180018086
test rsi, rsi
je 0x180018086
cmp byte [0x180097431], 0
je 0x180018086
mov rdi, qword [rbp - 0x48]
mov rdx, rdi
call fcn.180002800
test al, al
je 0x180018078
mov rbx, qword [0x180097668]
xorps xmm0, xmm0
mov rdx, rdi
movsd qword [rbp + 0x148], xmm11
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x120], xmm8
movsd qword [rbp + 0x130], xmm9
call fcn.180002800
test al, al
je 0x180018078
mov rax, qword [rdi]
test rax, rax
je 0x180018078
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018078
lea r8, [rbp + 0x120]
mov rdx, rbx
mov rcx, rdi
call r9
cmp byte [0x180097431], 0
sete byte [0x180097431]
mov rdx, r15
call fcn.180002800
test al, al
jne 0x1800180a5
xorps xmm8, xmm8
xorps xmm9, xmm9
unpckhpd xmm9, xmm8
movaps xmm7, xmm11
jmp 0x1800180f5
mov rbx, qword [0x1800976e8]
mov rdx, r15
movsd qword [rbp + 0x20], xmm11
movups xmmword [rbp + 0x28], xmm11
call fcn.180002800
test al, al
je 0x1800180e4
mov rax, qword [r15]
test rax, rax
je 0x1800180e4
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800180e4
lea r8, [rbp + 0x20]
mov rdx, rbx
mov rcx, r15
call r9
movsd xmm8, qword [rbp + 0x28]
movsd xmm9, qword [rbp + 0x30]
movsd xmm7, qword [rbp + 0x20]
mov rdx, r14
call fcn.180002800
xor edi, edi
mov ebx, edi
test al, al
je 0x18001810c
mov rbx, qword [r14 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180018121
xorps xmm6, xmm6
movaps xmm10, xmm11
jmp 0x180018139
movsd xmm0, qword [rbx + 0x138]
movups xmm6, xmmword [rbx + 0x128]
movaps xmm10, xmm0
movsd qword [rbp + 0x30], xmm0
movaps xmm0, xmm6
movaps xmm1, xmm14
subsd xmm0, xmm7
cvtsd2ss xmm0, xmm0
call fcn.18006cde0
movaps xmm7, xmm0
unpckhpd xmm6, xmm6
subsd xmm6, xmm8
xorps xmm0, xmm0
movaps xmm1, xmm14
cvtsd2ss xmm0, xmm6
call fcn.18006cde0
addss xmm7, xmm0
movaps xmm1, xmm14
subsd xmm10, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
call fcn.18006cde0
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x180018198
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x1800181a0
movaps xmm0, xmm7
call fcn.18006e9e4
cmp byte [0x18009742c], 0
cvtss2sd xmm0, xmm0
divsd xmm0, xmm15
cvttsd2si esi, xmm0
je 0x1800185e8
lea rcx, [r13 + 0x1032]
call fcn.18000f310
test eax, eax
je 0x1800181d8
movzx ebx, byte [r13 + 0x1032]
mov byte [rsp + 0x3c], bl
jmp 0x1800181dd
movzx ebx, byte [rsp + 0x3c]
movsd xmm0, qword [0x18007da20]
mov r8d, edi
movzx eax, word [0x18007da28]
movsd qword [rbp + 0x30], xmm0
mov word [rbp + 0x38], ax
movups xmm3, xmmword [str.g_PDR_fySYNJ_]
movups xmmword [rbp + 0x20], xmm3
cmp r12d, 2
jl 0x1800182f4
movdqa xmm2, xmmword [0x1800826b0]
mov r8d, 8
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x1800826c0]
paddw xmm2, xmmword [0x1800826e0]
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movq qword [rbp + 0x20], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x28]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1800826e0]
xorps xmm2, xmm0
movq qword [rbp + 0x28], xmm2
movsxd rax, r8d
lea r9, [rbp + 0x20]
lea r9, [r9 + rax*2]
nop
mov eax, 0x92492493
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, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x33
xor word [r9 - 2], ax
cmp r8d, 0xd
jl 0x180018300
mov rcx, r14
call fcn.1800042e0
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1800432b8
test rax, rax
je 0x1800185e8
test bl, bl
jne 0x1800185e8
cmp esi, 0x32
jge 0x1800185e8
movzx ecx, word [0x180081d38]
lea rbx, [0x180098790]
movzx eax, byte [0x180081d3a]
lea rdx, [rsp + 0x40]
movsd xmm0, qword [str.pPEC]
xor al, 0x3d
movsd qword [rsp + 0x40], xmm0
mov r8d, esi
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
mov word [rsp + 0x48], cx
xor cl, 0x3b
xor byte [rsp + 0x49], 0x3c
mov byte [rsp + 0x48], cl
mov rcx, rbx
mov byte [rsp + 0x40], 0x43
mov byte [rsp + 0x4a], al
call fcn.180001320
movzx edx, byte [0x180098790]
lea r8, [0x180098810]
mov rcx, rdi
test dl, dl
je 0x180018406
nop dword [rax]
movsx eax, dl
mov word [r8 + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x1800183f0
mov rdx, r14
mov word [r8 + rcx*2], di
call fcn.180002800
mov rbx, rdi
test al, al
je 0x180018421
mov rbx, qword [r14 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x18001843c
movsd qword [rbp + 0x30], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x18001844b
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x20]
mov r8d, dword [0x180090340]
lea rdx, [rbp - 0x30]
mov rcx, r15
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm1
call fcn.180004480
cmp word [0x180098810], 0
lea rax, [0x180098810]
je 0x18001849f
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rax + rcx*2], 0
jne 0x180018490
inc rcx
jmp 0x1800184a2
mov rcx, rdi
mov rbx, qword [0x180090348]
test ecx, ecx
movss xmm6, dword [0x180081460]
mov rdx, rbx
movss xmm7, dword [0x180081464]
cmove rax, rdi
movss xmm8, dword [0x180081468]
movss xmm9, dword [0x18008146c]
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x14], ecx
call fcn.180002800
test al, al
je 0x1800185e8
movups xmm0, xmmword [rbp + 8]
mov rdx, rbx
mov rax, qword [0x180097658]
movsd xmm1, qword [rbp - 0x30]
mov rdi, qword [0x180097640]
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0x90], rax
movsd xmm0, qword [rbp - 0x28]
movsd qword [rbp + 0xb0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xa8], xmm1
addsd xmm1, xmm13
movss dword [rbp + 0xc8], xmm6
movss dword [rbp + 0xcc], xmm7
movss dword [rbp + 0xd0], xmm8
movsd qword [rbp + 0xf8], xmm0
movss dword [rbp + 0xd4], xmm9
movsd qword [rbp + 0xf0], xmm1
movups xmmword [rbp + 0xb8], xmm12
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0
mov dword [rbp + 0xe8], 0
mov word [rbp + 0x100], 0x101
mov byte [rbp + 0x102], 1
mov qword [rbp + 0x104], 0
mov dword [rbp + 0x10c], 0
mov dword [rbp + 0x110], 0x3f800000
call fcn.180002800
test al, al
je 0x1800185e8
mov rax, qword [rbx]
test rax, rax
je 0x1800185e8
mov r9, qword [rax + 0x268]
test r9, r9
je 0x1800185e8
lea r8, [rbp + 0x90]
mov rdx, rdi
mov rcx, rbx
call r9
cmp byte [0x180097425], 0
je 0x180018b21
movups xmm7, xmmword [str.eQ__TT:]
pextrw eax, xmm7, 7
movups xmmword [rbp + 0x20], xmm7
test ax, ax
je 0x180018701
cmp r12d, 2
jl 0x18001891c
movdqa xmm2, xmmword [0x1800826b0]
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm1, xmm2
movdqa xmm6, xmmword [0x1800826e0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm6
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm7
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x1800826c0]
xorps xmm3, xmm1
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp + 0x20], xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm6
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp + 0x28], xmm3
xor edi, edi
mov rcx, r14
call fcn.1800042e0
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1800432b8
test rax, rax
je 0x180018b21
cmp esi, 0x32
jge 0x180018b21
mov eax, dword [0x18007dad0]
mov r8d, edi
movsd xmm0, qword [str.eQ__TT_]
mov dword [rbp - 0x78], eax
movzx eax, byte [0x18007dad4]
mov byte [rbp - 0x74], al
movsd qword [rbp - 0x80], xmm0
cmp r12d, 2
jl 0x18001885d
movdqa xmm2, xmmword [0x1800826b0]
mov r8d, 8
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
mov eax, dword [str.3333333333333333]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.eQ__TT_]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
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 word [rax + rax]
mov eax, 0x92492493
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, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x180018870
lea rbx, [0x180097ff0]
mov r8d, esi
mov rcx, rbx
lea rdx, [rbp - 0x80]
call fcn.180001320
movzx edx, byte [0x180097ff0]
lea r8, [0x180098300]
mov rcx, rdi
test dl, dl
je 0x1800188e6
nop
movsx eax, dl
mov word [r8 + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x1800188d0
mov rdx, r14
mov word [r8 + rcx*2], di
call fcn.180002800
mov rbx, rdi
test al, al
je 0x180018901
mov rbx, qword [r14 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x18001896d
movsd qword [rbp + 0x30], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x18001897c
xor edi, edi
lea r9, [rbp + 0x20]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x92492493
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, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x33
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x180018930
jmp 0x180018703
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x20]
mov r8d, dword [0x180090340]
lea rdx, [rbp + 0x158]
mov rcx, r15
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm1
call fcn.180004480
cmp word [0x180098300], 0
lea rax, [0x180098300]
je 0x1800189d2
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1800189c3
inc rcx
jmp 0x1800189d5
mov rcx, rdi
mov rbx, qword [0x180090348]
test ecx, ecx
movss xmm6, dword [0x1800814a0]
mov rdx, rbx
movss xmm7, dword [0x1800814a4]
cmove rax, rdi
movss xmm8, dword [0x1800814a8]
movss xmm9, dword [0x1800814ac]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], ecx
mov dword [rbp - 0x54], ecx
call fcn.180002800
test al, al
je 0x180018b21
movups xmm0, xmmword [rbp - 0x60]
mov rdx, rbx
mov rax, qword [0x180097658]
movsd xmm1, qword [rbp + 0x158]
mov rdi, qword [0x180097640]
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0x90], rax
movsd xmm0, qword [rbp + 0x160]
movsd qword [rbp + 0xb0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xa8], xmm1
addsd xmm1, xmm13
movss dword [rbp + 0xc8], xmm6
movss dword [rbp + 0xcc], xmm7
movss dword [rbp + 0xd0], xmm8
movsd qword [rbp + 0xf8], xmm0
movss dword [rbp + 0xd4], xmm9
movsd qword [rbp + 0xf0], xmm1
movups xmmword [rbp + 0xb8], xmm12
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0
mov dword [rbp + 0xe8], 0
mov word [rbp + 0x100], 0x101
mov byte [rbp + 0x102], 1
mov qword [rbp + 0x104], 0
mov dword [rbp + 0x10c], 0
mov dword [rbp + 0x110], 0x3f800000
call fcn.180002800
test al, al
je 0x180018b21
mov rax, qword [rbx]
test rax, rax
je 0x180018b21
mov r9, qword [rax + 0x268]
test r9, r9
je 0x180018b21
lea r8, [rbp + 0x90]
mov rdx, rdi
mov rcx, rbx
call r9
cmp byte [0x180097427], 0
je 0x18001907f
mov eax, dword [0x180082160]
xor edi, edi
mov dword [rbp + 0x40], eax
mov r8d, edi
movzx eax, word [0x180082164]
mov word [rbp + 0x44], ax
movups xmm0, xmmword [str.g_PDR_fVQRa4___E]
movups xmm1, xmmword [0x180082150]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm1
cmp r12d, 2
jl 0x180018c89
movdqa xmm5, xmmword [0x1800826b0]
lea rcx, [rbp + 0x20]
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm6, xmmword [0x1800826d0]
movdqa xmm7, xmmword [0x1800826e0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm7
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm7
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 0x180018b90
cmp r8d, 0x13
jge 0x180018cd8
movsxd rax, r8d
lea r9, [rbp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x92492493
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, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x33
xor word [r9 - 2], ax
cmp r8d, 0x13
jl 0x180018ca0
mov rcx, r14
call fcn.1800042e0
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1800432b8
test rax, rax
je 0x18001907f
cmp esi, 0x32
jge 0x18001907f
mov eax, dword [0x180081890]
mov r8d, edi
movsd xmm0, qword [str.rYXYuWA]
mov dword [rbp - 0x68], eax
movzx eax, byte [0x180081894]
mov byte [rbp - 0x64], al
movsd qword [rbp - 0x70], xmm0
cmp r12d, 2
jl 0x180018e32
movdqa xmm2, xmmword [0x1800826b0]
mov r8d, 8
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
mov eax, dword [str.3333333333333333]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.rYXYuWA]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
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
nop dword [rax]
mov eax, 0x92492493
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, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x180018e40
lea rbx, [0x180097b50]
mov r8d, esi
mov rcx, rbx
lea rdx, [rbp - 0x70]
call fcn.180001320
movzx edx, byte [0x180097b50]
lea rsi, [0x180098600]
mov rcx, rdi
test dl, dl
je 0x180018eb5
nop
movsx eax, dl
mov word [rsi + rcx*2], ax
inc rcx
movzx eax, byte [rcx + rbx]
movzx edx, al
test al, al
jne 0x180018ea0
mov rdx, r14
mov word [rsi + rcx*2], di
call fcn.180002800
mov rbx, rdi
test al, al
je 0x180018ecf
mov rbx, qword [r14 + 0x190]
mov rdx, rbx
call fcn.180002800
test al, al
jne 0x180018eea
movsd qword [rbp + 0x30], xmm11
xorps xmm0, xmm0
movaps xmm1, xmm11
jmp 0x180018ef9
movups xmm0, xmmword [rbx + 0x128]
movsd xmm1, qword [rbx + 0x138]
mov r9d, dword [0x180090330]
lea rax, [rbp + 0x20]
mov r8d, dword [0x180090340]
lea rdx, [rbp + 0x50]
mov rcx, r15
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x20], xmm0
movsd qword [rbp + 0x30], xmm1
call fcn.180004480
cmp word [0x180098600], di
je 0x180018f43
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rsi + rcx*2], di
jne 0x180018f35
inc rcx
jmp 0x180018f46
mov rcx, rdi
mov rbx, qword [0x180090348]
test ecx, ecx
movss xmm6, dword [0x1800814d0]
mov rax, rsi
movss xmm7, dword [0x1800814d4]
cmove rax, rdi
movss xmm8, dword [0x1800814d8]
mov rdx, rbx
movss xmm9, dword [0x1800814dc]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], ecx
call fcn.180002800
test al, al
je 0x18001907f
movups xmm0, xmmword [rsp + 0x70]
mov rdx, rbx
mov rax, qword [0x180097658]
movsd xmm1, qword [rbp + 0x50]
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xd8], rdi
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp + 0xb0], xmm0
addsd xmm0, xmm13
movsd qword [rbp + 0xa8], xmm1
addsd xmm1, xmm13
mov qword [rbp + 0xe0], rdi
mov dword [rbp + 0xe8], edi
mov qword [rbp + 0x104], rdi
mov dword [rbp + 0x10c], edi
mov rdi, qword [0x180097640]
movsd qword [rbp + 0xf8], xmm0
movss dword [rbp + 0xc8], xmm6
movss dword [rbp + 0xcc], xmm7
movss dword [rbp + 0xd0], xmm8
movss dword [rbp + 0xd4], xmm9
movsd qword [rbp + 0xf0], xmm1
mov qword [rbp + 0x90], rax
movups xmmword [rbp + 0xb8], xmm12
mov word [rbp + 0x100], 0x101
mov byte [rbp + 0x102], 1
mov dword [rbp + 0x110], 0x3f800000
call fcn.180002800
test al, al
je 0x18001907f
mov rax, qword [rbx]
test rax, rax
je 0x18001907f
mov r9, qword [rax + 0x268]
test r9, r9
je 0x18001907f
lea r8, [rbp + 0x90]
mov rdx, rdi
mov rcx, rbx
call r9
mov eax, dword [rsp + 0x38]
mov rdx, qword [rbp - 0x40]
inc eax
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x58]
jb 0x1800175c0
mov esi, dword [rsp + 0x5c]
mov rbx, qword [rsp + 0x60]
inc esi
mov dword [rsp + 0x5c], esi
cmp esi, dword [rbp + 0x18]
jb 0x180017516
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm12, xmmword [rsp + 0x2e0]
movaps xmm11, xmmword [rsp + 0x2f0]
movaps xmm9, xmmword [rsp + 0x310]
movaps xmm8, xmmword [rsp + 0x320]
movaps xmm7, xmmword [rsp + 0x330]
movaps xmm6, xmmword [rsp + 0x340]
mov r15, qword [rsp + 0x388]
mov rsi, qword [rsp + 0x380]
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.180041300
lea r11, [rsp + 0x350]
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