Function at 0x180022520
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdx, qword [rcx + 0xa0]
mov rsi, rcx
mov qword [rsp + 0x48], rcx
rol rdx, 0x20
mov r8, rdx
mov qword [rsp + 0x38], r9
mov r9d, dword [rcx + 4]
mov rax, rdx
shl rax, 0x10
shr r8, 0x10
xor r8, rax
shl rdx, 0x10
movabs rax, 0xffff0000ffff
and r8, rax
xor r8, rdx
mov rcx, r8
mov rax, r8
shr rcx, 8
shl rax, 8
xor rcx, rax
shl r8, 8
movabs rax, 0xff00ff00ff00ff
and rcx, rax
xor rcx, r8
mov qword [rbp - 0x1c], rcx
test r9d, r9d
jne 0x18002335f
mov r9d, 4
mov qword [rsp + 0x148], rbx
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x120], rdi
mov r8d, 0x10
mov qword [rsp + 0x118], r12
mov rcx, rsi
mov eax, r9d
mov qword [rsp + 0x110], r13
sub r8, rax
mov qword [rsp + 0x108], r14
add rdx, rax
mov qword [rsp + 0x100], r15
call fcn.18001f630
mov eax, dword [rsi + 8]
lea rcx, [rsp + 0x50]
mov rdx, rsi
lea edi, [rax + rax*2]
shl edi, 2
lea rbx, [rdi*4]
sub rdx, rbx
mov r8, rbx
add rdx, 0x9c
call fcn.180082090
mov r8d, 0x24
lea rdx, [rsi + 0xc]
sub r8d, edi
mov qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x50]
shl r8, 2
add rcx, rbx
call fcn.180082090
mov qword [rsp + 0x20], 0x20
nop dword [rax + rax]
movsd xmm0, qword [rbp - 0x2c]
lea rdx, [rsp + 0x50]
mov ebx, dword [rbp - 0x24]
lea rcx, [rsp + 0x5c]
mov r8d, 0x84
movsd qword [rsp + 0x28], xmm0
movsd qword [rbp - 0x20], xmm0
lea r12, [0x180000000]
call fcn.180082090
mov eax, dword [rsp + 0x68]
xor ebx, eax
xor dword [rbp - 0x60], eax
mov ecx, dword [rsp + 0x64]
xor dword [rbp - 0x64], ecx
mov edx, dword [rbp - 0x20]
xor edx, dword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x28]
mov eax, edx
mov r13d, dword [rbp - 0x68]
xor r13d, dword [rsp + 0x60]
shr eax, 0x10
movsd qword [rsp + 0x50], xmm0
mov r8d, dword [rsp + 0x54]
xor r8d, ecx
mov dword [rbp - 0x68], r13d
movzx ecx, al
mov eax, edx
shr rax, 0x18
mov r14d, dword [r12 + rcx*4 + 0xa0540]
mov ecx, edx
mov esi, dword [r12 + rax*4 + 0xa0120]
shr edx, 8
xor esi, r14d
movzx eax, dl
mov edx, r8d
mov r15d, dword [r12 + rax*4 + 0xa0da0]
xor esi, r15d
movzx eax, cl
mov r10d, dword [r12 + rax*4 + 0xa0960]
xor esi, r10d
mov eax, r8d
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0xa0120]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shr r8d, 8
movzx eax, r8b
mov r8d, ebx
mov r11d, dword [r12 + rcx*4 + 0xa0540]
xor r11d, edi
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor r11d, eax
xor r15d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r10d, eax
xor r11d, eax
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rax*4 + 0xa0120]
mov eax, ebx
shr eax, 0x10
xor edi, r9d
movzx ecx, al
shr ebx, 8
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0xa0540]
xor r14d, edx
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor eax, edx
mov edx, dword [rsp + 0x5c]
xor r9d, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r9d, eax
xor r10d, eax
mov eax, edx
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0xa0120]
xor edi, r8d
movzx eax, byte [rsp + 0x5e]
mov eax, dword [r12 + rax*4 + 0xa0540]
xor r14d, eax
xor r8d, eax
movzx eax, byte [rsp + 0x5d]
mov ecx, dword [r12 + rax*4 + 0xa0da0]
xor r15d, ecx
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor eax, ecx
mov ecx, r14d
xor r8d, eax
shl ecx, 8
xor ecx, r9d
mov eax, r10d
xor eax, r8d
and ecx, 0xff0000
movzx r12d, al
mov eax, r14d
xor eax, r11d
and eax, 0xff0000
or r12d, eax
mov eax, r15d
xor eax, r9d
and eax, 0xff00
or r12d, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or r12d, eax
mov eax, r10d
shr eax, 0x18
xor eax, esi
mov dword [rsp + 0x50], r12d
movzx eax, al
or ecx, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or ecx, eax
mov eax, r10d
shr eax, 0x10
xor eax, r11d
mov dword [rsp + 0x54], ecx
movzx eax, al
mov ecx, r14d
shl ecx, 0x10
xor ecx, r8d
shr r14d, 8
and ecx, 0xff0000
shr r10d, 8
or ecx, eax
xor r10d, r9d
mov eax, edi
xor r14d, esi
shl eax, 0x10
and r14d, 0xff0000
xor eax, r9d
shl edi, 0x18
and eax, 0xff000000
xor edi, r8d
or ecx, eax
and edi, 0xff000000
mov eax, r15d
shr r15d, 8
shr eax, 0x10
xor r15d, r11d
xor eax, esi
and eax, 0xff00
or ecx, eax
movzx eax, r10b
or eax, r14d
mov dword [rsp + 0x58], ecx
or eax, edi
and r15d, 0xff00
or eax, r15d
sub qword [rsp + 0x20], 1
mov dword [rsp + 0x5c], eax
jne 0x180022660
mov qword [rsp + 0x20], 0xd
xor dword [rbp - 0x44], r12d
lea rdx, [rsp + 0x50]
movups xmm0, xmmword [rbp - 0x44]
xor dword [rsp + 0x60], r12d
lea rcx, [rsp + 0x74]
xor dword [rsp + 0x74], r12d
xor r13d, r12d
mov ebx, dword [rbp - 0x24]
mov r8d, 0x6c
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x68], r13d
movups xmm0, xmmword [rbp - 0x34]
movups xmmword [rsp + 0x28], xmm0
call fcn.180082090
movups xmm1, xmmword [rbp - 0x20]
lea r12, [0x180000000]
mov dword [rsp + 0x70], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movdqa xmm0, xmm1
mov rax, r8
psrldq xmm0, 8
shr rax, 0x10
movzx ecx, al
movd eax, xmm1
movups xmmword [rsp + 0x50], xmm1
mov r15d, dword [r12 + rcx*4 + 0xa0540]
mov edx, eax
shr rax, 0x18
psrldq xmm1, 8
movq r9, xmm1
movaps xmmword [rsp + 0x60], xmm2
mov r14d, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 8
xor r14d, r15d
movzx ecx, al
movzx eax, dl
mov esi, dword [r12 + rcx*4 + 0xa0da0]
xor r14d, esi
mov ebx, dword [r12 + rax*4 + 0xa0960]
mov rax, r8
shr rax, 0x20
xor r14d, ebx
mov rdx, rax
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov r11d, dword [r12 + rcx*4 + 0xa0540]
xor r11d, edi
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor r11d, eax
xor esi, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r11d, eax
xor ebx, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0xa0120]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0xa0540]
xor r15d, edx
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0da0]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r10d, eax
xor ebx, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0xa0120]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0540]
xor r8d, eax
xor r15d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0xa0da0]
xor esi, ecx
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor eax, ecx
xor r8d, eax
mov eax, ebx
xor eax, r8d
movzx edx, al
mov eax, esi
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, r15d
xor eax, r11d
and eax, 0xff0000
or edx, eax
mov eax, edi
xor eax, r14d
and eax, 0xff000000
or edx, eax
mov eax, ebx
shr eax, 0x18
xor eax, r14d
mov dword [rsp + 0x50], edx
movzx ecx, al
mov eax, esi
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, r15d
shl eax, 8
xor eax, r10d
and eax, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or ecx, eax
mov eax, ebx
shr eax, 0x10
xor eax, r11d
mov dword [rsp + 0x54], ecx
movzx ecx, al
mov eax, esi
shr eax, 0x10
xor eax, r14d
shr ebx, 8
and eax, 0xff00
shr esi, 8
or ecx, eax
xor ebx, r10d
mov eax, r15d
shl eax, 0x10
xor eax, r8d
and eax, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
or ecx, eax
movzx eax, bl
mov dword [rsp + 0x58], ecx
xor esi, r11d
xor dword [rbp - 0x44], edx
lea rcx, [rsp + 0x74]
movups xmm0, xmmword [rbp - 0x44]
xor dword [rsp + 0x78], edx
and esi, 0xff00
xor dword [rbp - 0x68], edx
or eax, esi
mov ebx, dword [rbp - 0x24]
shr r15d, 8
shl edi, 0x18
xor r15d, r14d
xor edi, r8d
and r15d, 0xff0000
or eax, r15d
and edi, 0xff000000
or eax, edi
mov r8d, 0x6c
mov dword [rsp + 0x5c], eax
movd eax, xmm2
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp - 0x34]
xor eax, edx
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x28], xmm0
call fcn.180082090
movups xmm1, xmmword [rbp - 0x20]
mov dword [rsp + 0x70], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movdqa xmm0, xmm1
mov rax, r8
psrldq xmm0, 8
shr rax, 0x10
movzx ecx, al
movd eax, xmm1
movups xmmword [rsp + 0x50], xmm1
mov r15d, dword [r12 + rcx*4 + 0xa0540]
mov edx, eax
shr rax, 0x18
psrldq xmm1, 8
movq r9, xmm1
movaps xmmword [rsp + 0x60], xmm2
mov esi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 8
xor esi, r15d
movzx ecx, al
movzx eax, dl
mov r14d, dword [r12 + rcx*4 + 0xa0da0]
xor esi, r14d
mov r11d, dword [r12 + rax*4 + 0xa0960]
mov rax, r8
shr rax, 0x20
xor esi, r11d
mov rdx, rax
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov ebx, dword [r12 + rcx*4 + 0xa0540]
xor ebx, edi
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0xa0120]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov edx, dword [r12 + rcx*4 + 0xa0540]
xor r15d, edx
mov rax, r9
shr rax, 8
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0da0]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r10d, eax
xor r11d, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0xa0120]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0540]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0xa0da0]
xor r14d, ecx
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor eax, ecx
mov ecx, r15d
xor r8d, eax
shl ecx, 8
xor ecx, r10d
mov eax, r11d
xor eax, r8d
and ecx, 0xff0000
movzx edx, al
mov eax, r15d
xor eax, ebx
and eax, 0xff0000
or edx, eax
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or edx, eax
mov eax, r11d
shr eax, 0x18
xor eax, esi
mov dword [rsp + 0x50], edx
movzx eax, al
or ecx, eax
mov eax, r14d
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, 0xff000000
or ecx, eax
mov eax, r11d
shr eax, 0x10
mov dword [rsp + 0x54], ecx
xor eax, ebx
movzx eax, al
mov ecx, r15d
shl ecx, 0x10
xor ecx, r8d
and ecx, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
or ecx, eax
xor dword [rbp - 0x44], edx
mov eax, r14d
movups xmm0, xmmword [rbp - 0x44]
xor dword [rsp + 0x78], edx
xor dword [rbp - 0x64], edx
shr eax, 0x10
xor eax, esi
shr r11d, 8
and eax, 0xff00
shr r15d, 8
or ecx, eax
shl edi, 0x18
xor edi, r8d
shr r14d, 8
xor r11d, r10d
mov dword [rsp + 0x58], ecx
movzx eax, r11b
lea rcx, [rsp + 0x74]
xor r14d, ebx
xor r15d, esi
mov ebx, dword [rbp - 0x24]
and r15d, 0xff0000
or eax, r15d
and edi, 0xff000000
or eax, edi
and r14d, 0xff00
or eax, r14d
mov r8d, 0x6c
mov dword [rsp + 0x5c], eax
movd eax, xmm2
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp - 0x34]
xor eax, edx
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x28], xmm0
call fcn.180082090
movups xmm1, xmmword [rbp - 0x20]
mov dword [rsp + 0x70], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movdqa xmm0, xmm1
mov rax, r8
movaps xmmword [rsp + 0x60], xmm2
shr rax, 0x10
movzx ecx, al
movd eax, xmm1
movups xmmword [rsp + 0x50], xmm1
mov r15d, dword [r12 + rcx*4 + 0xa0540]
mov edx, eax
shr rax, 0x18
psrldq xmm0, 8
mov esi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 8
xor esi, r15d
movzx ecx, al
movzx eax, dl
mov r14d, dword [r12 + rcx*4 + 0xa0da0]
xor esi, r14d
mov r11d, dword [r12 + rax*4 + 0xa0960]
mov rax, r8
shr rax, 0x20
xor esi, r11d
mov rdx, rax
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov ebx, dword [r12 + rcx*4 + 0xa0540]
xor ebx, edi
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
psrldq xmm1, 8
movq r9, xmm1
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0xa0120]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0xa0540]
xor r15d, edx
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0da0]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r10d, eax
xor r11d, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0xa0120]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0540]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0xa0da0]
xor r14d, ecx
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor eax, ecx
mov ecx, r15d
xor r8d, eax
shl ecx, 8
xor ecx, r10d
mov eax, r11d
xor eax, r8d
and ecx, 0xff0000
movzx edx, al
mov eax, r15d
xor eax, ebx
and eax, 0xff0000
or edx, eax
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or edx, eax
mov eax, r11d
shr eax, 0x18
xor eax, esi
mov dword [rsp + 0x50], edx
movzx eax, al
or ecx, eax
mov eax, r14d
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, 0xff000000
or ecx, eax
mov dword [rsp + 0x54], ecx
mov ecx, r15d
shl ecx, 0x10
xor ecx, r8d
xor dword [rbp - 0x40], edx
and ecx, 0xff0000
movups xmm0, xmmword [rbp - 0x40]
xor dword [rsp + 0x78], edx
mov eax, r11d
xor dword [rbp - 0x64], edx
shr eax, 0x10
xor eax, ebx
shr r11d, 8
movzx eax, al
xor r11d, r10d
or ecx, eax
shr r15d, 8
mov eax, edi
xor r15d, esi
shl eax, 0x10
and r15d, 0xff0000
xor eax, r10d
shl edi, 0x18
and eax, 0xff000000
xor edi, r8d
or ecx, eax
and edi, 0xff000000
mov eax, r14d
mov r8d, 0x70
shr eax, 0x10
xor eax, esi
shr r14d, 8
and eax, 0xff00
xor r14d, ebx
or ecx, eax
and r14d, 0xff00
movzx eax, r11b
or eax, r15d
mov dword [rsp + 0x58], ecx
or eax, edi
lea rcx, [rsp + 0x70]
or eax, r14d
mov dword [rsp + 0x5c], eax
movd eax, xmm2
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp - 0x30]
xor eax, edx
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x28], xmm0
call fcn.180082090
movups xmm1, xmmword [rbp - 0x20]
movups xmm0, xmmword [rsp + 0x28]
movq r8, xmm1
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 0x18
movups xmmword [rsp + 0x50], xmm1
mov r15d, dword [r12 + rcx*4 + 0xa0540]
movups xmmword [rsp + 0x60], xmm0
mov edi, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 8
xor edi, r15d
movzx ecx, al
movzx eax, r8b
mov r14d, dword [r12 + rcx*4 + 0xa0da0]
xor edi, r14d
mov esi, dword [r12 + rax*4 + 0xa0960]
mov rax, r8
shr rax, 0x20
xor edi, esi
mov rdx, rax
shr rax, 0x18
mov ebx, dword [r12 + rax*4 + 0xa0120]
mov rax, r8
shr rax, 0x30
movzx ecx, al
mov r11d, dword [r12 + rcx*4 + 0xa0540]
xor r11d, ebx
shr r8, 0x28
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0xa0da0]
xor r11d, eax
psrldq xmm1, 8
xor r14d, eax
movq r9, xmm1
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r11d, eax
xor esi, eax
mov eax, r9d
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0xa0120]
xor ebx, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0xa0540]
xor r15d, edx
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0da0]
xor eax, edx
xor r10d, eax
movzx eax, r9b
mov eax, dword [r12 + rax*4 + 0xa0960]
xor r10d, eax
xor esi, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0xa0120]
xor ebx, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0xa0540]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0xa0da0]
xor r14d, ecx
movzx eax, dl
mov edx, r15d
shl edx, 8
xor edx, r10d
and edx, 0xff0000
mov eax, dword [r12 + rax*4 + 0xa0960]
mov r12d, r15d
xor eax, ecx
xor r12d, r11d
xor r8d, eax
and r12d, 0xff0000
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or r12d, eax
mov eax, ebx
xor eax, edi
and eax, 0xff000000
or r12d, eax
mov eax, esi
xor eax, r8d
movzx ecx, al
mov eax, r14d
shl eax, 8
or r12d, ecx
xor eax, r8d
mov dword [rsp + 0x50], r12d
and eax, 0xff00
or edx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or edx, eax
mov eax, esi
shr eax, 0x18
xor eax, edi
movzx eax, al
or edx, eax
mov r9d, r15d
shl r9d, 0x10
mov eax, ebx
shl eax, 0x10
xor r9d, r8d
xor eax, r10d
shr r15d, 8
and eax, 0xff000000
shl ebx, 0x18
xor r15d, edi
mov dword [rsp + 0x54], edx
and r9d, 0xff0000
and r15d, 0xff0000
or r9d, eax
xor ebx, r8d
mov eax, r14d
and ebx, 0xff000000
shr eax, 0x10
or r15d, ebx
xor eax, edi
shr r14d, 8
and eax, 0xff00
xor r14d, r11d
or r9d, eax
and r14d, 0xff00
mov eax, esi
or r15d, r14d
shr eax, 0x10
xor eax, r11d
shr esi, 8
movzx eax, al
xor esi, r10d
or r9d, eax
movzx eax, sil
or r15d, eax
mov dword [rsp + 0x58], r9d
sub qword [rsp + 0x20], 1
mov dword [rsp + 0x5c], r15d
je 0x18002339e
mov r13d, dword [rbp - 0x68]
jmp 0x1800228f3
cmp r9d, 4
jae 0x1800225b6
lea ecx, [r9 + 1]
mov byte [rbp + r9 - 0x20], 0
cmp ecx, 4
jae 0x1800225b6
mov eax, ecx
nop
cmp rax, 0x10
jae 0x180023678
mov byte [rbp + rax - 0x20], 0
inc ecx
inc rax
cmp ecx, 4
jb 0x180023380
jmp 0x1800225b6
mov r8, qword [rsp + 0x38]
rol edx, 0x10
mov ecx, edx
rol r9d, 0x10
shr ecx, 8
mov eax, edx
shl edx, 8
shl eax, 8
xor ecx, eax
rol r15d, 0x10
and ecx, 0xff00ff
mov eax, r9d
xor ecx, edx
shl eax, 8
mov edx, dword [rsp + 0x60]
mov dword [r8], ecx
xor edx, r12d
rol edx, 0x10
mov ecx, r9d
shr ecx, 8
xor ecx, eax
shl r9d, 8
and ecx, 0xff00ff
mov eax, r15d
xor ecx, r9d
shl eax, 8
mov dword [r8 + 4], ecx
mov ecx, r15d
shr ecx, 8
xor ecx, eax
shl r15d, 8
and ecx, 0xff00ff
mov eax, edx
xor ecx, r15d
shl eax, 8
mov dword [r8 + 8], ecx
mov ecx, edx
shr ecx, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x74]
mov dword [r8 + 0xc], ecx
xor edx, r12d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x78]
mov dword [r8 + 0x10], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x7c]
mov dword [r8 + 0x14], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x80]
rol edx, 0x10
mov dword [r8 + 0x18], ecx
mov ecx, edx
shr ecx, 8
mov eax, edx
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x68]
mov dword [r8 + 0x1c], ecx
xor edx, r12d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x64]
mov dword [r8 + 0x20], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x60]
mov dword [r8 + 0x24], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x5c]
mov dword [r8 + 0x28], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x44]
mov dword [r8 + 0x2c], ecx
xor edx, r12d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x40]
mov dword [r8 + 0x30], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x3c]
rol edx, 0x10
mov dword [r8 + 0x34], ecx
mov eax, edx
mov ecx, edx
shr ecx, 8
shl eax, 8
mov r15, qword [rsp + 0x100]
xor ecx, eax
mov r14, qword [rsp + 0x108]
and ecx, 0xff00ff
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x148]
shl edx, 8
xor ecx, edx
mov edx, dword [rbp - 0x38]
mov dword [r8 + 0x38], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl eax, 8
xor ecx, eax
shl edx, 8
mov rax, qword [rsp + 0x40]
and ecx, 0xff00ff
xor ecx, edx
mov dword [r8 + 0x3c], ecx
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
mov qword [rax + 0x48], rcx
movups xmm0, xmmword [0x1800a0d60]
mov rax, qword [rsp + 0x48]
movups xmmword [rax + 0x5c], xmm0
movups xmm1, xmmword [0x1800a0d70]
movups xmmword [rax + 0x6c], xmm1
movups xmm0, xmmword [0x1800a0d80]
movups xmmword [rax + 0x7c], xmm0
movups xmm1, xmmword [0x1800a0d90]
movups xmmword [rax + 0x8c], xmm1
mov qword [rax], rcx
mov dword [rax + 8], ecx
mov qword [rax + 0xa0], rcx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800810a0
add rsp, 0x128
pop rsi
pop rbp
ret
call fcn.180081210
int3