Function at 0x18003ae50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x538]
sub rsp, 0x638
movaps xmmword [rsp + 0x620], xmm6
mov r13, qword [0x1802b9c20]
mov qword [rbp - 8], r13
movsxd r15, dword [r13 + 0x3c]
add r15, r13
mov qword [rbp + 0x28], r15
mov eax, dword [r15 + 0x1c]
mov dword [rbp + 0x590], eax
mov eax, dword [0x180189a58]
mov dword [rbp + 0x580], eax
movzx eax, word [0x180189a5c]
mov word [rbp + 0x584], ax
mov byte [rbp + 0x580], 0x2e
xor byte [rbp + 0x581], 0x31
xor byte [rbp + 0x582], 0x32
xor byte [rbp + 0x583], 0x33
xor al, 0x34
mov byte [rbp + 0x584], al
xor byte [rbp + 0x585], 0x35
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xor edi, edi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
lea rax, [rbp + 0x580]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x18003af00
lea rdx, [rbp + 0x580]
lea rcx, [rbp - 0x28]
call fcn.18001f940
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.180099250
mov r14, rax
mov ecx, dword [0x180189ba0]
mov dword [rbp + 0x580], ecx
movzx ecx, word [0x180189ba4]
mov word [rbp + 0x584], cx
mov byte [rbp + 0x580], 0x2e
xor byte [rbp + 0x581], 0x31
xor byte [rbp + 0x582], 0x32
xor byte [rbp + 0x583], 0x33
xor cl, 0x34
mov byte [rbp + 0x584], cl
xor byte [rbp + 0x585], 0x35
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
lea rax, [rbp + 0x580]
mov r8, rbx
inc r8
cmp byte [rax + r8], dil
jne 0x18003af87
lea rdx, [rbp + 0x580]
lea rcx, [rbp - 0x48]
call fcn.18001f940
lea rdx, [rbp - 0x48]
mov rcx, r13
call fcn.180099250
mov rsi, rax
mov ecx, dword [0x180189bb8]
mov dword [rbp + 0x580], ecx
movzx ecx, word [0x180189bbc]
mov word [rbp + 0x584], cx
mov byte [rbp + 0x580], 0x2e
xor byte [rbp + 0x581], 0x31
xor byte [rbp + 0x582], 0x32
xor byte [rbp + 0x583], 0x33
xor cl, 0x34
mov byte [rbp + 0x584], cl
xor byte [rbp + 0x585], 0x35
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rdi
lea rax, [rbp + 0x580]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], dil
jne 0x18003b010
mov r8, rbx
lea rdx, [rbp + 0x580]
lea rcx, [rbp + 0x30]
call fcn.18001f940
lea rdx, [rbp + 0x30]
mov rcx, r13
call fcn.180099250
mov rbx, rax
mov qword [rbp], rax
mov ecx, dword [r15 + 8]
mov dword [0x1802b9d94], ecx
movsd xmm0, qword [0x180189b80]
movsd qword [rsp + 0x20], xmm0
movzx ecx, byte [0x180189b88]
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor cl, 0x38
mov byte [rsp + 0x28], cl
mov edx, dword [r14 + 8]
sub edx, 0x100
mov ecx, dword [r14 + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
test rax, rax
jne 0x18003b16e
movsd xmm0, qword [0x180189b80]
movsd qword [rsp + 0x20], xmm0
movzx eax, byte [0x180189b88]
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor al, 0x38
mov byte [rsp + 0x28], al
mov edx, dword [rsi + 8]
sub edx, 0x100
mov ecx, dword [rsi + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
test rax, rax
jne 0x18003b16e
movsd xmm0, qword [0x180189b80]
movsd qword [rsp + 0x20], xmm0
movzx eax, byte [0x180189b88]
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor al, 0x38
mov byte [rsp + 0x28], al
mov edx, dword [rbx + 8]
sub edx, 0x100
mov ecx, dword [rbx + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
movsd xmm0, qword [0x180188f98]
movzx ecx, byte [0x180188fa0]
movsd qword [rsp + 0x20], xmm0
mov qword [0x1802b9a50], rax
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor cl, 0x38
mov byte [rsp + 0x28], cl
mov edx, dword [r14 + 8]
sub edx, 0x100
mov ecx, dword [r14 + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
test rax, rax
jne 0x18003b29a
movsd xmm0, qword [0x180188f98]
movsd qword [rsp + 0x20], xmm0
movzx eax, byte [0x180188fa0]
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor al, 0x38
mov byte [rsp + 0x28], al
mov edx, dword [rsi + 8]
sub edx, 0x100
mov ecx, dword [rsi + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
test rax, rax
jne 0x18003b29a
movsd xmm0, qword [0x180188f98]
movsd qword [rsp + 0x20], xmm0
movzx eax, byte [0x180188fa0]
mov byte [rsp + 0x20], 0x46
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
xor al, 0x38
mov byte [rsp + 0x28], al
mov edx, dword [rbx + 8]
sub edx, 0x100
mov ecx, dword [rbx + 0xc]
add rcx, r13
lea r8, [rsp + 0x20]
call fcn.180099010
mov qword [0x1802b9a58], rax
mov r12, qword [0x1802b9c20]
movsxd rsi, dword [r12 + 0x3c]
add rsi, r12
mov eax, dword [rsi + 0x1c]
mov dword [rbp + 0x588], eax
movzx r15d, word [rsi + 0x14]
mov r14d, dword [rsi + 0xa0]
add r14, r12
mov rbx, r14
mov eax, dword [rsi + 0xa4]
add rax, r14
cmp r14, rax
jae 0x18003b329
nop dword [rax]
mov r8, rbx
mov edx, dword [rbx]
add rbx, 0xc
mov eax, dword [r15 + rsi + 0x24]
add eax, dword [r15 + rsi + 0x20]
cmp edx, eax
ja 0x18003b31b
lea rcx, [r12 + rdx]
mov eax, dword [r8 + 4]
sub eax, edx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], eax
lea rdx, [rsp + 0x20]
lea rcx, [0x1802b7640]
call fcn.180041df0
mov eax, dword [rsi + 0xa4]
add rax, r14
cmp rbx, rax
jb 0x18003b2e0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
movdqa xmm0, xmmword [0x180193230]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x180193220]
movdqu xmmword [rbp - 0x70], xmm1
movdqa xmm0, xmmword [0x1801930e0]
movdqu xmmword [rbp - 0x60], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rbp - 0x48]
call fcn.1800402b0
nop
lea r8, [0x180030c90]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d68], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193230]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x180193220]
movdqu xmmword [rbp - 0x70], xmm1
movdqa xmm0, xmmword [0x1801930e0]
movdqu xmmword [rbp - 0x60], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x180030d90]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d70], rax
mov esi, 2
mov r15d, dword [0x1801a7090]
test rax, rax
jne 0x18003b66f
lea rcx, [rbp + 0x50]
lea rdx, [0x18018e2d0]
mov eax, esi
nop word [rax + rax]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003b460
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, esi
jl 0x18003b624
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003b511
cmp r8d, 0x133
jge 0x18003b666
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003b630
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193200]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x180193060]
movdqu xmmword [rbp - 0x70], xmm1
mov dword [rbp - 0x60], 9
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x180030ea0]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d60], rax
add rax, 0xfffffffffffeffff
movabs r12, 0x7ffffffdfffd
cmp rax, r12
jbe 0x18003b92f
lea rcx, [rbp + 0x50]
lea rax, [0x1801895d0]
mov rdx, rsi
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18003b720
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rax + 0x30]
mov word [rcx + 0x30], ax
mov r8d, edi
cmp r15d, 2
jl 0x18003b8e3
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003b7d0
cmp r8d, 0x132
jge 0x18003b926
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x132
jl 0x18003b8f0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x1801931d0]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1801931e0]
movdqu xmmword [rbp - 0x70], xmm1
movdqa xmm0, xmmword [0x180193210]
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], 0x2f0
mov dword [rbp - 0x4c], 0x1b6
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x180030fb0]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d30], rax
test rax, rax
je 0x18003b9dd
mov rdx, rax
lea rcx, [0x1802bc408]
call fcn.180030c50
mov qword [0x1802b9d30], rax
movabs r14, 0x7ffffffeffff
cmp rax, 0x10000
jbe 0x18003b9f8
cmp rax, r14
jae 0x18003b9f8
mov al, 1
jmp 0x18003b9fa
xor al, al
test al, al
jne 0x18003bc0f
lea rax, [rbp + 0x50]
lea rcx, str.CESA_
mov rdx, rsi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x18003ba10
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
cmp r15d, 2
jl 0x18003bbbd
movdqa xmm5, xmmword [0x180193030]
mov edx, edi
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov r8d, dword [rsp + 0x20]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x130
jl 0x18003bab3
jmp 0x18003bc06
lea r9, [rbp + 0x50]
mov r8d, edi
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x130
jl 0x18003bbd0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193180]
movdqu xmmword [rbp - 0x28], xmm0
movdqa xmm1, xmmword [0x180193140]
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x1800310d0]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov rdx, rax
lea rcx, [rax - 0x10001]
cmp rcx, r12
jbe 0x18003beb1
lea rax, [rbp + 0x50]
lea rcx, [0x180189750]
mov rdx, rsi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x18003bca1
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
cmp r15d, 2
jl 0x18003be63
movdqa xmm5, xmmword [0x180193030]
mov edx, edi
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov r8d, dword [rsp + 0x20]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x130
jl 0x18003bd50
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
jmp 0x18003becf
lea r9, [rbp + 0x50]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x130
jl 0x18003be70
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
jmp 0x18003becf
movsxd rax, dword [rax + 3]
add rax, 8
add rdx, rax
mov qword [0x1802b9d58], rdx
lea rcx, str.Manager::Camera_0x_p_n
call fcn.18002d420
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193150]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x180193170]
movdqu xmmword [rbp - 0x70], xmm1
mov dword [rbp - 0x60], 0x6b
mov dword [rbp - 0x5c], 0x13f
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d28], rax
test rax, rax
je 0x18003bf6c
mov rdx, rax
lea rcx, [0x1802bc408]
call fcn.180030c50
mov qword [0x1802b9d28], rax
cmp rax, 0x10000
jbe 0x18003bf7d
cmp rax, r14
jae 0x18003bf7d
mov al, 1
jmp 0x18003bf7f
xor al, al
test al, al
jne 0x18003c19f
lea rax, [rbp + 0x50]
lea rcx, [0x1801890f0]
mov rdx, rsi
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x18003bfa0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
cmp r15d, 2
jl 0x18003c14d
movdqa xmm5, xmmword [0x180193030]
mov edx, edi
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov r8d, dword [rsp + 0x20]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x130
jl 0x18003c043
jmp 0x18003c196
lea r9, [rbp + 0x50]
mov r8d, edi
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x130
jl 0x18003c160
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193160]
movdqu xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x18], 0x1b4
mov dword [rbp - 0x14], 0x47
mov dword [rbp - 0x10], 9
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0xc]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x180031240]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d40], rax
lea rcx, [rax - 0x10001]
cmp rcx, r12
jbe 0x18003c2a3
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193160]
movdqu xmmword [rbp - 0x28], xmm0
movdqa xmm1, xmmword [0x1801931a0]
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x1800314a0]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d40], rax
cmp rax, 0x10000
jbe 0x18003c2b4
cmp rax, r14
jae 0x18003c2b4
mov al, 1
jmp 0x18003c2b6
xor al, al
test al, al
jne 0x18003c4df
lea rcx, [rbp + 0x50]
lea rdx, [0x180189d90]
mov rax, rsi
nop dword [rax]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003c2d0
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, 2
jl 0x18003c495
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003c382
cmp r8d, 0x133
jge 0x18003c4d6
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003c4a0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
cmp qword [0x1802b9d48], 0
jne 0x18003c79f
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x1801931b0]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1801931c0]
movdqu xmmword [rbp - 0x70], xmm1
movdqa xmm0, xmmword [0x180193160]
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], 0x18c
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x4c]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rsp + 0x60]
call fcn.1800402b0
nop
lea r8, [0x180031700]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov qword [0x1802b9d48], rax
test rax, rax
jne 0x18003c79f
lea rcx, [rbp + 0x50]
lea rdx, [0x180189220]
mov rax, rsi
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003c590
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, 2
jl 0x18003c755
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003c642
cmp r8d, 0x133
jge 0x18003c796
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003c760
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x1801930f0]
movdqu xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rbp - 0x28]
call fcn.1800402b0
nop
lea r8, [0x180031810]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
cmp qword [0x1802b9d38], 0
jne 0x18003ca3f
lea rcx, [rbp + 0x50]
lea rdx, [0x180189ed0]
mov rax, rsi
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003c821
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, 2
jl 0x18003c9f3
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003c8e0
cmp r8d, 0x133
jge 0x18003ca36
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003ca00
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
movdqa xmm0, xmmword [0x180193190]
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1801931f0]
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x68], rax
lea r8, [rbp + 0x580]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x28]
call fcn.1800401c0
mov rbx, rax
lea rdx, [0x1802b7640]
lea rcx, [rbp - 0x48]
call fcn.1800402b0
nop
lea r8, [0x180031a80]
mov rdx, rbx
mov rcx, rax
call fcn.18002be60
mov rax, qword [0x1802b7660]
sub rax, qword [0x1802b7658]
cmp rax, 8
jae 0x18003ccef
lea rcx, [rbp + 0x50]
lea rdx, [0x18018e420]
mov rax, rsi
nop word [rax + rax]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003cae0
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, 2
jl 0x18003cca5
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003cb92
cmp r8d, 0x133
jge 0x18003cce6
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003ccb0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
cmp qword [0x1802b9d78], 0
jne 0x18003d31f
movups xmm0, xmmword [0x180189bf0]
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [str.parsd]
movsd qword [rsp + 0x50], xmm0
cmp byte [str.GEV_XeR_T9], 0
je 0x18003cea3
cmp r15d, 2
jl 0x18003ce67
movdqa xmm5, xmmword [0x180193030]
mov edx, edi
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x20]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x18
jl 0x18003cd60
jmp 0x18003cea3
lea r9, [rsp + 0x40]
mov r8d, edi
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x18
jl 0x18003ce70
lea r8, [rsp + 0x40]
mov ebx, dword [rbp + 0x588]
mov edx, ebx
mov rcx, qword [0x1802b9c20]
call fcn.180099010
test rax, rax
jne 0x18003d08b
movups xmm0, xmmword [0x18018e408]
movups xmmword [rsp + 0x60], xmm0
mov eax, dword [str.parsD]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x18018e41c]
mov byte [rsp + 0x74], al
mov r8d, edi
cmp r15d, 2
jl 0x18003d02f
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x18003cf22
cmp r8d, 0x15
jge 0x18003d073
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x18003d040
lea r8, [rsp + 0x60]
mov edx, ebx
mov rcx, qword [0x1802b9c20]
call fcn.180099010
test rax, rax
je 0x18003d0f2
mov rdx, rax
lea rcx, [0x1802bc408]
call fcn.180030c50
mov r8d, 0x100
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.18001f2f0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp rax, rcx
je 0x18003d0e8
nop dword [rax]
cmp dword [rax + 0xc], 0x47
je 0x18003d0d3
add rax, 0x4d0
cmp rax, rcx
jne 0x18003d0c0
jmp 0x18003d0e8
mov rcx, qword [rax]
movsxd rax, dword [rcx + 1]
add rcx, 5
add rcx, rax
mov qword [0x1802b9d78], rcx
lea rcx, [rsp + 0x20]
call fcn.18001f590
cmp qword [0x1802b9d78], 0
jne 0x18003d31f
lea rcx, [rbp + 0x50]
lea rdx, [0x18018e190]
mov rax, rsi
nop
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x18003d110
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rdx + 0x30]
mov word [rcx + 0x30], ax
movzx eax, byte [rdx + 0x32]
mov byte [rcx + 0x32], al
mov r8d, edi
cmp r15d, 2
jl 0x18003d2d5
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003d1c2
cmp r8d, 0x133
jge 0x18003d316
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x133
jl 0x18003d2e0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
cmp qword [0x1802b9a50], 0
jne 0x18003d55f
cmp qword [0x1802b9a58], 0
jne 0x18003d55f
lea rcx, [rbp + 0x50]
lea rax, [0x180188fb0]
mov rdx, rsi
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18003d350
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, byte [rax + 0x30]
mov byte [rcx + 0x30], al
mov r8d, edi
cmp r15d, 2
jl 0x18003d513
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003d400
cmp r8d, 0x131
jge 0x18003d556
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x131
jl 0x18003d520
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
mov r8d, esi
xor edx, edx
lea rcx, [0x1802b9730]
call fcn.18009f710
test eax, eax
js 0x18003d585
mov edx, 1
lea rcx, [0x1802b94e0]
call fcn.1800a1390
call fcn.180020d30
mov qword [0x1802bc418], rax
call fcn.180023760
mov qword [0x1802bc420], rax
call fcn.180099360
mov rbx, rax
mov r14, qword [0x1802b97d0]
mov qword [0x1802b99c8], r14
movups xmm0, xmmword [0x180189d68]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x180189d78]
movups xmmword [rbp - 0x70], xmm1
mov ecx, dword [0x180189d88]
mov dword [rbp - 0x60], ecx
movzx ecx, word [0x180189d8c]
mov word [rbp - 0x5c], cx
movzx eax, byte [0x180189d8e]
mov byte [rbp - 0x5a], al
mov r8d, edi
cmp r15d, 2
jl 0x18003d72f
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x18003d622
cmp r8d, 0x27
jge 0x18003d773
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x27
jl 0x18003d740
lea r8, [rbp - 0x80]
mov edx, dword [rbp + 0x590]
mov rcx, r13
call fcn.180099010
mov r8d, 0x1000
mov rdx, qword [rbx]
lea rcx, [rbp + 8]
call fcn.18001f2f0
nop
mov r8, qword [rbp + 8]
mov r9, qword [rbp + 0x10]
cmp r8, r9
je 0x18003d87b
nop dword [rax]
mov rax, r8
lea rcx, [rbp + 0x50]
mov edx, 9
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18003d7c0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [rbp + 0x58]
shr rax, 0x20
cmp eax, 0x1b4
jne 0x18003d86b
cmp dword [rbp + 0x1c0], 1
jne 0x18003d86b
cmp dword [rbp + 0x210], 1
jne 0x18003d86b
cmp dword [rbp + 0x1c8], 0x36
jne 0x18003d86b
cmp dword [rbp + 0x218], 0x38
je 0x18003d87b
add r8, 0x4d0
cmp r8, r9
jne 0x18003d7b0
cmp dword [r8 + 0x4dc], 0x47
je 0x18003dab0
lea rcx, [rbp + 0x50]
lea rax, [0x180189370]
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rsi, 1
jne 0x18003d8a0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, byte [rax + 0x30]
mov byte [rcx + 0x30], al
cmp r15d, 2
jl 0x18003da5f
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
mov eax, edi
lea rcx, [rcx + 8]
cmp edi, 0x130
jl 0x18003d950
cmp eax, 0x131
jge 0x18003daa2
movsxd rax, edi
lea r8, [rbp + 0x50]
add r8, rax
nop dword [rax]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, dil
sub al, cl
add al, 0x30
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x131
jl 0x18003da70
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
jmp 0x18003e016
lea rdx, [r8 + 0x620]
lea rcx, [r8 + 0x4d8]
lea r9, [rbp + 0x20]
mov r8, qword [r8 + 0x4d0]
call fcn.1800a1bb0
mov r8d, 0x1000
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp - 0x28]
call fcn.18001f2f0
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1800236a0
lea rcx, [rbp - 0x28]
call fcn.18001f590
mov r8, qword [rbp + 8]
mov r9, r8
mov r10, qword [rbp + 0x10]
cmp r8, r10
je 0x18003dc65
nop word [rax + rax]
mov rax, r9
lea rcx, [rbp + 0x50]
mov edx, 9
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18003db20
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [rbp + 0x58]
shr rax, 0x20
cmp eax, 0x18c
je 0x18003dbb7
add r9, 0x4d0
cmp r9, r10
jne 0x18003db10
cmp r8, r10
je 0x18003dc65
mov rcx, r8
lea rax, [rbp + 0x50]
mov edx, 9
nop dword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x18003dbd0
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
mov rax, qword [rbp + 0x58]
shr rax, 0x20
cmp eax, 0x47
je 0x18003dc65
add r8, 0x4d0
cmp r8, r10
jne 0x18003dbc0
movzx eax, byte [r8 + 0x10]
add rax, qword [r8]
mov qword [0x1802b99a0], rax
mov eax, dword [r9 + 0x1e8]
mov rcx, qword [rax + r14 + 8]
mov r13, qword [rcx]
mov rax, qword [r13 + 0x18]
mov qword [0x1802b9770], rax
mov r15d, edi
mov rbx, qword [rbp]
cmp dword [rbx + 8], edi
jbe 0x18003ddaf
mov r14, rdi
mov eax, 0x25ff
mov rdx, qword [rbp - 8]
nop word [rax + rax]
mov ebx, dword [rbx + 0xc]
add rbx, r14
add rbx, rdx
cmp word [rbx], ax
jne 0x18003dd1b
movsxd r12, dword [rbx + 2]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov r8d, 0x30
lea rdx, [rbp - 0x80]
lea rcx, [r12 + 6]
add rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov rdx, qword [rbp - 8]
test rax, rax
je 0x18003dd16
cmp dword [rbp - 0x5c], 4
jne 0x18003dd16
mov rcx, qword [r12 + rbx + 6]
test rcx, rcx
je 0x18003dd16
cmp rcx, rdx
jbe 0x18003dd16
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x50]
add rax, rdx
cmp rcx, rax
jb 0x18003dd94
mov eax, 0x25ff
inc r15d
inc r14
mov rbx, qword [rbp]
cmp r15d, dword [rbx + 8]
jb 0x18003dcb0
lea rdx, [rbp + 0x50]
lea rcx, [0x180189920]
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rsi, 1
jne 0x18003dd40
jmp 0x18003de12
mov rdi, rbx
mov qword [0x1802b9a08], rcx
lea rax, [0x180036a20]
mov qword [r12 + rbx + 6], rax
jmp 0x18003dfdf
lea rdx, [rbp + 0x50]
lea rcx, [0x180189920]
nop word [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rsi, 1
jne 0x18003ddc0
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
mov eax, dword [rcx + 0x30]
mov dword [rdx + 0x30], eax
movzx eax, byte [rcx + 0x34]
mov byte [rdx + 0x34], al
mov r8d, edi
cmp dword [0x1801a7090], 2
jl 0x18003df93
movdqa xmm5, xmmword [0x180193030]
movdqa xmm4, xmmword [0x180193370]
movdqa xmm6, xmmword [0x1801930a0]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x130
jl 0x18003de80
cmp r8d, 0x135
jge 0x18003dfd6
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x92492493
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x135
jl 0x18003dfa0
lea rcx, [rbp + 0x50]
call fcn.1800b4f44
lea r9, [rbp + 0x598]
mov edx, 8
lea r8d, [rdx - 4]
lea rcx, [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov qword [r13 + 0x18], rdi
xor r9d, r9d
mov r8d, dword [rbp + 0x598]
lea edx, [r9 + 8]
lea rcx, [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
lea rcx, [rbp + 8]
call fcn.18001f590
xor eax, eax
movaps xmm6, xmmword [rsp + 0x620]
add rsp, 0x638
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret