Function at 0x1800070c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x510]
sub rsp, 0x610
movaps xmmword [rsp + 0x5b0], xmm11
mov r14, rcx
movaps xmmword [rsp + 0x580], xmm14
call fcn.1800287c0
cmp byte [0x180055684], 0
jne 0x180007127
mov ecx, 0x24
call fcn.18003c110
test al, al
je 0x18000711e
mov byte [0x180055684], 1
jmp 0x180007148
cmp byte [0x180055684], 0
je 0x180007148
mov ecx, 0x24
call fcn.18003c110
test al, al
jne 0x180007148
cmp byte [0x180054036], al
mov byte [0x180055684], al
sete byte [0x180054036]
movsxd rdi, dword [0x180054080]
lea r12, [0x180000000]
cmp byte [rdi + r12 + 0x55660], 0
jne 0x180007182
mov ecx, edi
call fcn.18003c110
test al, al
je 0x180007177
mov byte [rdi + r12 + 0x55660], 1
jmp 0x1800071be
cmp byte [rdi + r12 + 0x55660], 0
je 0x1800071be
mov ecx, edi
call fcn.18003c110
test al, al
jne 0x1800071be
cmp byte [0x18005587e], al
mov rcx, qword [0x1800557a0]
mov byte [rdi + r12 + 0x55660], al
jne 0x1800071b2
mov byte [0x18005587e], 1
call fcn.180041d80
jmp 0x1800071be
mov byte [0x18005587e], 0
call fcn.1800183d0
movsxd rsi, dword [0x180054074]
xor ebx, ebx
movss xmm14, dword [0x18004fd00]
movabs r15, 0x7ffffef00000
movaps xmmword [rsp + 0x600], xmm6
xorps xmm11, xmm11
movaps xmmword [rsp + 0x5f0], xmm7
lea r13d, [rbx + 8]
movaps xmmword [rsp + 0x5e0], xmm8
movaps xmmword [rsp + 0x5d0], xmm9
cmp byte [rsi + r12 + 0x55660], bl
jne 0x180007235
mov ecx, esi
call fcn.18003c110
test al, al
je 0x180007227
mov byte [rsi + r12 + 0x55660], 1
jmp 0x1800076e0
cmp byte [rsi + r12 + 0x55660], bl
je 0x1800076e0
mov ecx, esi
call fcn.18003c110
test al, al
jne 0x1800076e0
mov rdx, qword [0x180055798]
mov rcx, qword [0x1800557e0]
mov byte [rsi + r12 + 0x55660], bl
call fcn.18001bde0
mov edx, 8
mov rcx, rax
mov r13, rax
call fcn.18003b360
test eax, eax
jne 0x1800076da
mov rcx, qword [0x1800557c0]
lea edx, [rax + 8]
call fcn.18003b360
test eax, eax
jne 0x1800076da
mov rax, qword [0x180055798]
mov rsi, rbx
mov rdx, qword [0x1800f6190]
mov edi, ebx
mov rcx, qword [0x1800557e0]
mov qword [rsp + 0x60], rax
mov rax, qword [0x1800557f8]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
test rdx, rdx
je 0x1800072e7
mov rax, qword [rcx]
lea r8, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call qword [rax + 0x260]
mov edi, dword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov edx, 8
mov rcx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e77b
mov r15d, ebx
test edi, edi
jle 0x1800076b8
movaps xmmword [rsp + 0x5a0], xmm12
mov r14, rsi
movsd xmm12, qword [0x18004fca0]
movabs rcx, 0x7ffffef00000
movaps xmmword [rsp + 0x590], xmm13
movsd xmm13, qword [0x18004fa30]
movaps xmmword [rsp + 0x5c0], xmm10
mov r12d, edi
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r14]
lea rax, [rdi - 0x1000000]
cmp rax, rcx
ja 0x180007681
mov rax, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rcx, rdi
lea r8d, [r9 + 0x30]
call rax
test rax, rax
je 0x180007677
mov eax, dword [rbp - 0x2c]
cmp eax, 1
je 0x180007677
cmp eax, 0x10
je 0x180007677
cmp qword [rbp - 0x38], 8
jb 0x180007677
mov rdx, qword [0x1800f6138]
xorps xmm0, xmm0
movsd qword [rbp - 0x40], xmm11
movups xmmword [rbp - 0x50], xmm0
test rdx, rdx
je 0x1800073d9
mov rax, qword [rdi]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rcx, rdi
call qword [rax + 0x260]
mov ecx, dword [0x18014e5c0]
add rcx, rdi
call fcn.180001300
mov rsi, rax
lea rcx, [rax - 0x1000000]
movabs rax, 0x7ffffef00000
cmp rcx, rax
ja 0x180007707
mov r10, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
lea r8d, [r9 + 0x30]
call r10
test rax, rax
je 0x180007677
mov eax, dword [rbp - 0x2c]
cmp eax, 1
je 0x180007677
cmp eax, 0x10
je 0x180007677
cmp qword [rbp - 0x38], 8
jb 0x180007677
mov ecx, dword [0x18014e5c4]
add rcx, rsi
call fcn.180001300
mov rsi, rax
lea rcx, [rax - 0x1000000]
movabs rax, 0x7ffffef00000
cmp rcx, rax
ja 0x180007707
mov r10, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
lea r8d, [r9 + 0x30]
call r10
test rax, rax
je 0x180007677
mov eax, dword [rbp - 0x2c]
cmp eax, 1
je 0x180007677
cmp eax, 0x10
je 0x180007677
cmp qword [rbp - 0x38], 8
jb 0x180007677
mov ecx, dword [0x18014e5c8]
add rcx, rsi
call fcn.180001300
test eax, eax
jle 0x180007677
mov rdx, rax
mov rcx, r13
call fcn.18001ef80
mov rsi, rax
lea rcx, [rax - 0x1000000]
movabs rax, 0x7ffffef00000
cmp rcx, rax
ja 0x180007707
mov r10, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
lea r8d, [r9 + 0x30]
call r10
test rax, rax
je 0x180007677
mov eax, dword [rbp - 0x2c]
cmp eax, 1
je 0x180007677
cmp eax, 0x10
je 0x180007677
cmp qword [rbp - 0x38], 8
jb 0x180007677
cmp byte [rsi + 0x61], 0x1b
jne 0x180007677
mov rdx, qword [0x1800f6140]
xorps xmm0, xmm0
mov rcx, qword [0x1800557c0]
movsd qword [rbp - 0x40], xmm11
movups xmmword [rbp - 0x50], xmm0
test rdx, rdx
je 0x18000757e
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call qword [rax + 0x260]
movsd xmm6, qword [rbp - 0x48]
mulsd xmm6, xmm13
movaps xmm0, xmm6
call fcn.180040470
movaps xmm8, xmm0
movaps xmm0, xmm6
call fcn.1800403d0
movsd xmm6, qword [rbp - 0x50]
movaps xmm7, xmm0
mulsd xmm6, xmm13
movaps xmm0, xmm6
call fcn.180040470
movaps xmm10, xmm0
movaps xmm0, xmm6
call fcn.1800403d0
mov rdx, qword [0x1800f6138]
movaps xmm6, xmm0
mov rcx, qword [0x1800557c0]
movaps xmm9, xmm0
mulsd xmm9, xmm7
xorps xmm0, xmm0
mulsd xmm6, xmm8
movaps xmm1, xmm11
movsd qword [rbp - 0x40], xmm1
mulsd xmm9, xmm12
mulsd xmm10, xmm12
mulsd xmm6, xmm12
movups xmmword [rbp - 0x50], xmm0
test rdx, rdx
je 0x180007621
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call qword [rax + 0x260]
mov rcx, qword [0x1800557c0]
movsd xmm1, qword [rbp - 0x40]
movsd xmm0, qword [rbp - 0x50]
addsd xmm1, xmm10
movsd xmm2, qword [rbp - 0x48]
addsd xmm0, xmm9
addsd xmm2, xmm6
lea rdx, [rbp - 0x50]
movsd qword [rbp - 0x70], xmm1
movsd qword [rbp - 0x80], xmm0
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
addsd xmm2, xmm1
movsd qword [rbp - 0x78], xmm2
call fcn.18003bb10
mov r8, rax
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.18003be50
inc r15d
movabs rcx, 0x7ffffef00000
add r14, 8
sub r12, 1
jne 0x180007350
mov r14, qword [rbp + 0x550]
lea r12, [0x180000000]
movaps xmm13, xmmword [rsp + 0x590]
movaps xmm12, xmmword [rsp + 0x5a0]
movaps xmm10, xmmword [rsp + 0x5c0]
mov rcx, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
call qword [0x18014e528]
movabs r15, 0x7ffffef00000
mov r13d, 8
movsxd rsi, dword [0x18005407c]
cmp byte [rsi + r12 + 0x55660], bl
jne 0x180007719
mov ecx, esi
call fcn.18003c110
test al, al
je 0x18000770f
mov byte [rsi + r12 + 0x55660], 1
jmp 0x180007747
mov rcx, rax
jmp 0x180007681
cmp byte [rsi + r12 + 0x55660], bl
je 0x180007747
mov ecx, esi
call fcn.18003c110
test al, al
jne 0x180007747
cmp byte [0x1801cec00], bl
mov rcx, qword [0x1800557c0]
sete dl
mov byte [rsi + r12 + 0x55660], bl
mov byte [0x1801cec00], dl
call fcn.180040940
mov qword [0x180054af8], r14
mov r14d, 1
mov ecx, r14d
call fcn.18003c110
cmp byte [0x180055661], bl
mov byte [0x1800542e4], al
jne 0x1800080df
mov ecx, r14d
call fcn.18003c110
test al, al
je 0x1800080d3
mov byte [0x180055661], r14b
xor al, al
movups xmm0, xmmword [0x18004bd70]
mov esi, 4
mov edi, dword [0x1800542c0]
movsd xmm1, qword [0x18004bd80]
mov r8d, ebx
movaps xmm9, xmmword [0x1800509e0]
mov byte [0x1800542e5], al
mov eax, dword [0x18004bd88]
mov dword [rbp - 0x38], eax
movzx eax, word [0x18004bd8c]
mov word [rbp - 0x34], ax
lea eax, [rsi + 0x1b]
movsd qword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x50], xmm0
cmp edi, 2
jl 0x1800078c1
movdqa xmm2, xmmword [0x18004fda0]
mov r8d, r13d
movdqa xmm3, xmmword [0x18004fdb0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, eax
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004bd70]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movq qword [rbp - 0x50], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x48]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp - 0x48], xmm2
mov eax, r8d
lea r10, [rbp - 0x50]
lea r10, [r10 + rax*2]
nop dword [rax]
mov eax, 0x4d4873ed
lea r10, [r10 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r10 - 2], ax
cmp r8d, 0xf
jl 0x1800078d0
movzx r9d, byte [0x180054036]
lea r8, [rsp + 0x60]
lea rdx, [0x18014e290]
movdqa xmmword [rsp + 0x60], xmm9
lea rcx, [rbp - 0x50]
call fcn.180043580
test al, al
je 0x18000e77b
mov eax, dword [0x18004bd90]
lea rdx, [rsp + 0x60]
cmp dword [0x180055860], ebx
mov ecx, 0x89c6
movaps xmm0, xmmword [0x180050960]
mov dword [rbp + 0x558], eax
sete r8b
movzx eax, word [0x18004bd94]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movdqa xmmword [rsp + 0x60], xmm0
call fcn.180002970
mov ecx, dword [0x180055860]
lea rdx, [rsp + 0x60]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, dword [0x18004bd98]
cmovne ecx, ebx
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004bd9c]
cmp ecx, r14d
mov dword [0x180055860], ecx
mov ecx, 0x529f
sete r8b
mov word [rbp + 0x558], cx
xor word [rbp + 0x55a], 0x37
lea rcx, [rbp + 0x558]
xor ax, 0x38
movdqa xmmword [rsp + 0x60], xmm0
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055860]
lea rdx, [rsp + 0x60]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, dword [0x18004bda0]
cmovne ecx, r14d
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004bda4]
cmp ecx, 2
mov dword [0x180055860], ecx
mov ecx, 0x79d2
sete r8b
mov word [rbp + 0x558], cx
xor word [rbp + 0x55a], 0x37
lea rcx, [rbp + 0x558]
xor ax, 0x38
movdqa xmmword [rsp + 0x60], xmm0
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
mov edx, 2
cmovne ecx, edx
cmp byte [0x180054b19], bl
mov dword [0x180055860], ecx
je 0x180007aed
movsd xmm0, qword [str._ub_]
lea rdx, [rsp + 0x60]
movzx eax, word [0x18004bdb0]
cmp ecx, 3
movaps xmm1, xmmword [0x180050960]
mov ecx, 0x751f
sete r8b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor ax, 0x3a
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
mov eax, 3
cmovne ecx, eax
mov dword [0x180055860], ecx
movsd xmm0, qword [0x18004bdb8]
lea rdx, [rsp + 0x60]
movzx eax, word [0x18004bdc0]
cmp ecx, esi
movaps xmm1, xmmword [0x180050960]
mov ecx, 0x83b7
sete r8b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor ax, 0x3a
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
movsd xmm0, qword [0x18004bdc8]
mov eax, dword [0x18004bdd0]
cmovne ecx, esi
movaps xmm1, xmmword [0x180050960]
cmp ecx, 5
mov dword [0x180055860], ecx
sete r8b
movsd qword [rsp + 0x50], xmm0
cmp word [0x18004bdd2], bx
mov dword [rsp + 0x58], eax
je 0x180007bb1
xor word [rsp + 0x52], 0x37
mov eax, 0x5730
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
lea rdx, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
mov eax, dword [0x18004bde0]
mov edx, 5
movsd xmm0, qword [0x18004bdd8]
cmovne ecx, edx
movaps xmm1, xmmword [0x180050960]
cmp ecx, 6
mov dword [rsp + 0x58], eax
mov eax, 0x4f20
sete r8b
mov dword [0x180055860], ecx
cmp word [0x18004bde2], bx
movsd qword [rsp + 0x50], xmm0
je 0x180007c33
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
lea rdx, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
movsd xmm0, qword [0x18004bde8]
mov edx, 6
movzx eax, word [0x18004bdf0]
cmovne ecx, edx
movaps xmm1, xmmword [0x180050960]
lea rdx, [rsp + 0x60]
movsd qword [rsp + 0x50], xmm0
cmp ecx, 8
mov dword [0x180055860], ecx
mov ecx, 0x73a9
sete r8b
mov word [rsp + 0x50], cx
xor word [rsp + 0x52], 0x37
lea rcx, [rsp + 0x50]
xor word [rsp + 0x54], 0x38
xor ax, 0x3a
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055860]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [str.ZQ_O]
test al, al
movzx eax, word [0x18004be00]
movaps xmm1, xmmword [0x180050960]
cmovne ecx, r13d
movsd qword [rsp + 0x50], xmm0
cmp ecx, 7
mov dword [0x180055860], ecx
mov ecx, 0x516c
sete r8b
mov word [rsp + 0x50], cx
xor word [rsp + 0x52], 0x37
lea rcx, [rsp + 0x50]
xor word [rsp + 0x54], 0x38
xor ax, 0x3a
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
mov eax, dword [0x18004be10]
mov edx, 7
movsd xmm0, qword [str.c_bz]
cmovne ecx, edx
movaps xmm1, xmmword [0x180050960]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x58], eax
cmp ecx, 9
movzx eax, word [0x18004be14]
sete r8b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor ax, 0x3c
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov dword [0x180055860], ecx
mov ecx, 0x6311
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055860]
test al, al
movsd xmm0, qword [0x18004fc30]
mov edx, 9
cmovne ecx, edx
movsd qword [0x180054b00], xmm0
mov dword [0x180055860], ecx
mov byte [0x1800542eb], r14b
movsd xmm1, qword [0x18014e4b8]
movsd qword [0x180054b10], xmm1
test ecx, ecx
jne 0x1800086fa
mov eax, dword [0x18004be20]
mov ecx, 0x56
movsd xmm0, qword [str._KL_W_]
xor r8d, r8d
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004be24]
xor word [rsp + 0x58], 0x3a
lea edx, [rcx - 0x47]
xor word [rsp + 0x5a], 0x3b
xor ax, 0x3c
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
call fcn.180043050
movzx eax, word [0x18004be30]
lea rdx, [0x18005561f]
movsd xmm0, qword [0x18004be28]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov esi, 0x32
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], si
call fcn.1800032c0
movsd xmm0, qword [0x18004be38]
lea rdx, [0x180054037]
movzx eax, word [0x18004be40]
mov ecx, 0x33
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], r14b
mov word [rsp + 0x58], ax
call fcn.1800032c0
mov eax, dword [0x18004be44]
lea rdx, [0x180054038]
mov dword [rbp + 0x558], eax
mov ecx, 0x9aa8
movzx eax, word [0x18004be48]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], r14b
call fcn.1800032c0
mov eax, dword [0x18004be4c]
lea rdx, [0x180054039]
mov dword [rbp + 0x558], eax
mov ecx, 0x8ddd
movzx eax, word [0x18004be50]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800032c0
mov eax, dword [str._T__8]
lea rdx, [0x18005403e]
mov dword [rbp + 0x558], eax
mov ecx, 0x540d
movzx eax, word [0x18004be58]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], r14b
call fcn.1800032c0
mov byte [0x1800542ea], r14b
mov eax, dword [0x18004be5c]
lea rdx, [0x18005403d]
mov dword [rbp + 0x558], eax
mov ecx, 0x8840
movzx eax, word [0x18004be60]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800032c0
cmp word [0x18004be6e], bx
mov rax, qword [str.1cT_h9]
mov qword [rbp + 0x558], rax
je 0x180008147
mov r8d, ebx
cmp edi, 2
jl 0x1800080fe
movdqa xmm3, xmmword [0x18004fda0]
mov r15d, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
mov r14d, 0x1f
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x180008151
cmp byte [0x180055661], bl
je 0x180007785
mov ecx, r14d
call fcn.18003c110
test al, al
jne 0x180007785
mov byte [0x180055661], bl
movzx eax, r14b
jmp 0x180007787
lea r9, [rbp + 0x558]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x180008110
mov r14d, 0x1f
lea r15d, [r14 - 0x1b]
lea rdx, [0x18005561e]
lea rcx, [rbp + 0x558]
call fcn.1800032c0
mov eax, dword [0x18004be70]
lea rdx, [0x18005403a]
mov dword [rbp + 0x558], eax
mov ecx, 0x7b49
movzx eax, word [0x18004be74]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], 1
call fcn.1800032c0
mov eax, dword [0x18004be78]
lea rdx, [0x18005403f]
mov dword [rbp + 0x558], eax
lea rcx, [rbp + 0x558]
movzx eax, word [0x18004be7c]
mov esi, 0x5e15
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], 1
mov word [rbp + 0x558], si
call fcn.1800032c0
mov eax, dword [0x18004be88]
lea rdx, [0x180055870]
movsd xmm0, qword [0x18004be80]
mov ecx, 0x53ea
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004be8c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
call fcn.1800032c0
mov eax, dword [0x18004be90]
lea rdx, [0x180055871]
mov dword [rbp + 0x558], eax
lea rcx, [rbp + 0x558]
movzx eax, word [0x18004be94]
mov r12d, 0x7269
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], 1
mov word [rbp + 0x558], r12w
call fcn.1800032c0
cmp word [0x18004be9e], bx
mov rax, qword [0x18004be98]
mov qword [rbp + 0x558], rax
mov byte [0x1800542ea], 1
je 0x180008392
cmp edi, 2
jl 0x180008358
movdqa xmm3, xmmword [0x18004fda0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x180008392
lea r8, [rbp + 0x558]
nop
mov eax, 0x3521cfb3
lea r8, [r8 + 2]
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x36
xor word [r8 - 2], ax
cmp ebx, 4
jl 0x180008360
lea rdx, [0x180055872]
lea rcx, [rbp + 0x558]
call fcn.1800032c0
movsd xmm0, qword [0x18004bea0]
lea rdx, [0x18005586e]
movzx eax, word [0x18004bea8]
mov ecx, 0x73a9
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800032c0
cmp word [0x18004beba], 0
movsd xmm0, qword [0x18004beb0]
mov eax, dword [0x18004beb8]
movsd qword [rsp + 0x50], xmm0
mov byte [0x1800542ea], 1
mov dword [rsp + 0x58], eax
je 0x180008441
xor word [rsp + 0x52], 0x37
mov eax, 0x670d
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
lea rdx, [0x18005586f]
lea rcx, [rsp + 0x50]
call fcn.1800032c0
mov eax, dword [0x18004bec8]
lea rdx, [0x18005403b]
movsd xmm0, qword [0x18004bec0]
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov ebx, 0x8fc7
movzx eax, word [0x18004becc]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov word [rsp + 0x50], bx
call fcn.1800032c0
cmp word [0x18004beda], 0
movsd xmm0, qword [0x18004bed0]
mov eax, dword [0x18004bed8]
movsd qword [rsp + 0x50], xmm0
mov byte [0x1800542ea], 1
mov dword [rsp + 0x58], eax
je 0x1800084ff
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [0x18005586d]
lea rcx, [rsp + 0x50]
call fcn.1800032c0
movzx eax, word [0x18004bee8]
lea rdx, [0x18005403c]
movsd xmm0, qword [0x18004bee0]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], 1
mov word [rsp + 0x50], si
call fcn.1800032c0
movsd xmm0, qword [0x18004bef0]
lea rdx, [0x18014e230]
movzx eax, word [0x18004bef8]
mov ecx, 0x53ef
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800035d0
movsd xmm0, qword [0x18004bf00]
lea rdx, [0x18014e240]
movzx eax, word [0x18004bf08]
mov ecx, 0x4e0d
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], 1
mov word [rsp + 0x58], ax
call fcn.1800035d0
movsd xmm0, qword [0x18004bf10]
lea rdx, [0x18014e250]
movzx eax, word [0x18004bf18]
mov ecx, 0x6587
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], 1
mov word [rsp + 0x58], ax
call fcn.1800035d0
movzx eax, word [0x18004bf28]
lea rdx, [0x180054058]
movsd xmm0, qword [0x18004bf20]
lea rcx, [rsp + 0x50]
movss xmm7, dword [0x18004fd18]
xor ax, 0x3a
movss xmm6, dword [0x18004fccc]
movaps xmm3, xmm7
movsd qword [rsp + 0x50], xmm0
movaps xmm2, xmm6
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], si
call fcn.180040bc0
movsd xmm0, qword [0x18004bf30]
movzx eax, word [0x18004bf38]
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor ax, 0x3a
mov word [rsp + 0x50], r12w
movaps xmm3, xmm7
mov word [rsp + 0x58], ax
movaps xmm2, xmm6
lea rdx, [0x18005405c]
lea rcx, [rsp + 0x50]
call fcn.180040bc0
jmp 0x18000e659
cmp ecx, r14d
jne 0x18000a4fa
movsd xmm1, qword [0x18004bf50]
mov r8d, ebx
movzx eax, word [0x18004bf58]
mov r12d, 0x1f
movsd qword [rbp - 0x40], xmm1
mov word [rbp - 0x38], ax
movups xmm0, xmmword [str.uVHXXRPTJV_2B]
movups xmmword [rbp - 0x50], xmm0
cmp edi, 2
jl 0x18000882a
movdqa xmm2, xmmword [0x18004fda0]
mov r8d, r13d
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r12d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [str.uVHXXRPTJV_2B]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rbp - 0x48], xmm3
mov eax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0xd
jl 0x180008840
xor r8d, r8d
lea rcx, [rbp - 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
mov eax, dword [0x18004bf5c]
lea rdx, [0x180055879]
mov dword [rbp + 0x558], eax
mov ecx, 0x9501
movzx eax, word [0x18004bf60]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800032c0
cmp word [0x18004bf6e], bx
mov rax, qword [0x18004bf68]
mov qword [rbp + 0x558], rax
mov byte [0x1800542ea], r14b
je 0x1800089b6
mov r8d, ebx
cmp edi, 2
jl 0x180008979
movdqa xmm3, xmmword [0x18004fda0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r12d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x1800089b6
lea r9, [rbp + 0x558]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, esi
jl 0x180008980
lea rdx, [0x18005587f]
lea rcx, [rbp + 0x558]
call fcn.1800032c0
movzx eax, word [0x18004bf78]
lea rdx, [0x18005587b]
movsd xmm0, qword [0x18004bf70]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov esi, 0x5e15
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], r14b
mov word [rsp + 0x50], si
call fcn.1800032c0
movsd xmm0, qword [str.Qw_]
lea rdx, [0x180055878]
movzx eax, word [0x18004bf88]
mov ecx, 0x5168
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800032c0
movsd xmm0, qword [0x18004bf90]
lea rdx, [0x18005587d]
movzx eax, word [0x18004bf98]
mov ecx, 0x65e0
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], r14b
mov word [rsp + 0x58], ax
call fcn.1800032c0
movzx eax, word [0x18004bfa8]
lea rdx, [0x180055883]
movsd xmm0, qword [0x18004bfa0]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov r12d, 0x89e3
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], r14b
mov word [rsp + 0x50], r12w
call fcn.1800032c0
movzx eax, word [0x18004bfb8]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004bfb0]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050960]
xor ax, 0x3a
movsd qword [rsp + 0x50], xmm0
mov esi, 0x31
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], si
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x180008b8a
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x180008b8a
mov rcx, qword [0x1800557d8]
mov edx, 0x2710
call fcn.18001f750
movsd xmm0, qword [0x18004bfc0]
lea rdx, [rsp + 0x60]
movzx eax, word [0x18004bfc8]
mov ecx, 0x4e00
movaps xmm1, xmmword [0x180050960]
xor ax, 0x3a
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], r14b
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x180008c0f
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x180008c0f
mov rcx, qword [0x1800557d8]
mov edx, 0xa3ae59
call fcn.18001f750
mov eax, dword [str.wg8]
lea rdx, [rsp + 0x60]
movaps xmm0, xmmword [0x180050960]
mov ecx, 0x81ea
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004bfd0]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], r14b
movdqa xmmword [rsp + 0x60], xmm0
call fcn.180002670
movzx ecx, byte [0x18005587a]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004bfd8]
test al, al
movzx eax, word [0x18004bfe0]
movaps xmm1, xmmword [0x180050960]
cmovne ecx, r14d
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov byte [0x18005587a], cl
lea rcx, [rsp + 0x50]
mov word [rsp + 0x50], si
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x180008dca
mov rcx, qword [0x1800f5ff0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x180008dca
cmp word [0x18004bff2], bx
movsd xmm0, qword [str.XVC_]
mov eax, dword [0x18004bff0]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x180008d34
xor word [rsp + 0x52], 0x37
mov eax, 0x4d
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
jmp 0x180008d39
movzx eax, word [rsp + 0x50]
test ax, ax
je 0x180008d5c
lea rcx, [rsp + 0x50]
add rcx, 2
cmp word [rcx], bx
jne 0x180008d43
lea rax, [rsp + 0x50]
sub rcx, rax
sar rcx, 1
inc rcx
jmp 0x180008d5f
mov rcx, rbx
mov r10, qword [0x1800f6178]
lea rax, [rsp + 0x50]
test ecx, ecx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x6c], ecx
mov rcx, qword [0x1800557e0]
cmove rax, rbx
xor edx, edx
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x40], rdx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x50], xmm0
test r10, r10
je 0x180008db5
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rdx, r10
call qword [rax + 0x260]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [0x1800f5ff0]
xor r9d, r9d
mov r8d, 0x2710
call fcn.18003d850
mov eax, dword [0x18004c000]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004bff8]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050960]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c004]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov byte [0x1800542ea], r14b
mov word [rsp + 0x50], r12w
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x180009294
lea rax, str.AECFED0D41AFEE11F30B4F9687BC3243
mov qword [rbp + 0x70], rax
lea rax, str.B639B7ED4EE18A7AA09BA189EA703032
mov qword [rbp + 0x78], rax
lea rax, str.5970E8E648D2A83AFDFF7C9151D9BEF5
mov qword [rbp + 0x80], rax
lea rax, str.2EC07ACC4505CB726DE38A84246CA999
mov qword [rbp + 0x88], rax
lea rax, str.5F426B49469368B0C131D3A6DB8F7831
mov qword [rbp + 0x90], rax
lea rax, str.F8E5CB8143F4FA2F6213E6B454569F87
mov qword [rbp + 0x98], rax
lea rax, str.01ACCA6E4BDAA68220821FB05AB54E4D
mov qword [rbp + 0xa0], rax
lea rax, str.7C5E91514F6E84B0C1DEFFB52C7C4DBA
mov qword [rbp + 0xa8], rax
lea rax, str.65B10BB14ABDA9C2109167B21901D195
mov qword [rbp + 0xb0], rax
lea rax, str.FE90632845114C7FBFA4669D071E285F
mov qword [rbp + 0xb8], rax
lea rax, str.2BC5E46049E69D3549CFB58948BE3288
mov qword [rbp + 0xc0], rax
lea rax, str.3697999C458BF8A3C7973382969FBDF9
mov qword [rbp + 0xc8], rax
lea rax, str.4669582D4081BF550AFB66A05D043A3D
mov qword [rbp + 0xd0], rax
lea rax, str.DC0ECF9241B4410C59EE619F56D1106A
mov qword [rbp + 0xd8], rax
lea rax, str.71C4B2B2407F2BBBD77572A20C7FF0F5
mov qword [rbp + 0xe0], rax
lea rax, str.EC94023A4CA571FF0FD19E90944F4231
mov qword [rbp + 0xe8], rax
lea rax, str.2A2B744B41AC79964DAE6B89CAC51FC3
mov qword [rbp + 0xf0], rax
lea rax, str.22095BFA48A46172F8D154B2EBEB7493
mov qword [rbp + 0xf8], rax
lea rax, str.099440764403D1508D9BADADF4848697
mov qword [rbp + 0x100], rax
lea rax, str.E0819EFB41581AEAC3A029B0EE2FE195
mov qword [rbp + 0x108], rax
lea rax, str.76B000914943BADDC56BCFBAE2BF051E
mov qword [rbp + 0x110], rax
lea rax, str.866881DB443444AA7F4E7C8E5DCDAA29
mov qword [rbp + 0x118], rax
lea rax, str.6DB6B7B2431CA2EFFFC88EB45805BA6A
mov qword [rbp + 0x120], rax
lea rax, str.74270C2F45B8DCA66B6A1FAAA911D024
mov qword [rbp + 0x128], rax
lea rax, str.41E36D9A4B2BA79A3AD1B7B83B16F77D
mov qword [rbp + 0x130], rax
lea rax, str.F382ADAE4259150BF994FF873ECF242B
mov qword [rbp + 0x138], rax
lea rax, str.91DAC6F34D2A9FD7F01471B5166C6C02
mov qword [rbp + 0x140], rax
lea rax, str.596996B948716D3FD2283C8B5C6E829C
mov qword [rbp + 0x148], rax
lea rax, str.3E8E504B4A3975FD3862E1BC85A5D4F6
mov qword [rbp + 0x150], rax
lea rax, str.8CA5E9774FF1BBC1156ABCA09E616480
mov qword [rbp + 0x158], rax
lea rax, str.7170881D44249E90902F728E240493AF
mov qword [rbp + 0x160], rax
lea rax, str.513E166044565A0BD3360F94142577E8
mov qword [rbp + 0x168], rax
lea rax, str.6231802D40C81C00445379AE238D9F90
mov qword [rbp + 0x170], rax
lea rax, str.F6C005A14B38FE0B57F1C7869FD899CB
mov qword [rbp + 0x178], rax
lea rax, str.D27AFCAD472164F000D33A8D8B61FE8B
mov qword [rbp + 0x180], rax
lea rax, str.E88379634CB5B6117DA2E7B8810BFE0A
mov qword [rbp + 0x188], rax
lea rax, str.15314BE94E2FB8D018D5749BE9A318F0
mov qword [rbp + 0x190], rax
lea rax, str.DF9FB9CB41B43052A9C74FA79A826A50
mov qword [rbp + 0x198], rax
lea rax, str.B44AA24445864494E7569597ACCAEFC6
mov qword [rbp + 0x1a0], rax
lea rax, str.3A0F123947BE045BC415C6B061A5285A
mov qword [rbp + 0x1a8], rax
lea rax, str.75BD9923489E2A4EBCED5A81175D5928
mov qword [rbp + 0x1b0], rax
mov rsi, rbx
lea rax, str.23B9E99C4A454B99220AF7B4A58FD8DE
mov qword [rbp + 0x1b8], rax
lea rax, str.A1BC65AA445619EF338E0388BC010648
mov qword [rbp + 0x1c0], rax
lea rax, str.79C561B747335A7A0A8FBF9FAE280E62
mov qword [rbp + 0x1c8], rax
lea rax, str.B001852C491FF5E70C4747BFF9972924
mov qword [rbp + 0x1d0], rax
lea rax, str.16C7164C43E2B96BEDCC6696E2E592F7
mov qword [rbp + 0x1d8], rax
lea rax, str.28D514E74B51FD9EB078A891DB0787C2
mov qword [rbp + 0x1e0], rax
lea rax, str.F8DF603B4C750B37D943C9AF6A911946
mov qword [rbp + 0x1e8], rax
lea rax, str.923B781345D2AB7ECED6BABD6E97ECE8
mov qword [rbp + 0x1f0], rax
lea rax, str.ACAE5FB04D48DE4197443E9C0993086B
mov qword [rbp + 0x1f8], rax
lea rax, str.4D2F204549AB656CA1EA4B8E39C484F3
mov qword [rbp + 0x200], rax
lea rax, str.1BDEABA240B1699541C17F83E59E61DF
mov qword [rbp + 0x208], rax
lea rax, str.A277AE6341EF40D84D711EA52303353F
mov qword [rbp + 0x210], rax
lea rax, str.2DE1702048A1D4A82126168C49BE51A9
mov qword [rbp + 0x218], rax
lea rax, str.BF8B123244ADB794A06EA8A10503FBDD
mov qword [rbp + 0x220], rax
lea rax, str.603ED0CD4CFB9AFDC9E11F805594CCE5
mov qword [rbp + 0x228], rax
lea rax, str.DDBBFFAF43D9219AE68DF98744DF0831
mov qword [rbp + 0x230], rax
lea rax, str.6282FE1E4029EDCDB14135AA4C171E4C
mov qword [rbp + 0x238], rax
lea rax, str.6E03F8464BAD9E458B843AA30BE1CC8F
mov qword [rbp + 0x240], rax
lea rax, str.979BF2044C8E8FE559B598A95A83EDE3
mov qword [rbp + 0x248], rax
lea rax, str.9FBB93D84811BE424A37C391DBFBB476
mov qword [rbp + 0x250], rax
lea rax, str.41727100495D21DC905D309C53989914
mov qword [rbp + 0x258], rax
mov rcx, qword [0x1800557d8]
lea rax, [rcx - 0x1000000]
cmp rax, r15
ja 0x180009287
mov rax, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
lea r8d, [r9 + 0x30]
call rax
test rax, rax
je 0x180009287
mov eax, dword [rbp - 0x2c]
cmp eax, r14d
je 0x180009287
cmp eax, 0x10
je 0x180009287
cmp qword [rbp - 0x38], 8
jb 0x180009287
mov rdx, qword [rbp + rsi*8 + 0x70]
cmp word [rdx], bx
je 0x180009224
mov rcx, rdx
nop dword [rax + rax]
add rcx, 2
cmp word [rcx], bx
jne 0x180009210
sub rcx, rdx
sar rcx, 1
inc rcx
jmp 0x180009227
mov rcx, rbx
mov r10, qword [0x1800f6178]
test ecx, ecx
mov dword [rsp + 0x68], ecx
mov rax, rbx
cmovne rax, rdx
mov dword [rsp + 0x6c], ecx
mov rcx, qword [0x1800557e0]
xor edx, edx
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x40], rdx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x50], xmm0
test r10, r10
je 0x18000927b
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rdx, r10
call qword [rax + 0x260]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [0x1800557d8]
call fcn.18003f530
inc rsi
cmp rsi, 0x3e
jl 0x1800091a2
movups xmm0, xmmword [0x18004c008]
movzx eax, word [0x18004c018]
lea rdx, [rsp + 0x60]
movaps xmm1, xmmword [0x180050960]
mov ecx, 0x589e
movups xmmword [rbp - 0x50], xmm0
xor word [rbp - 0x4e], 0x37
xor ax, 0x3e
xor word [rbp - 0x4c], 0x38
xor word [rbp - 0x4a], 0x39
xor word [rbp - 0x48], 0x3a
xor word [rbp - 0x46], 0x3b
xor word [rbp - 0x44], 0x3c
xor word [rbp - 0x42], 0x3d
mov word [rbp - 0x50], cx
lea rcx, [rbp - 0x50]
mov byte [0x1800542ea], r14b
mov word [rbp - 0x40], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x1800093e8
mov rcx, qword [0x1800557c0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x1800093e8
mov ecx, dword [0x18014e59c]
add rcx, qword [0x1800557c0]
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x1800093e8
mov ecx, dword [0x18014e5a0]
add rcx, rsi
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x1800093e8
mov edx, dword [0x18014e5f8]
lea rcx, [rbp - 0x50]
add rdx, rsi
call fcn.180001710
mov edx, dword [0x18014e5a4]
lea rcx, [rbp + 0x260]
add rdx, rsi
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
call fcn.180001490
mov rcx, qword [0x1800f6000]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x60]
mov dword [rsp + 0x6c], r14d
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x68], r14d
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], 0xffffff9c
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm7
movaps xmmword [rbp - 0x30], xmm8
call fcn.180002060
mov eax, dword [0x18004c028]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004c020]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050960]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c02c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov word [rsp + 0x50], r12w
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x1800094eb
mov rcx, qword [0x1800f5ff0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x1800094eb
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x1800094eb
mov rcx, qword [0x1800557d8]
call fcn.18001f4c0
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x1800094eb
mov rcx, qword [0x1800f5ff0]
mov edx, 0x1f4
call fcn.18003db20
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.18001e730
movsxd r15, dword [rsp + 0x68]
mov rsi, rbx
test r15, r15
je 0x1800094eb
mov r12, qword [rsp + 0x60]
mov rcx, qword [0x1800f5ff0]
movsxd rdx, esi
mov rdx, qword [r12 + rdx*8]
call fcn.18003f7e0
inc rsi
cmp rsi, r15
jb 0x1800094d0
mov eax, dword [0x18004c038]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004c030]
mov ecx, 0x6536
movaps xmm1, xmmword [0x180050960]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c03c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
mov byte [0x1800542ea], r14b
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x18000965e
mov rax, qword [0x180055798]
mov r12, rbx
mov rdx, qword [0x1800f6190]
mov rcx, qword [0x1800557e0]
mov qword [rbp - 0x50], rax
mov rax, qword [0x180055838]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
test rdx, rdx
je 0x180009648
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call qword [rax + 0x260]
mov eax, dword [rbp - 0x38]
mov r12, qword [rbp - 0x40]
test eax, eax
jle 0x180009648
mov rsi, r12
mov r15d, eax
movabs rdx, 0x7ffffef00000
mov rcx, qword [0x1800557d8]
lea rax, [rcx - 0x1000000]
cmp rax, rdx
ja 0x18000963f
mov rax, qword [0x1800f6048]
lea rdx, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
lea r8d, [r9 + 0x30]
call rax
test rax, rax
je 0x180009635
mov eax, dword [rbp - 0x2c]
cmp eax, r14d
je 0x180009635
cmp eax, 0x10
je 0x180009635
cmp qword [rbp - 0x38], 8
jb 0x180009635
mov rcx, qword [rsi]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x180009635
mov rdx, qword [rsi]
mov rcx, qword [0x1800557d8]
call fcn.18003eee0
movabs rdx, 0x7ffffef00000
add rsi, 8
sub r15, r14
jne 0x1800095d2
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [0x18014e528]
movups xmm0, xmmword [0x18004c040]
movaps xmm9, xmmword [0x180050950]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x50], xmm0
test ax, ax
je 0x1800097c7
mov r8d, ebx
cmp edi, 2
jl 0x18000978b
movdqa xmm2, xmmword [0x18004fda0]
mov r15d, 4
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 0x1f
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, r15d
movd xmm5, esi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c040]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rsp + 0x58], xmm3
jmp 0x1800097d1
lea r9, [rsp + 0x50]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x180009790
mov r15d, 4
lea esi, [r15 + 0x1b]
lea r8, [0x180054080]
movdqa xmmword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18001f9d0
movups xmm0, xmmword [0x18004c050]
movaps xmm9, xmmword [0x180050950]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x50], xmm0
test ax, ax
je 0x180009957
mov r8d, ebx
cmp edi, 2
jl 0x180009910
movdqa xmm2, xmmword [0x18004fda0]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, r15d
movd xmm5, esi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c050]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rsp + 0x58], xmm3
jmp 0x180009957
lea r9, [rsp + 0x50]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x180009920
lea r8, [0x180054074]
movdqa xmmword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18001f9d0
movups xmm0, xmmword [0x18004c060]
movaps xmm9, xmmword [0x180050950]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x50], xmm0
test ax, ax
je 0x180009ad7
mov r8d, ebx
cmp edi, 2
jl 0x180009a96
movdqa xmm2, xmmword [0x18004fda0]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, r15d
movd xmm5, esi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c060]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rsp + 0x58], xmm3
jmp 0x180009ad7
lea r9, [rsp + 0x50]
nop dword [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x180009aa0
lea r8, [0x180054078]
movdqa xmmword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18001f9d0
mov eax, dword [0x18004c088]
mov r8d, ebx
movsd xmm1, qword [0x18004c080]
movaps xmm9, xmmword [0x180050950]
mov dword [rbp - 0x38], eax
movzx eax, word [0x18004c08c]
mov word [rbp - 0x34], ax
movsd qword [rbp - 0x40], xmm1
movups xmm0, xmmword [0x18004c070]
movups xmmword [rbp - 0x50], xmm0
cmp edi, 2
jl 0x180009c26
movdqa xmm2, xmmword [0x18004fda0]
mov r8d, r13d
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, r15d
movd xmm5, esi
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c070]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rbp - 0x48], xmm3
mov eax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0xf
jl 0x180009c31
lea r8, [0x18005407c]
movdqa xmmword [rsp + 0x60], xmm9
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.18001f9d0
mov r8d, ebx
movups xmm0, xmmword [str._N]
movups xmm1, xmmword [0x18004c0a0]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [0x18004c0b0]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm0
cmp edi, 2
jl 0x180009dcb
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
mov edx, ebx
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, r15d
movd xmm8, esi
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x18
jl 0x180009ce0
jmp 0x180009e07
lea r9, [rbp - 0x50]
nop
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x18
jl 0x180009dd0
xor r8d, r8d
lea rcx, [rbp - 0x50]
xor edx, edx
call fcn.180042ee0
mov eax, dword [0x18004c0f0]
mov r8d, ebx
mov dword [rbp + 0x40], eax
movzx eax, word [0x18004c0f4]
mov word [rbp + 0x44], ax
movups xmm0, xmmword [0x18004c0c0]
movups xmm1, xmmword [0x18004c0d0]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [0x18004c0e0]
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm0
cmp edi, 2
jl 0x180009f83
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp + 0x10]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, r15d
movd xmm8, esi
nop word [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
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180009e90
cmp r8d, 0x1b
jge 0x180009fc5
movsxd rax, r8d
lea r9, [rbp + 0x10]
lea r9, [r9 + rax*2]
nop
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1b
jl 0x180009f90
xor r8d, r8d
lea rcx, [rbp + 0x10]
xor edx, edx
call fcn.180042ee0
movsd xmm0, qword [0x18004c0f8]
lea rdx, [0x180054060]
movzx eax, word [0x18004c100]
mov ecx, 0x52a0
movss xmm3, dword [0x18004fcf0]
xor ax, 0x3a
movss xmm2, dword [0x18004fa10]
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.180040bc0
movaps xmm0, xmmword [0x180050950]
lea rax, [0x18004d974]
mov qword [rbp - 0x50], rax
lea r9, [rbp - 0x50]
lea rax, [0x18004d97c]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x48], rax
lea r8, [0x1801cec04]
lea rax, [0x18004d984]
mov word [rbp + 0x558], bx
mov qword [rbp - 0x40], rax
lea rdx, [rsp + 0x60]
lea rax, [0x18004d990]
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rcx, [rbp + 0x558]
mov qword [rbp - 0x38], rax
mov r15d, 5
lea rax, [0x18004d9a0]
mov byte [rsp + 0x28], bl
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x20], r15d
call fcn.1800059b0
movzx eax, word [0x18004c110]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [str._f__Sf_]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050960]
xor ax, 0x3a
movsd qword [rsp + 0x50], xmm0
mov edi, 0x5f3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], r14b
mov word [rsp + 0x50], di
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x18000a278
mov eax, dword [0x180054068]
mov ecx, dword [0x1801cec04]
neg eax
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x48], eax
test ecx, ecx
je 0x18000a193
sub ecx, r14d
je 0x18000a17e
sub ecx, r14d
je 0x18000a169
sub ecx, r14d
je 0x18000a154
cmp ecx, r14d
jne 0x18000a1ad
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
call fcn.1800422c0
jmp 0x18000a1a6
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
call fcn.180042ad0
jmp 0x18000a1a6
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
call fcn.180042820
jmp 0x18000a1a6
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
call fcn.180042570
jmp 0x18000a1a6
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
call fcn.180042010
mov rcx, qword [rax]
mov qword [rbp - 0x44], rcx
mov eax, dword [0x180054068]
mov rdx, r13
mov rcx, qword [0x1800557c0]
mov dword [rbp - 0x3c], eax
call fcn.18003b360
test eax, eax
jne 0x18000a278
mov ecx, dword [0x18014e59c]
add rcx, qword [0x1800557c0]
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x18000e77b
mov ecx, dword [0x18014e5a0]
add rcx, rsi
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x18000e77b
mov edx, dword [0x18014e5f8]
lea rcx, [rbp + 0x10]
add rdx, rsi
call fcn.180001710
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x60], rcx
lea r8, [rsp + 0x60]
mov ecx, 2
lea rdx, [rbp - 0x80]
movups xmm1, xmmword [rax]
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], ecx
movaps xmm0, xmmword [rsp + 0x60]
mov rcx, qword [0x1800f6000]
movdqa xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x60], xmm1
call fcn.180002060
movsd xmm0, qword [0x18004c118]
lea rdx, [rsp + 0x60]
movzx eax, word [0x18004c120]
mov ecx, 0x91cd
movaps xmm1, xmmword [0x180050960]
xor ax, 0x3a
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], r14b
mov word [rsp + 0x58], ax
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002670
test al, al
je 0x18000a4a6
mov rcx, qword [0x1800557c0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000a4a6
mov ecx, dword [0x18014e59c]
add rcx, qword [0x1800557c0]
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x18000e77b
mov ecx, dword [0x18014e5a0]
add rcx, rsi
call fcn.180001300
mov rdx, r13
mov rcx, rax
mov rsi, rax
call fcn.18003b360
test eax, eax
jne 0x18000e77b
mov edx, dword [0x18014e5a4]
lea rcx, [rbp + 0x260]
add rdx, rsi
call fcn.180001490
mov edx, dword [0x18014e5f8]
lea rcx, [rbp + 0x10]
add rdx, rsi
call fcn.180001710
mov rcx, qword [0x1800557e0]
lea rdx, [rbp + 0x558]
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
call fcn.180042010
lea rdx, [rbp + 0x558]
mov rcx, qword [rax]
mov qword [rbp + 0x70], rcx
mov rcx, qword [0x1800557e0]
call fcn.180042570
lea rdx, [rbp + 0x558]
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rcx, qword [0x1800557e0]
call fcn.180042820
lea rdx, [rbp + 0x558]
mov rcx, qword [rax]
mov qword [rbp + 0xa0], rcx
mov rcx, qword [0x1800557e0]
call fcn.180042ad0
lea rdx, [rbp + 0x558]
mov rcx, qword [rax]
mov qword [rbp + 0xb8], rcx
mov rcx, qword [0x1800557e0]
call fcn.1800422c0
mov rcx, qword [rax]
mov eax, dword [rbp + 0x3e0]
mov qword [rbp + 0xd0], rcx
test eax, eax
jle 0x18000a460
mov r8, qword [rbp + 0x3d8]
mov r10d, eax
nop word [rax + rax]
lea rdx, [rbp + 0x78]
mov r9, r15
mov eax, dword [rdx - 8]
cmp dword [r8], eax
jne 0x18000a44e
cmp dword [r8 + 8], r14d
mov ecx, dword [r8 + 8]
not ecx
cmovle ecx, ebx
mov dword [rdx], ecx
mov eax, dword [r8 + 8]
cmp eax, r14d
lea ecx, [rax - 1]
cmovle ecx, ebx
mov dword [rdx + 0xc], ecx
add rdx, 0x18
sub r9, r14
jne 0x18000a427
add r8, 0xc
sub r10, r14
jne 0x18000a420
mov rcx, qword [0x1800f6000]
lea rax, [rbp + 0x70]
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x60]
mov dword [rsp + 0x6c], 0xa
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x68], 0xa
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm7
movaps xmmword [rbp - 0x30], xmm8
call fcn.180002060
movsd xmm0, qword [str._f__S]
lea rdx, [0x180054068]
movzx eax, word [0x18004c130]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov r9d, 0x2710
xor word [rsp + 0x54], 0x38
mov r8d, r14d
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], di
call fcn.1800412c0
jmp 0x18000e659
cmp ecx, 2
jne 0x18000ae2d
mov eax, dword [0x18004c140]
mov ecx, 0x53
movsd xmm0, qword [str.eGQR_H_]
xor r8d, r8d
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c144]
xor word [rsp + 0x58], 0x3a
lea edx, [rcx - 0x44]
xor word [rsp + 0x5a], 0x3b
xor ax, 0x3c
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
call fcn.180043050
mov eax, dword [0x18004c148]
lea rdx, [0x180055881]
mov dword [rbp + 0x558], eax
mov ecx, 0x73a9
movzx eax, word [0x18004c14c]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800032c0
mov eax, dword [str.MJQ8]
lea rdx, [0x180055882]
mov dword [rbp + 0x558], eax
mov ecx, 0x5e7b
movzx eax, word [0x18004c154]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], r14b
call fcn.1800032c0
cmp word [0x18004c15e], bx
mov rax, qword [str.xg9:]
mov qword [rbp + 0x558], rax
mov byte [0x1800542ea], r14b
je 0x18000a6e6
mov r8d, ebx
cmp edi, 2
jl 0x18000a6a9
movdqa xmm3, xmmword [0x18004fda0]
mov r14d, 0x1f
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000a6ec
lea r9, [rbp + 0x558]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, esi
jl 0x18000a6b0
mov r14d, 0x1f
lea rdx, [0x180055884]
lea rcx, [rbp + 0x558]
call fcn.1800032c0
movsd xmm0, qword [0x18004c160]
lea rdx, [0x180055888]
movzx eax, word [0x18004c168]
mov ecx, 0x81ea
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800032c0
movsd xmm0, qword [0x18004c170]
lea rdx, [0x180055889]
movzx eax, word [0x18004c178]
mov ecx, 0x6307
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], 1
mov word [rsp + 0x58], ax
call fcn.1800032c0
movsd xmm0, qword [0x18004c180]
lea rdx, [0x180055885]
movzx eax, word [0x18004c188]
mov ecx, 0x65e0
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], 1
mov word [rsp + 0x58], ax
call fcn.1800032c0
movsd xmm0, qword [0x18004c190]
lea rdx, [0x180055886]
movzx eax, word [0x18004c198]
mov ecx, 0x79d2
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800032c0
cmp word [0x18004c1ba], bx
movups xmm0, xmmword [0x18004c1a0]
mov eax, dword [0x18004c1b8]
movsd xmm1, qword [0x18004c1b0]
movups xmmword [rbp - 0x50], xmm0
mov byte [0x1800542ea], 1
movsd qword [rbp - 0x40], xmm1
mov dword [rbp - 0x38], eax
je 0x18000a9b5
mov r8d, ebx
cmp edi, 2
jl 0x18000a96c
movdqa xmm2, xmmword [0x18004fda0]
mov r8d, r13d
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c1a0]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rbp - 0x48], xmm3
mov eax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0xe
jl 0x18000a980
lea rdx, [0x18005588a]
lea rcx, [rbp - 0x50]
call fcn.1800032c0
movzx eax, word [0x18004c1e0]
mov word [rbp - 0x30], ax
movups xmm0, xmmword [0x18004c1c0]
movups xmm1, xmmword [0x18004c1d0]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp edi, 2
jl 0x18000ab0e
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, esi
movd xmm8, r14d
nop dword [rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x10
jl 0x18000aa20
cmp ebx, 0x11
jge 0x18000ab51
movsxd rax, ebx
lea r8, [rbp - 0x50]
lea r8, [r8 + rax*2]
nop dword [rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 2]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x36
xor word [r8 - 2], ax
cmp ebx, 0x11
jl 0x18000ab20
lea rdx, [0x180055887]
lea rcx, [rbp - 0x50]
call fcn.1800032c0
cmp word [0x18004c1f2], 0
movsd xmm0, qword [0x18004c1e8]
mov eax, dword [0x18004c1f0]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000abb2
xor word [rsp + 0x52], 0x37
mov eax, 0x89e6
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
lea r8, [0x180054070]
movdqa xmmword [rsp + 0x60], xmm1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18001f9d0
mov eax, dword [0x18004c200]
lea rdx, [0x180054054]
movsd xmm0, qword [str.ccc]
mov ecx, 0x6355
movss xmm3, dword [0x18004fd18]
movss xmm2, dword [0x18004fa10]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c204]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
call fcn.180040bc0
movsd xmm0, qword [0x18004c208]
lea rax, [0x18004d9ac]
movaps xmm1, xmmword [0x180050950]
lea r9, [rbp - 0x50]
mov qword [rbp - 0x50], rax
lea r8, [0x180055890]
movsd qword [rsp + 0x50], xmm0
lea rax, str.b__rY
xor word [rsp + 0x52], 0x37
lea rdx, [rsp + 0x60]
xor word [rsp + 0x54], 0x38
lea rcx, [rsp + 0x50]
xor word [rsp + 0x56], 0x39
xorps xmm6, xmm6
mov qword [rbp - 0x48], rax
mov ebx, 0x653b
lea rax, str.yrHe
movss dword [rsp + 0x30], xmm6
mov qword [rbp - 0x40], rax
movzx eax, word [0x18004c210]
xor ax, 0x3a
mov byte [rsp + 0x28], 1
mov word [rsp + 0x58], ax
mov eax, 3
mov dword [rsp + 0x20], eax
mov word [rsp + 0x50], bx
movdqa xmmword [rsp + 0x60], xmm1
call fcn.1800059b0
lea rax, [0x18004d9c8]
mov byte [0x1800542ea], 1
mov qword [rbp + 0x70], rax
lea rcx, str._wUf
lea rax, str.aw_w
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x90], rax
lea rax, [0x18004d9e0]
mov qword [rbp + 0x98], rax
lea rax, [0x18004d9e8]
mov qword [rbp + 0xa0], rax
lea rax, [0x18004d9f0]
mov qword [rbp + 0xa8], rax
lea rax, [0x18004d9f8]
mov qword [rbp + 0xb0], rax
lea rax, [0x18004da00]
mov qword [rbp + 0xb8], rax
lea rax, str.QmJm
mov qword [rbp + 0xc0], rax
lea rax, str.8_f
mov qword [rbp + 0xc8], rax
lea rax, [0x18004da18]
mov qword [rbp + 0xd0], rax
lea rax, [0x18004d984]
mov qword [rbp + 0xd8], rax
lea rax, [0x18004da20]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x88], rcx
movsd xmm0, qword [0x18004c218]
lea rax, [0x18004da28]
movaps xmm1, xmmword [0x180050950]
lea r9, [rbp + 0x70]
movsd qword [rsp + 0x50], xmm0
lea r8, [0x180054064]
xor word [rsp + 0x52], 0x37
lea rdx, [rsp + 0x60]
xor word [rsp + 0x54], 0x38
lea rcx, [rsp + 0x50]
xor word [rsp + 0x56], 0x39
mov qword [rbp + 0xe8], rax
lea rax, [0x18004da30]
mov qword [rbp + 0xf0], rax
movzx eax, word [0x18004c220]
xor ax, 0x3a
movss dword [rsp + 0x30], xmm6
mov byte [rsp + 0x28], 1
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], bx
movdqa xmmword [rsp + 0x60], xmm1
mov dword [rsp + 0x20], 0x11
call fcn.1800059b0
jmp 0x18000e659
cmp byte [0x180054b19], bl
je 0x18000bd27
cmp ecx, 3
jne 0x18000bd27
cmp word [0x18004c232], bx
movsd xmm0, qword [str.yCWTU_]
mov eax, dword [0x18004c230]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000ae8b
xor word [rsp + 0x52], 0x37
mov eax, 0x4f
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
xor r8d, r8d
lea rcx, [rsp + 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
mov eax, dword [0x18004c234]
lea rdx, [rsp + 0x60]
cmp dword [0x180055868], ebx
lea rcx, [rbp + 0x558]
movaps xmm0, xmmword [0x180050940]
mov esi, 0x5e15
mov dword [rbp + 0x558], eax
sete r8b
movzx eax, word [0x18004c238]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x55c], ax
mov word [rbp + 0x558], si
movdqa xmmword [rsp + 0x60], xmm0
call fcn.180002970
mov ecx, dword [0x180055868]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004c240]
test al, al
movzx eax, word [0x18004c248]
movaps xmm1, xmmword [0x180050940]
cmovne ecx, ebx
movsd qword [rsp + 0x50], xmm0
cmp ecx, r14d
mov dword [0x180055868], ecx
mov ecx, 0x57fa
sete r8b
mov word [rsp + 0x50], cx
xor word [rsp + 0x52], 0x37
lea rcx, [rsp + 0x50]
xor word [rsp + 0x54], 0x38
xor ax, 0x3a
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], r14b
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055868]
lea rdx, [rsp + 0x60]
movsd xmm0, qword [0x18004c250]
test al, al
movzx eax, word [0x18004c258]
movaps xmm1, xmmword [0x180050940]
cmovne ecx, r14d
movsd qword [rsp + 0x50], xmm0
cmp ecx, 2
mov dword [0x180055868], ecx
mov ecx, 0x4e3b
sete r8b
mov word [rsp + 0x50], cx
xor word [rsp + 0x52], 0x37
lea rcx, [rsp + 0x50]
xor word [rsp + 0x54], 0x38
xor ax, 0x3a
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov byte [0x1800542ea], r14b
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
mov ecx, dword [0x180055868]
test al, al
movsd xmm0, qword [0x18004c260]
mov eax, 2
movaps xmm1, xmmword [0x180050940]
cmovne ecx, eax
movzx eax, word [0x18004c268]
cmp ecx, 3
movsd qword [rsp + 0x50], xmm0
sete r8b
mov dword [0x180055868], ecx
xor word [rsp + 0x52], 0x37
mov ecx, 0x88ab
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor ax, 0x3a
mov byte [0x1800542ea], r14b
mov word [rsp + 0x50], cx
lea rdx, [rsp + 0x60]
mov word [rsp + 0x58], ax
lea rcx, [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm1
call fcn.180002970
test al, al
je 0x18000b06f
mov eax, 3
mov dword [0x180055868], eax
jmp 0x18000b8a9
mov eax, dword [0x180055868]
test eax, eax
jne 0x18000b172
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rsp + 0x60]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x28], 0x14
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec0c]
movaps xmmword [rsp + 0x60], xmm0
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [0x18014de00]
movaps xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x50], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003c840
movsd xmm0, qword [0x18004c270]
lea rdx, [0x180054034]
movzx eax, word [0x18004c278]
mov ecx, 0x9ed8
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800032c0
movsd xmm0, qword [0x18004c280]
lea rdx, [0x180054035]
movzx eax, word [0x18004c288]
mov ecx, 0x662f
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov byte [0x1800542ea], r14b
mov word [rsp + 0x58], ax
call fcn.1800032c0
jmp 0x18000bc29
cmp eax, r14d
jne 0x18000b657
mov eax, dword [0x18004c28c]
lea rdx, [0x180054030]
mov dword [rbp + 0x558], eax
mov ecx, 0x661f
movzx eax, word [0x18004c290]
mov esi, 0x32
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
mov r9d, esi
mov r8d, r14d
mov word [rbp + 0x55c], ax
lea rcx, [rbp + 0x558]
call fcn.1800412c0
mov eax, dword [0x18004c294]
lea rdx, [0x18005402c]
mov dword [rbp + 0x558], eax
mov ecx, 0x7b49
movzx eax, word [0x18004c298]
mov r9d, esi
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
mov r8d, r14d
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800412c0
mov eax, dword [0x18004c29c]
lea rdx, [0x18005400c]
mov dword [rbp + 0x558], eax
mov ecx, 0x48
movzx eax, word [0x18004c2a0]
mov r9d, 0xc350
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
mov r8d, r14d
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800412c0
mov eax, dword [0x18004c2a4]
lea rdx, [0x180054010]
mov dword [rbp + 0x558], eax
mov ecx, 0x53
movzx eax, word [0x18004c2a8]
mov r9d, 0x186a0
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
mov r8d, r14d
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.1800412c0
cmp word [0x18004c2b6], bx
mov rax, qword [0x18004c2b0]
mov qword [rbp + 0x558], rax
je 0x18000b3a7
mov r8d, ebx
cmp edi, 2
jl 0x18000b365
movdqa xmm3, xmmword [0x18004fda0]
mov r15d, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
mov esi, 0x1f
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000b3b1
lea r9, [rbp + 0x558]
nop dword [rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x18000b370
mov r15d, 4
lea esi, [r15 + 0x1b]
mov r9d, 0x1388
lea rdx, [0x180054014]
mov r8d, 0xa
lea rcx, [rbp + 0x558]
call fcn.1800412c0
cmp word [0x18004c2be], bx
mov rax, qword [0x18004c2b8]
mov qword [rbp + 0x558], rax
je 0x18000b4b2
cmp edi, 2
jl 0x18000b475
movdqa xmm3, xmmword [0x18004fda0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000b4b2
lea r9, [rbp + 0x558]
nop dword [rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp ebx, 4
jl 0x18000b480
mov r9d, 0x2710
lea rdx, [0x180054018]
mov r8d, 0xa
lea rcx, [rbp + 0x558]
call fcn.1800412c0
movsd xmm0, qword [0x18004c2c0]
lea rdx, [0x18005401c]
movzx eax, word [0x18004c2c8]
mov ecx, 0x5de5
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov r9d, 0x7d0
xor word [rsp + 0x54], 0x38
mov r8d, 0x64
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800412c0
mov eax, dword [0x18004c2cc]
lea rdx, [0x180054020]
movss xmm6, dword [0x18004fa10]
lea rcx, [rbp + 0x558]
movss xmm3, dword [0x18004fd18]
mov ebx, 0x9971
mov dword [rbp + 0x558], eax
movaps xmm2, xmm6
movzx eax, word [0x18004c2d0]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x55c], ax
mov word [rbp + 0x558], bx
call fcn.180040bc0
cmp word [0x18004c2e2], 0
movsd xmm0, qword [0x18004c2d8]
mov eax, dword [0x18004c2e0]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b5c5
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
movaps xmm3, xmm6
lea rdx, [0x180054024]
xorps xmm2, xmm2
lea rcx, [rsp + 0x50]
call fcn.180040bc0
movaps xmm0, xmmword [0x180050950]
lea rax, [0x18004da38]
mov qword [rbp - 0x50], rax
lea r9, [rbp - 0x50]
lea rax, [0x18004da40]
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x48], rax
lea r8, [0x180054028]
lea rax, [0x18004da44]
mov ecx, 0x6027
mov qword [rbp - 0x40], rax
mov eax, dword [0x18004c2e4]
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c2e8]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
mov word [rbp + 0x55c], ax
lea rcx, [rbp + 0x558]
mov eax, 3
jmp 0x18000bc10
cmp eax, 2
jne 0x18000b8a0
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], 0x17
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec08]
movaps xmmword [rbp - 0x80], xmm0
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [0x1800fddd0]
mov qword [rsp + 0x20], rax
movdqa xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
call fcn.18003c840
cmp word [0x18004c2fa], 0
mov ebx, 0x7b2c
movsd xmm0, qword [0x18004c2f0]
mov eax, dword [0x18004c2f8]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b704
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x1801cec10]
lea rdx, [rbp - 0x80]
movups xmm0, xmmword [0x18014dea0]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
mov dword [0x1801cec10], ecx
add rax, rax
mov rcx, qword [0x1800fddd0]
movdqa xmmword [rbp - 0x80], xmm0
mov rcx, qword [rcx + rax*8]
call fcn.180042d80
cmp word [0x18004c30a], 0
movsd xmm0, qword [0x18004c300]
mov eax, dword [0x18004c308]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b7a5
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x1801cec14]
lea rdx, [rbp - 0x80]
movups xmm0, xmmword [0x18014dea0]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
mov dword [0x1801cec14], ecx
add rax, rax
mov rcx, qword [0x1800fddd0]
movdqa xmmword [rbp - 0x80], xmm0
mov rcx, qword [rcx + rax*8]
call fcn.180042d80
cmp word [0x18004c31a], 0
movsd xmm0, qword [0x18004c310]
mov eax, dword [0x18004c318]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b846
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x1801cec18]
lea rdx, [rbp - 0x80]
movups xmm0, xmmword [0x18014dea0]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
mov dword [0x1801cec18], ecx
add rax, rax
mov rcx, qword [0x1800fddd0]
movdqa xmmword [rbp - 0x80], xmm0
mov rcx, qword [rcx + rax*8]
call fcn.180042d80
jmp 0x18000bc30
cmp eax, 3
jne 0x18000bc30
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x1800fddc0]
lea r8, [0x1800fbdc0]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec08]
mov dword [rsp + 0x28], 0x16
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
cmp word [0x18004c32a], 0
mov ebx, 0x7b2c
movsd xmm0, qword [0x18004c320]
mov eax, dword [0x18004c328]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b942
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x180054088]
lea rdx, [rbp - 0x80]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
add rax, rax
mov dword [0x180054088], ecx
mov rcx, qword [0x1800fddc0]
movups xmm0, xmmword [r12 + rax*8 + 0xfbdc0]
mov rcx, qword [rcx + rax*8]
movaps xmmword [rbp - 0x80], xmm0
call fcn.180042d80
cmp word [0x18004c33a], 0
movsd xmm0, qword [0x18004c330]
mov eax, dword [0x18004c338]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000b9e4
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x18005408c]
lea rdx, [rbp - 0x80]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
add rax, rax
mov dword [0x18005408c], ecx
mov rcx, qword [0x1800fddc0]
movups xmm0, xmmword [r12 + rax*8 + 0xfbdc0]
mov rcx, qword [rcx + rax*8]
movaps xmmword [rbp - 0x80], xmm0
call fcn.180042d80
cmp word [0x18004c34a], 0
movsd xmm0, qword [0x18004c340]
mov eax, dword [0x18004c348]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000ba86
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x180054090]
lea rdx, [rbp - 0x80]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
add rax, rax
mov dword [0x180054090], ecx
mov rcx, qword [0x1800fddc0]
movups xmm0, xmmword [r12 + rax*8 + 0xfbdc0]
mov rcx, qword [rcx + rax*8]
movaps xmmword [rbp - 0x80], xmm0
call fcn.180042d80
cmp word [0x18004c35a], 0
movsd xmm0, qword [0x18004c350]
mov eax, dword [0x18004c358]
movaps xmm1, xmmword [0x180050960]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000bb28
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], bx
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x50]
call fcn.180002670
mov ecx, dword [0x180054094]
lea rdx, [rbp - 0x80]
test al, al
mov byte [0x1800542ea], r14b
cmovne ecx, dword [0x1801cec08]
movsxd rax, ecx
add rax, rax
mov dword [0x180054094], ecx
mov rcx, qword [0x1800fddc0]
movups xmm0, xmmword [r12 + rax*8 + 0xfbdc0]
mov rcx, qword [rcx + rax*8]
movaps xmmword [rbp - 0x80], xmm0
call fcn.180042d80
movsd xmm0, qword [0x18004c360]
lea rax, [0x18004da48]
movaps xmm1, xmmword [0x180050950]
lea r9, [rbp - 0x50]
mov qword [rbp - 0x50], rax
lea r8, [0x180054098]
movsd qword [rsp + 0x50], xmm0
lea rax, [0x18004da50]
xor word [rsp + 0x52], 0x37
mov ecx, 0x8bcd
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov qword [rbp - 0x48], rax
lea rax, [0x18004da58]
mov qword [rbp - 0x40], rax
lea rax, str._tNN
mov qword [rbp - 0x38], rax
lea rax, [0x18004da68]
mov qword [rbp - 0x30], rax
movzx eax, word [0x18004c368]
xor ax, 0x3a
mov word [rsp + 0x50], cx
mov word [rsp + 0x58], ax
lea rcx, [rsp + 0x50]
mov eax, 5
movdqa xmmword [rbp - 0x80], xmm1
movss dword [rsp + 0x30], xmm14
lea rdx, [rbp - 0x80]
mov byte [rsp + 0x28], r14b
mov dword [rsp + 0x20], eax
call fcn.1800059b0
mov byte [0x1800542ea], r14b
movsd xmm0, qword [0x18004c370]
lea rdx, [rbp - 0x80]
movzx eax, word [0x18004c378]
mov ecx, 0x5f00
movaps xmm1, xmmword [0x180050960]
xor ax, 0x3a
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000e659
mov rcx, qword [0x1800557c0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov rcx, qword [0x1800f6000]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov eax, dword [0x180054098]
mov r9d, dword [0x180054094]
mov r8d, dword [0x180054090]
mov edx, dword [0x18005408c]
mov ecx, dword [0x180054088]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1801cec0c]
mov dword [rsp + 0x38], eax
mov eax, dword [0x1801cec18]
mov dword [rsp + 0x30], eax
mov eax, dword [0x1801cec14]
mov dword [rsp + 0x28], eax
mov eax, dword [0x1801cec10]
mov dword [rsp + 0x20], eax
call fcn.18003ab50
jmp 0x18000e659
cmp ecx, esi
jne 0x18000cd27
cmp word [0x18004c38a], bx
movsd xmm0, qword [0x18004c380]
mov eax, dword [0x18004c388]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000bd78
xor word [rsp + 0x52], 0x37
mov eax, 0x49
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
xor r8d, r8d
lea rcx, [rsp + 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
mov eax, dword [0x18004c38c]
lea rdx, [rbp - 0x80]
cmp dword [0x180055864], ebx
mov ecx, 0x6b66
movaps xmm0, xmmword [0x180050960]
mov dword [rbp + 0x558], eax
sete r8b
movzx eax, word [0x18004c390]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movdqa xmmword [rbp - 0x80], xmm0
call fcn.180002970
mov ecx, dword [0x180055864]
test al, al
mov rax, qword [0x18004c398]
movaps xmm4, xmmword [0x180050960]
cmovne ecx, ebx
cmp ecx, r14d
mov dword [0x180055864], ecx
mov byte [0x1800542ea], r14b
sete r10b
mov qword [rbp + 0x558], rax
cmp word [0x18004c39e], bx
je 0x18000bef6
mov r8d, ebx
cmp edi, 2
jl 0x18000beb3
movdqa xmm3, xmmword [0x18004fda0]
mov eax, 0x1f
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, eax
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000bef6
lea r9, [rbp + 0x558]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, esi
jl 0x18000bec0
movzx r8d, r10b
movdqa xmmword [rbp - 0x80], xmm4
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x558]
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, dword [0x18004c3a0]
cmovne ecx, r14d
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c3a4]
cmp ecx, 2
mov dword [0x180055864], ecx
mov ecx, 0x62a4
sete r8b
mov word [rbp + 0x558], cx
xor word [rbp + 0x55a], 0x37
lea rcx, [rbp + 0x558]
xor ax, 0x38
mov byte [0x1800542ea], r14b
mov word [rbp + 0x55c], ax
movdqa xmmword [rbp - 0x80], xmm0
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, 2
movdqa xmmword [rbp - 0x80], xmm0
cmovne ecx, eax
mov eax, dword [0x18004c3a8]
mov dword [rbp + 0x558], eax
cmp ecx, 3
movzx eax, word [0x18004c3ac]
mov dword [0x180055864], ecx
sete r8b
xor word [rbp + 0x55a], 0x37
mov ecx, 0x914d
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, 3
mov byte [0x1800542ea], r14b
cmovne ecx, eax
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [0x18004c3b0]
cmp ecx, esi
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c3b4]
sete r8b
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov dword [0x180055864], ecx
mov ecx, 0x6750
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055864]
test al, al
mov eax, dword [0x18004c3b8]
movaps xmm0, xmmword [0x180050960]
cmovne ecx, esi
mov dword [rbp + 0x558], eax
cmp ecx, 5
movzx eax, word [0x18004c3bc]
sete r8b
mov dword [0x180055864], ecx
xor word [rbp + 0x55a], 0x37
mov ecx, 0x6d88
xor ax, 0x38
mov byte [0x1800542ea], r14b
mov word [rbp + 0x558], cx
lea rdx, [rbp - 0x80]
mov word [rbp + 0x55c], ax
lea rcx, [rbp + 0x558]
movdqa xmmword [rbp - 0x80], xmm0
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, 5
movdqa xmmword [rbp - 0x80], xmm0
cmovne ecx, eax
mov eax, dword [0x18004c3c0]
mov dword [rbp + 0x558], eax
cmp ecx, 6
movzx eax, word [0x18004c3c4]
mov dword [0x180055864], ecx
sete r8b
xor word [rbp + 0x55a], 0x37
mov ecx, 0x5f39
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050960]
test al, al
mov eax, 6
mov byte [0x1800542ea], r14b
cmovne ecx, eax
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [0x18004c3c8]
cmp ecx, 7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c3cc]
sete r8b
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov dword [0x180055864], ecx
mov ecx, 0x98df
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
call fcn.180002970
mov ecx, dword [0x180055864]
lea rdx, [rbp - 0x80]
movsd xmm0, qword [0x18004c3d0]
test al, al
movaps xmm1, xmmword [0x180050960]
mov eax, 7
cmovne ecx, eax
movsd qword [rsp + 0x50], xmm0
movzx eax, word [0x18004c3d8]
cmp ecx, 8
mov dword [0x180055864], ecx
mov esi, 0x5e15
sete r8b
mov byte [0x1800542ea], r14b
xor word [rsp + 0x52], 0x37
lea rcx, [rsp + 0x50]
xor word [rsp + 0x54], 0x38
xor ax, 0x3a
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x58], ax
mov word [rsp + 0x50], si
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180002970
mov ecx, dword [0x180055864]
test al, al
mov rax, qword [0x18004c3e0]
movaps xmm4, xmmword [0x180050960]
cmovne ecx, r13d
cmp ecx, 9
mov dword [0x180055864], ecx
mov qword [rbp + 0x558], rax
sete r10b
cmp word [0x18004c3e6], bx
je 0x18000c337
mov r8d, ebx
cmp edi, 2
jl 0x18000c2ee
movdqa xmm3, xmmword [0x18004fda0]
mov r15d, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
mov esi, 0x1f
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000c341
lea r9, [rbp + 0x558]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x18000c300
mov r15d, 4
lea esi, [r15 + 0x1b]
movzx r8d, r10b
movdqa xmmword [rbp - 0x80], xmm4
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x558]
call fcn.180002970
mov ecx, dword [0x180055864]
test al, al
movaps xmm4, xmmword [0x180050960]
mov eax, 9
cmovne ecx, eax
mov byte [0x1800542ea], r14b
mov rax, qword [0x18004c3e8]
cmp ecx, 0xa
mov dword [0x180055864], ecx
sete r10b
mov qword [rbp + 0x558], rax
cmp word [0x18004c3ee], bx
je 0x18000c477
mov r8d, ebx
cmp edi, 2
jl 0x18000c42d
movdqa xmm3, xmmword [0x18004fda0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r15d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000c477
lea r9, [rbp + 0x558]
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x18000c440
movzx r8d, r10b
movdqa xmmword [rbp - 0x80], xmm4
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x558]
call fcn.180002970
test al, al
je 0x18000c4a3
mov dword [0x180055864], 0xa
jmp 0x18000cb7b
mov eax, dword [0x180055864]
test eax, eax
jne 0x18000c555
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x180100370]
lea r8, [0x1800ff6f0]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec1c]
mov dword [rsp + 0x28], ebx
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c3f0]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c3f4]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec1c]
jmp 0x18000cc1a
cmp eax, r14d
jne 0x18000c603
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x180101640]
lea r8, [0x1801009c0]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec20]
mov dword [rsp + 0x28], r14d
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c3f8]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c3fc]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec20]
jmp 0x18000cc1a
cmp eax, 2
jne 0x18000c6b0
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x180101c90]
movups xmm1, xmmword [0x180102910]
lea rdx, [0x1801cec24]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c400]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c404]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec24]
jmp 0x18000cc1a
cmp eax, 3
jne 0x18000c75d
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x180102f60]
movups xmm1, xmmword [0x180103be0]
lea rdx, [0x1801cec28]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c408]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c40c]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec28]
jmp 0x18000cc1a
cmp eax, 4
jne 0x18000c80b
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x180104eb0]
lea r8, [0x180104230]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec2c]
mov dword [rsp + 0x28], r15d
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c410]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c414]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec2c]
jmp 0x18000cc1a
cmp eax, 5
jne 0x18000c8bd
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x180105500]
movups xmm1, xmmword [0x180106180]
lea rdx, [0x1801cec30]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov eax, 5
movaps xmmword [rbp - 0x80], xmm0
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c418]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c41c]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec30]
jmp 0x18000cc1a
cmp eax, 6
jne 0x18000c96a
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x1801067d0]
movups xmm1, xmmword [0x180107450]
lea rdx, [0x1801cec34]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c420]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c424]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec34]
jmp 0x18000cc1a
cmp eax, 7
jne 0x18000ca17
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x180107aa0]
movups xmm1, xmmword [0x180108720]
lea rdx, [0x1801cec38]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c428]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c42c]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec38]
jmp 0x18000cc1a
cmp eax, 8
jne 0x18000cac5
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x1801099f0]
lea r8, [0x180108d70]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec3c]
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c430]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c434]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec3c]
jmp 0x18000cc1a
cmp eax, 9
jne 0x18000cb72
movaps xmm0, xmmword [0x1800509b0]
lea r8, [0x18010a040]
movups xmm1, xmmword [0x18010acc0]
lea rdx, [0x1801cec40]
movss xmm3, dword [0x18004fcf0]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003d050
mov eax, dword [0x18004c438]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c43c]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec40]
jmp 0x18000cc1a
cmp eax, 0xa
jne 0x18000cc27
movaps xmm0, xmmword [0x1800509b0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18010d260]
lea r8, [0x18010c5e0]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec44]
mov dword [rsp + 0x28], 0xa
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c440]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x83b7
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c444]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000cc27
mov eax, dword [0x1801cec44]
mov dword [0x180054b1c], eax
mov byte [0x180054b1a], r14b
movsd xmm0, qword [0x18004c448]
lea rdx, [0x180054008]
movzx eax, word [0x18004c450]
mov ecx, 0x5237
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
mov r9d, 0x3e8
xor word [rsp + 0x54], 0x38
mov r8d, r14d
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.1800412c0
mov rcx, qword [0x1800f5ff0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
cmp byte [0x180054b1a], bl
je 0x18000e659
mov r8d, dword [0x180055864]
mov byte [0x180054b1a], bl
lea edx, [r8 + 1]
mov ecx, edx
sub ecx, r14d
je 0x18000ccce
sub ecx, 2
je 0x18000ccce
sub ecx, r14d
je 0x18000ccce
cmp ecx, 6
je 0x18000ccce
mov r14d, dword [0x180054008]
jmp 0x18000ccd5
mov dword [0x180054008], r14d
mov rcx, qword [0x1800f5ff0]
xor r9d, r9d
cmp r8d, 0xa
mov r8d, r14d
jne 0x18000cd01
movsxd rdx, dword [0x180054b1c]
mov rdx, qword [r12 + rdx*8 + 0x10bfa0]
call fcn.18003d850
jmp 0x18000e659
movsxd rax, edx
imul rdx, rax, 0x25a
movsxd rax, dword [0x180054b1c]
add rdx, rax
mov rdx, qword [r12 + rdx*8 + 0xfdde0]
call fcn.18003d850
jmp 0x18000e659
cmp ecx, 5
jne 0x18000d01a
movzx eax, word [0x18004c478]
mov r8d, ebx
mov word [rbp - 0x30], ax
movups xmm0, xmmword [str.rBV_TR]
movups xmm1, xmmword [str.Q43__F]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp edi, 2
jl 0x18000ce83
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
mov eax, 0x1f
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, esi
movd xmm8, eax
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
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x10
jl 0x18000cd90
cmp r8d, 0x11
jge 0x18000cec5
movsxd rax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x11
jl 0x18000ce90
xor r8d, r8d
lea rcx, [rbp - 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
movaps xmm0, xmmword [0x1800509d0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], 0xf
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec48]
movaps xmmword [rbp - 0x80], xmm0
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [0x1800f62e0]
movaps xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003c840
mov eax, dword [0x18004c47c]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x4f20
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c480]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000e659
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
movsxd rax, dword [0x1801cec48]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
lea rcx, [rax + rax*2]
movsd xmm6, qword [r12 + rcx*8 + 0xf62f0]
movsd xmm7, qword [r12 + rcx*8 + 0xf62f8]
movsd xmm8, qword [r12 + rcx*8 + 0xf6300]
mov rcx, qword [0x1800557d8]
call fcn.18001f230
movups xmm0, xmmword [rbp + 0x10]
lea rdx, [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
movaps xmm1, xmm6
movups xmm0, xmmword [rbp + 0x30]
mov rcx, rax
movsd xmm0, xmm8
unpcklpd xmm1, xmm7
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rbp + 0x50]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm1
call fcn.18003f190
jmp 0x18000e659
cmp ecx, 6
jne 0x18000d357
movsd xmm1, qword [0x18004c498]
mov r8d, ebx
movzx eax, word [0x18004c4a0]
movsd qword [rbp - 0x40], xmm1
mov word [rbp - 0x38], ax
movups xmm0, xmmword [str.bEYO_W]
movups xmmword [rbp - 0x50], xmm0
cmp edi, 2
jl 0x18000d148
movdqa xmm2, xmmword [0x18004fda0]
mov eax, 0x1f
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, r13d
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, eax
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [str.bEYO_W]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rbp - 0x48], xmm3
mov eax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0xd
jl 0x18000d160
xor r8d, r8d
lea rcx, [rbp - 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
movaps xmm0, xmmword [0x1800509d0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], 0x10
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec4c]
movaps xmmword [rbp - 0x80], xmm0
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [0x1800fa450]
movaps xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003c840
mov eax, dword [0x18004c4a4]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x4f20
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c4a8]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000d2e5
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000d2e5
movsxd rax, dword [0x1801cec4c]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
lea rcx, [rax + rax*2]
movsd xmm6, qword [r12 + rcx*8 + 0xfa460]
movsd xmm7, qword [r12 + rcx*8 + 0xfa468]
movsd xmm8, qword [r12 + rcx*8 + 0xfa470]
mov rcx, qword [0x1800557d8]
call fcn.18001f230
movups xmm0, xmmword [rbp + 0x10]
lea rdx, [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
movaps xmm1, xmm6
movups xmm0, xmmword [rbp + 0x30]
mov rcx, rax
movsd xmm0, xmm8
unpcklpd xmm1, xmm7
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rbp + 0x50]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm1
call fcn.18003f190
movups xmm0, xmmword [0x18004c4b0]
movzx eax, word [0x18004c4c0]
lea r8, [0x180054084]
movaps xmm1, xmmword [0x180050950]
lea rdx, [rbp - 0x80]
movups xmmword [rbp - 0x50], xmm0
xor word [rbp - 0x4e], 0x37
mov ecx, 0x5927
xor word [rbp - 0x4c], 0x38
xor ax, 0x3e
xor word [rbp - 0x4a], 0x39
xor word [rbp - 0x48], 0x3a
xor word [rbp - 0x46], 0x3b
xor word [rbp - 0x44], 0x3c
xor word [rbp - 0x42], 0x3d
mov word [rbp - 0x50], cx
lea rcx, [rbp - 0x50]
mov byte [0x1800542ea], r14b
mov word [rbp - 0x40], ax
movdqa xmmword [rbp - 0x80], xmm1
call fcn.18001f9d0
jmp 0x18000e659
cmp ecx, 7
jne 0x18000db53
cmp word [0x18004c4d2], bx
movsd xmm0, qword [str.qEWLJ_]
mov eax, dword [0x18004c4d0]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
je 0x18000d3a9
xor word [rsp + 0x52], 0x37
mov eax, 0x47
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
xor r8d, r8d
lea rcx, [rsp + 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
mov r8d, ebx
mov r14d, 0x1f
movups xmm0, xmmword [0x18004c4d8]
movups xmm1, xmmword [0x18004c4e8]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [0x18004c4f8]
movsd qword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp edi, 2
jl 0x18000d513
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, esi
movd xmm8, r14d
nop dword [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
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x10
jl 0x18000d420
cmp r8d, 0x14
jge 0x18000d555
movsxd rax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop
mov eax, 0x4d4873ed
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x14
jl 0x18000d520
xor r8d, r8d
lea rcx, [rbp - 0x50]
xor edx, edx
call fcn.180042ee0
mov eax, dword [0x18004c528]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18004c52c]
mov word [rbp - 0x24], ax
movups xmm0, xmmword [0x18004c500]
movups xmm1, xmmword [0x18004c510]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [0x18004c520]
movsd qword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp edi, 2
jl 0x18000d6ce
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm7, xmmword [0x18004fdc0]
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, esi
movd xmm8, r14d
nop dword [rax]
nop word [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x10
jl 0x18000d5e0
cmp ebx, 0x17
jge 0x18000d711
movsxd rax, ebx
lea r8, [rbp - 0x50]
lea r8, [r8 + rax*2]
nop dword [rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 2]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x36
xor word [r8 - 2], ax
cmp ebx, 0x17
jl 0x18000d6e0
xor r8d, r8d
lea rcx, [rbp - 0x50]
xor edx, edx
call fcn.180042ee0
movaps xmm0, xmmword [0x1800509a0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], 0x11
movss xmm6, dword [0x18004fcf0]
lea rdx, [0x1801cec50]
movaps xmmword [rbp - 0x80], xmm0
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [0x18014b810]
movaps xmm3, xmm6
movaps xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003c840
movaps xmm0, xmmword [0x1800509a0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014dea0]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], 0x12
movaps xmmword [rbp - 0x80], xmm0
lea rdx, [0x1801cec54]
movups xmm0, xmmword [0x18014b810]
lea rcx, [rsp + 0x50]
movaps xmm3, xmm6
movaps xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003c840
mov eax, dword [0x18004c538]
lea rdx, [rbp - 0x80]
movsd xmm0, qword [0x18004c530]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050950]
mov edi, 0x5f3a
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c53c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov word [rsp + 0x50], di
movaps xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000d8f2
mov rcx, qword [0x1800f6010]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000d8f2
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000d8f2
movsxd r10, dword [0x1801cec54]
movsxd r9, dword [0x1801cec50]
add r10, r10
add r9, r9
movups xmm1, xmmword [r12 + r10*8 + 0x14b820]
movq rcx, xmm1
movdqa xmm0, xmm1
mov rax, rcx
psrldq xmm0, 8
xor ecx, dword [r12 + r9*8 + 0x14b820]
movq rdx, xmm0
mov r8, rdx
shr rax, 0x20
xor eax, dword [r12 + r9*8 + 0x14b824]
xor edx, dword [r12 + r9*8 + 0x14b828]
shr r8, 0x20
xor r8d, dword [r12 + r9*8 + 0x14b82c]
or r8d, eax
or r8d, edx
or r8d, ecx
je 0x18000d8f2
mov rcx, qword [0x1800f6010]
lea r8, [rbp - 0x80]
movaps xmmword [rbp - 0x80], xmm1
lea rdx, [rsp + 0x60]
movups xmm1, xmmword [r12 + r9*8 + 0x14b820]
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003ec20
mov eax, dword [0x18004c548]
lea rdx, [rbp - 0x80]
movsd xmm0, qword [0x18004c540]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050950]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c54c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov byte [0x1800542ea], 1
mov word [rsp + 0x50], di
movaps xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000da23
mov rcx, qword [0x1800f6010]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000da23
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000da23
movsxd r10, dword [0x1801cec54]
movsxd r9, dword [0x1801cec50]
add r10, r10
add r9, r9
movups xmm1, xmmword [r12 + r10*8 + 0x14b820]
movq rcx, xmm1
movdqa xmm0, xmm1
mov rax, rcx
psrldq xmm0, 8
xor ecx, dword [r12 + r9*8 + 0x14b820]
movq rdx, xmm0
mov r8, rdx
shr rax, 0x20
xor eax, dword [r12 + r9*8 + 0x14b824]
xor edx, dword [r12 + r9*8 + 0x14b828]
shr r8, 0x20
xor r8d, dword [r12 + r9*8 + 0x14b82c]
or r8d, eax
or r8d, edx
or r8d, ecx
je 0x18000da23
mov rcx, qword [0x1800f6010]
lea r8, [rbp - 0x80]
movaps xmmword [rbp - 0x80], xmm1
lea rdx, [rsp + 0x60]
movups xmm1, xmmword [r12 + r9*8 + 0x14b820]
movaps xmmword [rsp + 0x60], xmm1
call fcn.18003e370
mov eax, dword [0x18004c558]
lea rdx, [rbp - 0x80]
movsd xmm0, qword [0x18004c550]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [0x180050950]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c55c]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x5c], ax
mov byte [0x1800542ea], 1
mov word [rsp + 0x50], di
movaps xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000e659
mov rcx, qword [0x1800f6010]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
movsxd rax, dword [0x1801cec54]
movsxd r9, dword [0x1801cec50]
add rax, rax
add r9, r9
movups xmm1, xmmword [r12 + rax*8 + 0x14b820]
movq rcx, xmm1
movdqa xmm0, xmm1
mov rax, rcx
psrldq xmm0, 8
xor ecx, dword [r12 + r9*8 + 0x14b820]
movq rdx, xmm0
mov r8, rdx
shr rax, 0x20
xor eax, dword [r12 + r9*8 + 0x14b824]
xor edx, dword [r12 + r9*8 + 0x14b828]
shr r8, 0x20
xor r8d, dword [r12 + r9*8 + 0x14b82c]
or r8d, eax
or r8d, edx
or r8d, ecx
je 0x18000e659
movups xmm0, xmmword [r12 + r9*8 + 0x14b820]
mov rcx, qword [0x1800f6010]
lea rdx, [rbp - 0x80]
movaps xmmword [rbp - 0x80], xmm0
call fcn.18003e970
jmp 0x18000e659
cmp ecx, 8
jne 0x18000de67
movups xmm1, xmmword [0x18004c570]
movups xmm0, xmmword [0x18004c560]
pextrw eax, xmm1, 7
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
test ax, ax
je 0x18000dcf7
mov r8d, ebx
cmp edi, 2
jl 0x18000dcbb
movdqa xmm5, xmmword [0x18004fda0]
lea rcx, [rbp - 0x50]
movdqa xmm4, xmmword [0x180050ef0]
mov eax, 0x1f
movdqa xmm7, xmmword [0x18004fdc0]
mov edx, ebx
movdqa xmm9, xmmword [0x18004fdd0]
movd xmm6, esi
movd xmm8, eax
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
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
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x10
jl 0x18000dbd0
jmp 0x18000dcf7
lea r9, [rbp - 0x50]
nop
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x10
jl 0x18000dcc0
xor r8d, r8d
lea rcx, [rbp - 0x50]
lea edx, [r8 + 0xf]
call fcn.180043050
movaps xmm0, xmmword [0x1800509d0]
lea rax, [rbp - 0x80]
movups xmm1, xmmword [0x18014b810]
lea r8, [0x18014c7c0]
movss xmm3, dword [0x18004fcf0]
lea rdx, [0x1801cec58]
mov dword [rsp + 0x28], 0x10
lea rcx, [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x20], rax
call fcn.18003d050
mov eax, dword [0x18004c580]
lea rdx, [rbp - 0x80]
movaps xmm0, xmmword [0x180050950]
mov ecx, 0x4f20
mov dword [rbp + 0x558], eax
movzx eax, word [0x18004c584]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
movaps xmmword [rbp - 0x80], xmm0
call fcn.180002670
test al, al
je 0x18000e659
mov rcx, qword [0x1800557d8]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
movsxd rax, dword [0x1801cec58]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
lea rcx, [rax + rax*2]
movsd xmm0, qword [r12 + rcx*8 + 0x14be60]
ucomisd xmm0, xmm11
movsd xmm2, qword [r12 + rcx*8 + 0x14be68]
movsd xmm1, qword [r12 + rcx*8 + 0x14be70]
movsd qword [rbp + 0x20], xmm0
movsd qword [rbp + 0x28], xmm2
movsd qword [rbp + 0x30], xmm1
jp 0x18000de1a
jne 0x18000de1a
ucomisd xmm2, xmm11
jp 0x18000de1a
jne 0x18000de1a
ucomisd xmm1, xmm11
jp 0x18000de1a
je 0x18000e659
mov rcx, qword [0x1800557d8]
call fcn.18001f230
movups xmm0, xmmword [rbp + 0x10]
lea rdx, [rbp - 0x50]
movups xmm1, xmmword [rbp + 0x20]
mov rcx, rax
movaps xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rbp + 0x30]
movaps xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rbp + 0x40]
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp + 0x50]
movaps xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rbp + 0x60]
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp], xmm1
call fcn.18003f190
jmp 0x18000e659
cmp ecx, edx
jne 0x18000e659
movsd xmm0, qword [0x18004c588]
mov ecx, 0x42
movzx eax, word [0x18004c590]
xor r8d, r8d
movsd qword [rsp + 0x50], xmm0
xor ax, 0x3a
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
lea edx, [rcx - 0x33]
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x58], ax
call fcn.180043050
cmp word [0x18004c59e], bx
mov rax, qword [0x18004c598]
mov qword [rbp + 0x558], rax
je 0x18000dfa6
mov r8d, ebx
cmp edi, 2
jl 0x18000df67
movdqa xmm3, xmmword [0x18004fda0]
mov r14d, 0x1f
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180050ef0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180050ef0]
shufps xmm2, xmm0, 0xdd
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18004fdc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x558]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x18004fdd0]
pxor xmm2, xmm0
movq qword [rbp + 0x558], xmm2
jmp 0x18000dfac
lea r9, [rbp + 0x558]
nop
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, esi
jl 0x18000df70
mov r14d, 0x1f
lea rdx, [0x1801cec5d]
lea rcx, [rbp + 0x558]
call fcn.1800032c0
cmp word [0x18004c5aa], bx
movsd xmm0, qword [0x18004c5a0]
mov eax, dword [0x18004c5a8]
movsd qword [rsp + 0x50], xmm0
mov byte [0x1800542ea], 1
mov dword [rsp + 0x58], eax
je 0x18000e00f
xor word [rsp + 0x52], 0x37
mov eax, 0x4ec5
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
xor word [rsp + 0x58], 0x3a
xor word [rsp + 0x5a], 0x3b
mov word [rsp + 0x50], ax
lea rdx, [0x1801cec5e]
lea rcx, [rsp + 0x50]
call fcn.1800032c0
mov eax, dword [str.Q8]
lea rdx, [0x1801cec5f]
mov dword [rbp + 0x558], eax
mov ecx, 0x5168
movzx eax, word [0x18004c5b0]
xor word [rbp + 0x55a], 0x37
xor ax, 0x38
mov word [rbp + 0x558], cx
lea rcx, [rbp + 0x558]
mov word [rbp + 0x55c], ax
mov byte [0x1800542ea], 1
call fcn.1800032c0
mov eax, dword [0x18004c5c0]
lea rdx, [rbp - 0x80]
movsd xmm0, qword [str.fOO]
mov ecx, 0x4f50
movaps xmm1, xmmword [0x180050960]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004c5c4]
xor word [rsp + 0x58], 0x3a
xor ax, 0x3c
xor word [rsp + 0x5a], 0x3b
movsd qword [rsp + 0x50], xmm0
xor word [rsp + 0x52], 0x37
xor word [rsp + 0x54], 0x38
xor word [rsp + 0x56], 0x39
mov word [rsp + 0x50], cx
lea rcx, [rsp + 0x50]
mov word [rsp + 0x5c], ax
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000e0e8
mov byte [0x1801cec60], 1
mov byte [0x1801cec5c], 1
movups xmm0, xmmword [0x18004c5c8]
mov byte [0x1800542ea], 1
movaps xmm9, xmmword [0x180050960]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x50], xmm0
test ax, ax
je 0x18000e257
mov r8d, ebx
cmp edi, 2
jl 0x18000e211
movdqa xmm2, xmmword [0x18004fda0]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c5c8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rsp + 0x58], xmm3
jmp 0x18000e257
lea r9, [rsp + 0x50]
nop word [rax + rax]
mov eax, 0x3521cfb3
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 8
jl 0x18000e220
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm9
lea rcx, [rsp + 0x50]
call fcn.180002670
test al, al
je 0x18000e27d
mov byte [0x1801cec60], 5
mov byte [0x1801cec5c], 1
movups xmm0, xmmword [0x18004c5d8]
mov byte [0x1800542ea], 1
movaps xmm9, xmmword [0x180050960]
pextrw eax, xmm0, 7
movups xmmword [rsp + 0x50], xmm0
test ax, ax
je 0x18000e3e2
cmp edi, 2
jl 0x18000e3a3
movdqa xmm2, xmmword [0x18004fda0]
movdqa xmm4, xmmword [0x180050ef0]
movdqa xmm1, xmm2
movdqa xmm8, xmmword [0x18004fdd0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movd xmm6, esi
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x18004c5d8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x18004fdb0]
pxor xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18004fdc0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x58]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rsp + 0x58], xmm3
jmp 0x18000e3e2
lea r8, [rsp + 0x50]
nop dword [rax + rax]
mov eax, 0x3521cfb3
lea r8, [r8 + 2]
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x36
xor word [r8 - 2], ax
cmp ebx, 8
jl 0x18000e3b0
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm9
lea rcx, [rsp + 0x50]
call fcn.180002670
test al, al
je 0x18000e408
mov byte [0x1801cec60], 3
mov byte [0x1801cec5c], 1
mov eax, dword [0x18004c5f8]
lea rdx, [rbp - 0x80]
movups xmm0, xmmword [0x18004c5e8]
mov ecx, 0x963f
mov dword [rbp - 0x40], eax
movaps xmm1, xmmword [0x180050970]
movzx eax, word [0x18004c5fc]
xor word [rbp - 0x40], 0x3e
xor ax, 0x40
xor word [rbp - 0x3e], 0x3f
movups xmmword [rbp - 0x50], xmm0
xor word [rbp - 0x4e], 0x37
xor word [rbp - 0x4c], 0x38
xor word [rbp - 0x4a], 0x39
xor word [rbp - 0x48], 0x3a
xor word [rbp - 0x46], 0x3b
xor word [rbp - 0x44], 0x3c
xor word [rbp - 0x42], 0x3d
mov word [rbp - 0x50], cx
lea rcx, [rbp - 0x50]
mov word [rbp - 0x3c], ax
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180002670
test al, al
je 0x18000e48c
mov byte [0x1801cec60], 2
mov byte [0x1801cec5c], 1
cmp word [0x18004c612], 0
movups xmm0, xmmword [0x18004c600]
mov eax, dword [0x18004c610]
movaps xmm1, xmmword [0x180050970]
movups xmmword [rbp - 0x50], xmm0
mov byte [0x1800542ea], 1
mov dword [rbp - 0x40], eax
je 0x18000e4ee
xor word [rbp - 0x4e], 0x37
mov eax, 0x7ef4
xor word [rbp - 0x4c], 0x38
xor word [rbp - 0x4a], 0x39
xor word [rbp - 0x48], 0x3a
xor word [rbp - 0x46], 0x3b
xor word [rbp - 0x44], 0x3c
xor word [rbp - 0x42], 0x3d
xor word [rbp - 0x40], 0x3e
xor word [rbp - 0x3e], 0x3f
mov word [rbp - 0x50], ax
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rbp - 0x50]
call fcn.180002670
test al, al
je 0x18000e514
mov byte [0x1801cec60], sil
mov byte [0x1801cec5c], 1
jmp 0x18000e521
cmp byte [0x1801cec5c], 0
je 0x18000e659
mov rcx, qword [0x1800557c0]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov rcx, qword [0x180055798]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e659
mov rdx, qword [0x180055798]
mov rcx, qword [0x1800557e0]
call fcn.18001d7a0
mov rdx, r13
mov rcx, rax
mov rbx, rax
call fcn.18003b360
test eax, eax
jne 0x18000e652
mov rcx, qword [0x1800f6020]
mov rdx, r13
call fcn.18003b360
test eax, eax
jne 0x18000e652
mov edx, dword [0x18014e5ec]
lea rcx, [rsp + 0x60]
add rdx, rbx
call fcn.180001370
mov eax, dword [rsp + 0x68]
test eax, eax
jle 0x18000e603
mov rbx, qword [rsp + 0x60]
mov esi, eax
mov rcx, qword [rbx]
call fcn.18001df90
mov rdx, r13
mov rcx, rax
mov rdi, rax
call fcn.18003b360
test eax, eax
jne 0x18000e5f9
cmp byte [0x1801cec5d], al
je 0x18000e5e3
cmp byte [0x1801cec5e], al
jne 0x18000e5e3
cmp byte [0x1801cec5f], al
je 0x18000e5f9
movzx edx, byte [0x1801cec60]
mov r8, rdi
mov rcx, qword [0x1800f6020]
call fcn.18003ddd0
add rbx, 8
sub rsi, 1
jne 0x18000e5b1
cmp byte [0x1801cec5d], 0
je 0x18000e615
cmp byte [0x1801cec5e], 0
je 0x18000e61e
cmp byte [0x1801cec5f], 0
je 0x18000e638
mov r8, qword [0x1800557c0]
movzx edx, byte [0x1801cec60]
mov rcx, qword [0x1800f6020]
call fcn.18003ddd0
mov r8, qword [0x1800557c0]
movzx edx, byte [0x1801cec60]
mov rcx, qword [0x1800f6020]
call fcn.18003e0a0
mov byte [0x1801cec5c], 0
lea rbx, [0x1800f6ca0]
mov edi, 0x80
nop word [rax + rax]
mov eax, dword [rbx - 0x50]
cmp eax, 0xffffffff
je 0x18000e761
cmp eax, 1
jne 0x18000e6b5
movups xmm1, xmmword [rbx - 0x48]
lea r9, [rbp - 0x80]
movsd xmm2, qword [rbx - 0x30]
lea rcx, [rbp - 0x50]
movups xmm0, xmmword [rbx - 0x28]
movaps xmmword [rbp - 0x50], xmm1
movsd xmm1, qword [rbx - 0x38]
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm2, xmm2
movaps xmmword [rbp - 0x80], xmm0
call fcn.180046440
jmp 0x18000e75a
cmp eax, 2
jne 0x18000e6e7
movups xmm0, xmmword [rbx - 0x28]
movzx r9d, byte [rbx - 0x10]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rbx - 0x48]
mov rcx, qword [rbx - 0x18]
lea rdx, [rbp - 0x80]
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x80], xmm1
mov byte [rsp + 0x20], 1
call fcn.1800433d0
jmp 0x18000e75a
cmp eax, 3
jne 0x18000e714
movups xmm0, xmmword [rbx - 0x28]
movzx r9d, byte [rbx - 0x10]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rbx - 0x48]
mov rcx, qword [rbx - 0x18]
lea rdx, [rbp - 0x80]
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x80], xmm1
call fcn.1800432a0
jmp 0x18000e75a
cmp eax, 4
jne 0x18000e75a
movups xmm0, xmmword [rbx - 0x28]
lea rax, [rbp - 0x50]
mov rcx, qword [0x180054af8]
movd xmm3, dword [rbx + 0x18]
lea r8, [rsp + 0x60]
movups xmm1, xmmword [rbx + 8]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rbx - 8]
cvtdq2ps xmm3, xmm3
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
call fcn.18003b9d0
mov dword [rbx - 0x50], 0xffffffff
add rbx, 0x70
sub rdi, 1
jne 0x18000e670
movzx ecx, byte [0x180054036]
call fcn.180016af0
movaps xmm9, xmmword [rsp + 0x5d0]
lea r11, [rsp + 0x610]
mov rbx, qword [r11 + 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm8, xmmword [rsp + 0x5e0]
movaps xmm7, xmmword [rsp + 0x5f0]
movaps xmm6, xmmword [rsp + 0x600]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret