Function at 0x1800511a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x5c8]
sub rsp, 0x6b0
movdqa xmm0, xmmword [rdx + 0x20]
mov r14, rdx
movdqa xmm1, xmmword [rdx + 0x30]
mov rbx, rcx
movaps xmmword [rax - 0x28], xmm6
lea rdx, [rbp + 0xb0]
movaps xmmword [rax - 0x38], xmm7
lea rcx, [rbp + 0xa0]
movaps xmmword [rax - 0x48], xmm8
mov r8b, 1
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0xb0], xmm1
call fcn.180057ad0
movdqa xmm13, xmmword [rbp + 0xa0]
lea rdx, [rbp + 0xb0]
movdqa xmm14, xmmword [rbp + 0xb0]
lea rcx, [rbp + 0xa0]
mov r8b, 2
call fcn.180057ad0
movdqa xmm6, xmmword [rbp + 0xb0]
lea rdx, [rbp + 0xb0]
movdqa xmm15, xmmword [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
mov r8b, 4
movdqa xmmword [rbp + 0x4f0], xmm6
call fcn.180057ad0
movdqa xmm0, xmmword [rbp + 0xb0]
lea rdx, [rbp + 0xb0]
movdqa xmm7, xmmword [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
mov r8b, 8
movdqa xmmword [rbp + 0x480], xmm0
movdqa xmmword [rbp + 0x4e0], xmm7
call fcn.180057ad0
movdqa xmm0, xmmword [r14 + 0x20]
movdqa xmm1, xmmword [r14 + 0x40]
movdqa xmm4, xmmword [r14 + 0x50]
movdqa xmm5, xmmword [r14 + 0x60]
movdqa xmm10, xmmword [r14 + 0x70]
movdqa xmm9, xmmword [r14 + 0x80]
movdqa xmm8, xmmword [r14 + 0x90]
movdqa xmm11, xmmword [r14 + 0xa0]
movdqa xmm12, xmmword [r14 + 0xb0]
movdqa xmmword [rbp + 0x500], xmm0
movdqa xmmword [rbp + 0x470], xmm0
movdqa xmmword [rbp + 0x460], xmm0
movdqa xmmword [rbp + 0x450], xmm0
movdqa xmmword [rbp + 0x440], xmm0
movdqa xmmword [rbp + 0x4d0], xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
movdqa xmmword [rbp + 0x4b0], xmm0
movdqa xmm0, xmmword [r14 + 0x30]
movdqa xmmword [rbp + 0x4a0], xmm0
movdqa xmmword [rbp + 0x490], xmm0
movdqa xmmword [rbp + 0x3f0], xmm0
movdqa xmmword [rbp + 0x400], xmm0
movdqa xmmword [rbp + 0x410], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xf0], xmm13
movdqa xmmword [rbp + 0x100], xmm13
movdqa xmmword [rbp + 0x110], xmm13
movdqa xmmword [rbp + 0x120], xmm13
movdqa xmmword [rbp + 0x130], xmm13
movdqa xmmword [rbp + 0x140], xmm13
movdqa xmmword [rbp + 0x150], xmm13
movdqa xmmword [rbp + 0x160], xmm13
movdqa xmmword [rbp + 0x170], xmm14
movdqa xmmword [rbp + 0x180], xmm14
movdqa xmmword [rbp + 0x190], xmm14
movdqa xmmword [rbp + 0x1a0], xmm14
movdqa xmmword [rbp + 0x1b0], xmm14
movdqa xmm0, xmmword [rbp + 0x480]
add rbx, 0x20
movdqa xmm2, xmmword [rbp + 0xa0]
mov esi, 0x8000
movdqa xmmword [rbp + 0x370], xmm0
mov rdi, rbx
movdqa xmmword [rbp + 0x380], xmm0
mov r15d, esi
movdqa xmmword [rbp + 0x390], xmm0
movdqa xmmword [rbp + 0x430], xmm0
movdqa xmmword [rbp + 0x3a0], xmm0
movdqa xmmword [rbp + 0x3b0], xmm0
movdqa xmmword [rbp + 0x3c0], xmm0
movdqa xmmword [rbp + 0x3d0], xmm0
movdqa xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmmword [rbp + 0x420], xmm0
movdqa xmmword [rbp + 0x1c0], xmm14
movdqa xmmword [rbp + 0x1d0], xmm14
movdqa xmmword [rbp + 0x1e0], xmm14
movdqa xmmword [rbp + 0x1f0], xmm15
movdqa xmmword [rbp + 0x200], xmm15
movdqa xmmword [rbp + 0x210], xmm15
movdqa xmmword [rbp + 0x220], xmm15
movdqa xmmword [rbp + 0x230], xmm15
movdqa xmmword [rbp + 0x240], xmm15
movdqa xmmword [rbp + 0x250], xmm15
movdqa xmmword [rbp + 0x260], xmm15
movdqa xmmword [rbp + 0x270], xmm6
movdqa xmmword [rbp + 0x280], xmm6
movdqa xmmword [rbp + 0x290], xmm6
movdqa xmmword [rbp + 0x2a0], xmm6
movdqa xmmword [rbp + 0x2b0], xmm6
movdqa xmmword [rbp + 0x2c0], xmm6
movdqa xmmword [rbp + 0x2d0], xmm6
movdqa xmmword [rbp + 0x2e0], xmm6
movdqa xmmword [rbp + 0x2f0], xmm7
movdqa xmmword [rbp + 0x300], xmm7
movdqa xmmword [rbp + 0x310], xmm7
movdqa xmmword [rbp + 0x320], xmm7
movdqa xmmword [rbp + 0x330], xmm7
movdqa xmmword [rbp + 0x340], xmm7
movdqa xmmword [rbp + 0x350], xmm7
movdqa xmmword [rbp + 0x360], xmm7
movdqa xmmword [rbp + 0x3e0], xmm2
movdqa xmmword [rbp + 0x80], xmm2
movdqa xmmword [rbp + 0x70], xmm2
movdqa xmmword [rbp + 0x60], xmm2
movdqa xmmword [rbp + 0x50], xmm2
movdqa xmmword [rbp + 0x40], xmm2
movdqa xmmword [rbp + 0x30], xmm2
movdqa xmmword [rbp + 0x90], xmm2
nop dword [rax]
nop word [rax + rax]
movdqa xmm0, xmmword [rdi - 0x20]
lea rdx, [rbp + 0x500]
pxor xmm0, xmm1
lea rcx, [rbp - 0x40]
movdqa xmm1, xmmword [rdi - 0x10]
pxor xmm1, xmm4
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm0, xmmword [rdi]
movdqa xmmword [rbp - 0x30], xmm1
pxor xmm0, xmm5
movdqa xmm1, xmmword [rdi + 0x10]
pxor xmm1, xmm10
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [rdi + 0x20]
movdqa xmmword [rbp - 0x10], xmm1
pxor xmm0, xmm9
movdqa xmm1, xmmword [rdi + 0x30]
pxor xmm1, xmm8
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rdi + 0x40]
movdqa xmmword [rbp + 0x10], xmm1
pxor xmm0, xmm11
movdqa xmm1, xmmword [rdi + 0x50]
pxor xmm1, xmm12
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rsp + 0x30], xmm1
call fcn.180057d00
lea rdx, [rbp + 0x470]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x460]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x450]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x440]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x4d0]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x4c0]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x4b0]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x4a0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x490]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x3f0]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x400]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x410]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0xc0]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
movdqa xmmword [rbp + 0x10], xmm0
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0xe0]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0xf0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x100]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x110]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x120]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x130]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x140]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x150]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x160]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x170]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x180]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x190]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x1a0]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x1b0]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x1c0]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x1d0]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x1e0]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x1f0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x200]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, [rbp + 0x210]
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x220]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x230]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x240]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x250]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x260]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x270]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x280]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x290]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x2a0]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x2b0]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x2c0]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x2d0]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x2e0]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x2f0]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x300]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x310]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x320]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x330]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x340]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x350]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x360]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x370]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x380]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x390]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x430]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x3a0]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rbp + 0x3b0]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
lea rdx, [rbp + 0x3c0]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x3d0]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x3e0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x40]
call fcn.180057d00
lea rdx, [rbp - 0x60]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x80]
movdqa xmm12, xmm0
lea rcx, [rbp - 0x30]
call fcn.180057d00
lea rdx, [rbp - 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x70]
movdqa xmm11, xmm0
lea rcx, [rbp - 0x20]
call fcn.180057d00
lea rdx, [rbp - 0x80]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x60]
movdqa xmm10, xmm0
lea rcx, [rbp - 0x10]
call fcn.180057d00
lea rdx, [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x50]
movdqa xmm9, xmm0
lea rcx, [rbp]
call fcn.180057d00
lea rdx, [rsp + 0x60]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x40]
movdqa xmm8, xmm0
lea rcx, [rbp + 0x10]
call fcn.180057d00
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x30]
movdqa xmm7, xmm0
lea rcx, [rbp + 0x20]
call fcn.180057d00
lea rdx, [rbp - 0x50]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x90]
movdqa xmm6, xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x420]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdi, [rdi + 0x80]
movdqa xmm5, xmm9
movdqa xmm4, xmm10
movdqa xmm1, xmm11
pxor xmm5, xmm10
movdqa xmm10, xmm8
pxor xmm10, xmm9
pxor xmm4, xmm11
movdqa xmm9, xmm7
movdqa xmm11, xmm0
pxor xmm9, xmm8
movdqa xmm8, xmm6
pxor xmm1, xmm12
pxor xmm8, xmm7
pxor xmm11, xmm6
pxor xmm12, xmm0
sub r15, 1
jne 0x1800515c0
movdqa xmm0, xmmword [r14 + 0x20]
movdqa xmm2, xmmword [rbp + 0x4e0]
movdqa xmmword [rbp + 0x420], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmm0, xmmword [r14 + 0x30]
movdqa xmmword [rbp + 0x3e0], xmm0
movdqa xmmword [rbp + 0x3d0], xmm0
movdqa xmmword [rbp + 0x3c0], xmm0
movdqa xmmword [rbp + 0x3b0], xmm0
movdqa xmmword [rbp + 0x3a0], xmm0
movdqa xmmword [rbp + 0x430], xmm0
movdqa xmmword [rbp + 0x390], xmm0
movdqa xmmword [rbp + 0x380], xmm0
movdqa xmm0, xmmword [rbp + 0x4f0]
movdqa xmmword [rbp + 0x1f0], xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
movdqa xmmword [rbp + 0x1d0], xmm0
movdqa xmmword [rbp + 0x1c0], xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmmword [rbp + 0x1a0], xmm0
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmmword [rbp + 0x180], xmm0
movdqa xmm0, xmmword [rbp + 0x480]
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0x410], xmm0
movdqa xmmword [rbp + 0x400], xmm0
movdqa xmmword [rbp + 0x3f0], xmm0
movdqa xmmword [rbp + 0x490], xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x4a0], xmm0
movdqa xmmword [rbp + 0x4b0], xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
movdqa xmmword [rbp + 0x4d0], xmm0
movdqa xmmword [rbp + 0x440], xmm0
movdqa xmmword [rbp + 0x450], xmm0
movdqa xmmword [rbp + 0x460], xmm0
movdqa xmmword [rbp + 0x470], xmm0
movdqa xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x370], xmm13
movdqa xmmword [rbp + 0x360], xmm13
movdqa xmmword [rbp + 0x350], xmm13
movdqa xmmword [rbp + 0x340], xmm13
movdqa xmmword [rbp + 0x330], xmm13
movdqa xmmword [rbp + 0x320], xmm13
movdqa xmmword [rbp + 0x310], xmm13
movdqa xmmword [rbp + 0x300], xmm13
movdqa xmmword [rbp + 0x2f0], xmm14
movdqa xmmword [rbp + 0x2e0], xmm14
movdqa xmmword [rbp + 0x2d0], xmm14
movdqa xmmword [rbp + 0x2c0], xmm14
movdqa xmmword [rbp + 0x2b0], xmm14
movdqa xmmword [rbp + 0x2a0], xmm14
movdqa xmmword [rbp + 0x290], xmm14
movdqa xmmword [rbp + 0x280], xmm14
movdqa xmmword [rbp + 0x270], xmm15
movdqa xmmword [rbp + 0x260], xmm15
movdqa xmmword [rbp + 0x250], xmm15
movdqa xmmword [rbp + 0x240], xmm15
movdqa xmmword [rbp + 0x230], xmm15
movdqa xmmword [rbp + 0x220], xmm15
movdqa xmmword [rbp + 0x210], xmm15
movdqa xmmword [rbp + 0x200], xmm15
movdqa xmmword [rbp + 0x170], xmm2
movdqa xmmword [rbp + 0x160], xmm2
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm2
movdqa xmmword [rbp + 0x130], xmm2
movdqa xmmword [rbp + 0x120], xmm2
movdqa xmmword [rbp + 0x110], xmm2
movdqa xmmword [rbp + 0x100], xmm2
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm0, xmmword [rbx - 0x20]
lea rdx, [rbp + 0x420]
pxor xmm0, xmm1
lea rcx, [rsp + 0x20]
movdqa xmm1, xmmword [rbx - 0x10]
pxor xmm1, xmm4
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm0, xmmword [rbx]
movdqa xmmword [rbp - 0x50], xmm1
pxor xmm0, xmm5
movdqa xmm1, xmmword [rbx + 0x10]
pxor xmm1, xmm10
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [rbx + 0x20]
movdqa xmmword [rsp + 0x60], xmm1
pxor xmm0, xmm9
movdqa xmm1, xmmword [rbx + 0x30]
pxor xmm1, xmm8
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [rbx + 0x40]
movdqa xmmword [rbp - 0x80], xmm1
pxor xmm0, xmm11
movdqa xmm1, xmmword [rbx + 0x50]
pxor xmm1, xmm12
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmmword [rbp - 0x60], xmm1
call fcn.180057d00
lea rdx, [rbp + 0x90]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x30]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x70]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x80]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x3e0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x3d0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x3c0]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x3b0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x3a0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x430]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
movdqa xmmword [rbp - 0x80], xmm0
lea rdx, [rbp + 0x390]
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x380]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x370]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x360]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x350]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x340]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x330]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x320]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x310]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x300]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x2f0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x2e0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x2d0]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x2c0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x2b0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x2a0]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x290]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x280]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x270]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x260]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rbp + 0x250]
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x240]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x230]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x220]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x210]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x200]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x1f0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x1e0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x1d0]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x1c0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x1b0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x1a0]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x190]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x180]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x170]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x160]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x150]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x140]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x130]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x120]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x110]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x100]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0xf0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0xe0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0xd0]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0xc0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x410]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x400]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x3f0]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x490]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x4a0]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x4b0]
movdqa xmm12, xmm0
lea rcx, [rbp - 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x4c0]
movdqa xmm11, xmm0
lea rcx, [rsp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x10]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x4d0]
movdqa xmm10, xmm0
lea rcx, [rsp + 0x60]
call fcn.180057d00
lea rdx, [rbp]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x440]
movdqa xmm9, xmm0
lea rcx, [rsp + 0x70]
call fcn.180057d00
lea rdx, [rbp - 0x10]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x450]
movdqa xmm8, xmm0
lea rcx, [rbp - 0x80]
call fcn.180057d00
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x460]
movdqa xmm7, xmm0
lea rcx, [rbp - 0x70]
call fcn.180057d00
lea rdx, [rbp - 0x30]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rdx, [rbp + 0x470]
movdqa xmm6, xmm0
lea rcx, [rbp - 0x60]
call fcn.180057d00
lea rdx, [rbp - 0x40]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.180057d00
lea rbx, [rbx + 0x80]
movdqa xmm5, xmm9
movdqa xmm4, xmm10
movdqa xmm1, xmm11
pxor xmm5, xmm10
movdqa xmm10, xmm8
pxor xmm10, xmm9
pxor xmm4, xmm11
movdqa xmm9, xmm7
movdqa xmm11, xmm0
pxor xmm9, xmm8
movdqa xmm8, xmm6
pxor xmm1, xmm12
pxor xmm8, xmm7
pxor xmm11, xmm6
pxor xmm12, xmm0
sub rsi, 1
jne 0x180051fc0
movdqa xmm0, xmmword [rbp + 0x4f0]
lea r15d, [rsi + 0x10]
movdqa xmmword [rbp + 0x300], xmm0
lea r12, [0x180070210]
movdqa xmmword [rbp + 0x2f0], xmm0
movdqa xmmword [rbp + 0x2e0], xmm0
movdqa xmmword [rbp + 0x2d0], xmm0
movdqa xmmword [rbp + 0x2c0], xmm0
movdqa xmmword [rbp + 0x2b0], xmm0
movdqa xmmword [rbp + 0x2a0], xmm0
movdqa xmmword [rbp + 0x290], xmm0
movdqa xmm0, xmmword [rbp + 0x4e0]
movdqa xmmword [rbp + 0x280], xmm0
movdqa xmmword [rbp + 0x270], xmm0
movdqa xmmword [rbp + 0x260], xmm0
movdqa xmmword [rbp + 0x250], xmm0
movdqa xmmword [rbp + 0x240], xmm0
movdqa xmmword [rbp + 0x230], xmm0
movdqa xmmword [rbp + 0x220], xmm0
movdqa xmmword [rbp + 0x210], xmm0
movdqa xmm0, xmmword [rbp + 0x480]
movdqa xmmword [rbp + 0x200], xmm0
movdqa xmmword [rbp + 0x1f0], xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
movdqa xmmword [rbp + 0x1d0], xmm0
movdqa xmmword [rbp + 0x1c0], xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmmword [rbp + 0x1a0], xmm0
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x180], xmm0
movdqa xmmword [rbp + 0x160], xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x100], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0x400], xmm0
movdqa xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x420], xmm13
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmmword [rbp - 0x50], xmm13
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmmword [rsp + 0x60], xmm13
movdqa xmmword [rsp + 0x70], xmm13
movdqa xmmword [rbp - 0x80], xmm13
movdqa xmmword [rbp - 0x70], xmm13
movdqa xmm13, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmmword [rbp + 0x150], xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0x410], xmm0
movdqa xmmword [rbp + 0x3f0], xmm0
movdqa xmmword [rbp - 0x60], xmm14
movdqa xmmword [rbp + 0x3e0], xmm14
movdqa xmmword [rbp + 0x3d0], xmm14
movdqa xmmword [rbp + 0x3c0], xmm14
movdqa xmmword [rbp + 0x3b0], xmm14
movdqa xmmword [rbp + 0x3a0], xmm14
movdqa xmmword [rbp + 0x430], xmm14
movdqa xmmword [rbp + 0x390], xmm14
movdqa xmmword [rbp + 0x380], xmm15
movdqa xmmword [rbp + 0x370], xmm15
movdqa xmmword [rbp + 0x360], xmm15
movdqa xmmword [rbp + 0x350], xmm15
movdqa xmmword [rbp + 0x340], xmm15
movdqa xmmword [rbp + 0x330], xmm15
movdqa xmmword [rbp + 0x320], xmm15
movdqa xmmword [rbp + 0x310], xmm15
nop dword [rax]
movd eax, xmm1
pshufd xmm0, xmm1, 0x55
movd ebx, xmm0
mov esi, eax
shr rax, 8
movzx edx, al
mov eax, ebx
shr rax, 0x10
movzx ecx, al
pshufd xmm0, xmm1, 0xff
mov r11d, dword [r12 + rdx*4 + 0x400]
movd edi, xmm0
xor r11d, dword [r12 + rcx*4 + 0x800]
pshufd xmm0, xmm1, 0xaa
movd r10d, xmm0
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, edi
shr rax, 8
movzx edx, al
mov eax, esi
shr rax, 0x10
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x400]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x800]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
movzx ecx, r10b
shr rbx, 8
shr rdi, 0x18
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
movzx eax, bl
movd xmm0, r9d
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm4
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
pshufd xmm0, xmm4, 0x55
movd eax, xmm0
pshufd xmm0, xmm4, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm4, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm3, xmm2
mov eax, r10d
pxor xmm3, xmm13
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
movd xmm0, r9d
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
shr r10, 0x10
movzx eax, bl
shr rdi, 0x18
movzx ecx, r10b
shr rbx, 8
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
movd xmm2, r8d
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm5
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd xmm4, edx
punpckldq xmm4, xmm0
pshufd xmm0, xmm5, 0x55
movd eax, xmm0
pshufd xmm0, xmm5, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm5, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm4, xmm2
mov eax, r10d
pxor xmm4, xmm13
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, edi
shr rax, 8
movzx edx, al
mov eax, esi
shr rax, 0x10
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x400]
xor r9d, dword [r12 + rcx*4 + 0x800]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movd xmm0, r9d
movzx eax, bl
shr rbx, 8
shr rdi, 0x18
movzx ecx, r10b
xor r8d, dword [r12 + rax*4]
movzx eax, bl
movd xmm1, r11d
mov edx, dword [r12 + rcx*4 + 0x800]
movd xmm2, r8d
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd eax, xmm10
mov esi, eax
shr rax, 8
movd xmm5, edx
movzx edx, al
punpckldq xmm5, xmm0
pshufd xmm0, xmm10, 0x55
movd ebx, xmm0
mov r11d, dword [r12 + rdx*4 + 0x400]
pshufd xmm0, xmm10, 0xff
movd edi, xmm0
mov eax, ebx
shr rax, 0x10
movzx ecx, al
pshufd xmm0, xmm10, 0xaa
movd r10d, xmm0
punpckldq xmm5, xmm2
xor r11d, dword [r12 + rcx*4 + 0x800]
pxor xmm5, xmm13
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
movzx ecx, r10b
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
shr rbx, 8
movzx eax, bl
xor edx, dword [r12 + rax*4 + 0x400]
shr rdi, 0x18
movd xmm0, r9d
movd xmm1, r11d
movzx eax, sil
xor edx, dword [r12 + rdi*4 + 0xc00]
movd esi, xmm9
movd xmm2, r8d
xor edx, dword [r12 + rax*4]
punpckldq xmm2, xmm1
movd xmm6, edx
punpckldq xmm6, xmm0
pshufd xmm0, xmm9, 0x55
movd eax, xmm0
pshufd xmm0, xmm9, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm9, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm6, xmm2
mov eax, r10d
pxor xmm6, xmm13
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
shr rdi, 0x18
movd xmm0, r9d
xor r8d, dword [r12 + rax*4]
movzx eax, bl
movzx ecx, r10b
movd xmm2, r8d
punpckldq xmm2, xmm1
mov edx, dword [r12 + rcx*4 + 0x800]
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm8
xor edx, dword [r12 + rax*4]
movd xmm7, edx
punpckldq xmm7, xmm0
pshufd xmm0, xmm8, 0x55
movd eax, xmm0
punpckldq xmm7, xmm2
pxor xmm7, xmm13
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm8, 0xff
mov r11d, dword [r12 + rdx*4 + 0x800]
movd edi, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
pshufd xmm0, xmm8, 0xaa
movd r10d, xmm0
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
movzx ecx, r10b
shr rdi, 0x18
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
movd xmm0, r9d
movd xmm2, r8d
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd eax, xmm11
mov esi, eax
shr rax, 8
movd xmm8, edx
movzx edx, al
punpckldq xmm8, xmm0
pshufd xmm0, xmm11, 0x55
movd ebx, xmm0
mov r11d, dword [r12 + rdx*4 + 0x400]
pshufd xmm0, xmm11, 0xff
movd edi, xmm0
mov eax, ebx
shr rax, 0x10
movzx ecx, al
pshufd xmm0, xmm11, 0xaa
movd r10d, xmm0
punpckldq xmm8, xmm2
xor r11d, dword [r12 + rcx*4 + 0x800]
pxor xmm8, xmm13
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
movd xmm0, r9d
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
shr r10, 0x10
shr rdi, 0x18
movzx eax, bl
movzx ecx, r10b
shr rbx, 8
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
movzx eax, bl
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm12
xor edx, dword [r12 + rax*4]
movd xmm9, edx
punpckldq xmm9, xmm0
pshufd xmm0, xmm12, 0x55
movd eax, xmm0
pshufd xmm0, xmm12, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm12, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm9, xmm2
mov eax, r10d
pxor xmm9, xmm13
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
mov r8d, dword [r12 + rdx*4 + 0x400]
movzx ecx, al
mov eax, esi
shr rax, 0x18
shr r10, 0x10
shr rdi, 0x18
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movd xmm0, r9d
movzx eax, bl
movzx ecx, r10b
shr rbx, 8
movd xmm1, r11d
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
movzx eax, bl
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm3
xor edx, dword [r12 + rax*4]
movd xmm10, edx
punpckldq xmm10, xmm0
pshufd xmm0, xmm3, 0x55
movd eax, xmm0
pshufd xmm0, xmm3, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm3, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm10, xmm2
mov eax, r10d
pxor xmm10, xmm13
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
movzx ecx, r10b
shr rdi, 0x18
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
xor edx, dword [r12 + rax*4]
movdqa xmm11, xmmword [r14 + 0x30]
movd xmm0, r9d
movd xmm1, r11d
movd xmm3, edx
punpckldq xmm3, xmm0
movd esi, xmm4
movd xmm2, r8d
pshufd xmm0, xmm4, 0x55
movd eax, xmm0
pshufd xmm0, xmm4, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm4, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm2, xmm1
punpckldq xmm3, xmm2
mov eax, r10d
shr rax, 0x18
pxor xmm3, xmm11
movdqa xmmword [rsp + 0x40], xmm3
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
shr rdi, 0x18
movd xmm0, r9d
xor r8d, dword [r12 + rax*4]
movzx eax, bl
movzx ecx, r10b
movd xmm2, r8d
punpckldq xmm2, xmm1
mov edx, dword [r12 + rcx*4 + 0x800]
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm5
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
pshufd xmm0, xmm5, 0x55
movd eax, xmm0
punpckldq xmm3, xmm2
pxor xmm3, xmm11
pshufd xmm0, xmm5, 0xff
mov ebx, eax
movdqa xmmword [rbp + 0x90], xmm3
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
movd edi, xmm0
mov r11d, dword [r12 + rdx*4 + 0x800]
pshufd xmm0, xmm5, 0xaa
xor r11d, dword [r12 + rcx*4 + 0x400]
movd r10d, xmm0
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
movzx ecx, r10b
shr rdi, 0x18
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
movd xmm0, r9d
movd xmm2, r8d
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd eax, xmm6
mov esi, eax
shr rax, 8
movd xmm3, edx
movzx edx, al
punpckldq xmm3, xmm0
pshufd xmm0, xmm6, 0x55
movd ebx, xmm0
mov r11d, dword [r12 + rdx*4 + 0x400]
pshufd xmm0, xmm6, 0xff
movd edi, xmm0
mov eax, ebx
shr rax, 0x10
movzx ecx, al
pshufd xmm0, xmm6, 0xaa
movd r10d, xmm0
punpckldq xmm3, xmm2
xor r11d, dword [r12 + rcx*4 + 0x800]
pxor xmm3, xmm11
mov eax, r10d
movdqa xmmword [rbp + 0x30], xmm3
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
movd xmm0, r9d
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
shr r10, 0x10
shr rdi, 0x18
movzx eax, bl
movzx ecx, r10b
shr rbx, 8
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
movzx eax, bl
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm7
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
pshufd xmm0, xmm7, 0x55
movd eax, xmm0
pshufd xmm0, xmm7, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm7, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm3, xmm2
mov eax, r10d
pxor xmm3, xmm11
shr rax, 0x18
movdqa xmmword [rbp + 0x40], xmm3
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
mov r8d, dword [r12 + rdx*4 + 0x400]
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
shr r10, 0x10
movd xmm0, r9d
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rdi, 0x18
movzx ecx, r10b
shr rbx, 8
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
movd xmm1, r11d
movd xmm2, r8d
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm8
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
pshufd xmm0, xmm8, 0x55
movd eax, xmm0
pshufd xmm0, xmm8, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm8, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm3, xmm2
mov eax, r10d
pxor xmm3, xmm11
shr rax, 0x18
movdqa xmmword [rbp + 0x50], xmm3
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
movzx ecx, r10b
xor r8d, dword [r12 + rax*4]
movzx eax, bl
mov edx, dword [r12 + rcx*4 + 0x800]
xor edx, dword [r12 + rax*4 + 0x400]
shr rdi, 0x18
xor edx, dword [r12 + rdi*4 + 0xc00]
movd xmm0, r9d
movd xmm1, r11d
movzx eax, sil
movd esi, xmm9
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
punpckldq xmm3, xmm2
pxor xmm3, xmm11
pshufd xmm0, xmm9, 0x55
movd eax, xmm0
pshufd xmm0, xmm9, 0xff
movd edi, xmm0
mov ebx, eax
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm9, 0xaa
mov r11d, dword [r12 + rdx*4 + 0x800]
movd r10d, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
movdqa xmmword [rbp + 0x60], xmm3
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, esi
shr rax, 0x10
movzx edx, al
mov eax, edi
shr rax, 8
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x800]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x400]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
shr rbx, 8
shr rdi, 0x18
movd xmm0, r9d
xor r8d, dword [r12 + rax*4]
movzx eax, bl
movzx ecx, r10b
movd xmm2, r8d
punpckldq xmm2, xmm1
mov edx, dword [r12 + rcx*4 + 0x800]
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
movd esi, xmm10
xor edx, dword [r12 + rax*4]
movd xmm3, edx
punpckldq xmm3, xmm0
pshufd xmm0, xmm10, 0x55
movd eax, xmm0
punpckldq xmm3, xmm2
pxor xmm3, xmm11
mov ebx, eax
movdqa xmmword [rbp + 0x70], xmm3
shr rax, 0x10
movzx edx, al
mov eax, esi
shr rax, 8
movzx ecx, al
pshufd xmm0, xmm10, 0xff
mov r11d, dword [r12 + rdx*4 + 0x800]
movd edi, xmm0
xor r11d, dword [r12 + rcx*4 + 0x400]
pshufd xmm0, xmm10, 0xaa
movd r10d, xmm0
mov eax, r10d
shr rax, 0x18
xor r11d, dword [r12 + rax*4 + 0xc00]
movzx eax, dil
xor r11d, dword [r12 + rax*4]
mov eax, edi
shr rax, 8
movzx edx, al
mov eax, esi
shr rax, 0x10
movzx ecx, al
mov eax, ebx
shr rax, 0x18
mov r9d, dword [r12 + rdx*4 + 0x400]
movd xmm1, r11d
xor r9d, dword [r12 + rcx*4 + 0x800]
xor r9d, dword [r12 + rax*4 + 0xc00]
movzx eax, r10b
xor r9d, dword [r12 + rax*4]
mov eax, r10d
shr rax, 8
movzx edx, al
mov eax, edi
shr rax, 0x10
movzx ecx, al
mov eax, esi
shr rax, 0x18
mov r8d, dword [r12 + rdx*4 + 0x400]
shr r10, 0x10
xor r8d, dword [r12 + rcx*4 + 0x800]
xor r8d, dword [r12 + rax*4 + 0xc00]
movzx eax, bl
movzx ecx, r10b
movd xmm0, r9d
shr rbx, 8
xor r8d, dword [r12 + rax*4]
mov edx, dword [r12 + rcx*4 + 0x800]
lea rcx, [rsp + 0x40]
movzx eax, bl
shr rdi, 0x18
movd xmm2, r8d
punpckldq xmm2, xmm1
xor edx, dword [r12 + rax*4 + 0x400]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx eax, sil
xor edx, dword [r12 + rax*4]
movd xmm3, edx
lea rdx, [rbp + 0x420]
punpckldq xmm3, xmm0
punpckldq xmm3, xmm2
pxor xmm3, xmm11
movdqa xmmword [rbp + 0x80], xmm3
call fcn.180057d00
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp - 0x50]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rsp + 0x50]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rsp + 0x60]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
movdqa xmmword [rbp + 0x50], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp - 0x80]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp - 0x70]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp - 0x60]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x3e0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x3d0]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x3c0]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x3b0]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x3a0]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x430]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x390]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x380]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x370]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x360]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x350]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x340]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x330]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x320]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x310]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x300]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x2e0]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x2d0]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x2c0]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x2b0]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x2a0]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x290]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x280]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x270]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x260]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x250]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x240]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0x230]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x220]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x210]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x200]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x1f0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x1e0]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x1d0]
movdqa xmmword [rbp + 0x30], xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x1c0]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
movdqa xmmword [rbp + 0x50], xmm0
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0x1a0]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x190]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x180]
movdqa xmmword [rbp + 0x80], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x170]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x160]
movdqa xmm12, xmm0
lea rcx, [rbp + 0x90]
call fcn.180057d00
lea rdx, [rbp + 0x150]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x140]
movdqa xmm11, xmm0
lea rcx, [rbp + 0x30]
call fcn.180057d00
lea rdx, [rbp + 0x130]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x120]
movdqa xmm10, xmm0
lea rcx, [rbp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x110]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x100]
movdqa xmm9, xmm0
lea rcx, [rbp + 0x50]
call fcn.180057d00
lea rdx, [rbp + 0xf0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0xe0]
movdqa xmm8, xmm0
lea rcx, [rbp + 0x60]
call fcn.180057d00
lea rdx, [rbp + 0xd0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0xc0]
movdqa xmm7, xmm0
lea rcx, [rbp + 0x70]
call fcn.180057d00
lea rdx, [rbp + 0x410]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
lea rdx, [rbp + 0x400]
movdqa xmm6, xmm0
lea rcx, [rbp + 0x80]
call fcn.180057d00
lea rdx, [rbp + 0x3f0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180057d00
movdqa xmm4, xmm10
movdqa xmm5, xmm9
pxor xmm5, xmm10
movdqa xmm1, xmm11
movdqa xmm10, xmm8
pxor xmm1, xmm12
pxor xmm10, xmm9
pxor xmm4, xmm11
movdqa xmm9, xmm7
movdqa xmm11, xmm0
pxor xmm9, xmm8
movdqa xmm8, xmm6
pxor xmm8, xmm7
pxor xmm11, xmm6
pxor xmm12, xmm0
sub r15, 1
jne 0x180052990
lea r11, [rsp + 0x6b0]
movdqa xmmword [r14 + 0x40], xmm1
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
movdqa xmmword [r14 + 0x50], xmm4
movdqa xmmword [r14 + 0x60], xmm5
movdqa xmmword [r14 + 0x70], xmm10
movaps xmm10, xmmword [r11 - 0x50]
movdqa xmmword [r14 + 0x80], xmm9
movaps xmm9, xmmword [r11 - 0x40]
movdqa xmmword [r14 + 0x90], xmm8
movaps xmm8, xmmword [r11 - 0x30]
movdqa xmmword [r14 + 0xa0], xmm11
movaps xmm11, xmmword [r11 - 0x60]
movdqa xmmword [r14 + 0xb0], xmm12
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop rbp
ret