Function at 0x432e60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x358
movaps xmmword [rsp + 0x2b0], xmm6
movaps xmmword [rsp + 0x2c0], xmm7
movaps xmmword [rsp + 0x2d0], xmm8
movaps xmmword [rsp + 0x2e0], xmm9
movaps xmmword [rsp + 0x2f0], xmm10
movaps xmmword [rsp + 0x300], xmm11
movaps xmmword [rsp + 0x310], xmm12
movaps xmmword [rsp + 0x320], xmm13
movaps xmmword [rsp + 0x330], xmm14
movaps xmmword [rsp + 0x340], xmm15
lea r8, [rsp + 0x260]
lea r9, [rsp + 0x250]
mov rbx, rcx
lea rax, [rsp + 0x2a0]
lea rcx, [rsp + 0x290]
lea rdi, [rsp + 0x280]
lea r10, [rsp + 0x240]
lea rbp, [rsp + 0x270]
mov rsi, rdx
mov qword [rsp + 0x30], r8
lea rdx, [rsp + 0x210]
mov qword [rsp + 0x28], r9
lea r8, [rsp + 0x220]
lea r9, [rsp + 0x230]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rax
mov rcx, rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x20], r10
lea rdi, [0x004aeb00]
call fcn.0042c780
movdqa xmm6, xmmword [rsp + 0x260]
lea rdx, [rsp + 0x1f0]
lea r11, [rsp + 0x200]
mov qword [rsp + 0x168], rsi
add rsi, 0x200000
movdqa xmm10, xmmword [rsp + 0x230]
mov qword [rsp + 0x1e8], rsi
mov qword [rsp + 0x88], rdx
movdqa xmm7, xmmword [rsp + 0x250]
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x70], rdx
movdqa xmm1, xmmword [rbx + 0xb0]
mov qword [rsp + 0x60], r11
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm7
movaps xmmword [rsp + 0x170], xmm10
movdqa xmm6, xmmword [rsp + 0x2a0]
movdqa xmm5, xmmword [rbx + 0x40]
movdqa xmm10, xmm6
movdqa xmm6, xmm1
movdqa xmm15, xmmword [rbx + 0x50]
movdqa xmm14, xmmword [rbx + 0x60]
movdqa xmm13, xmmword [rbx + 0x70]
movdqa xmm4, xmmword [rbx + 0x80]
movdqa xmm3, xmmword [rbx + 0x90]
movdqa xmm2, xmmword [rbx + 0xa0]
movdqa xmm12, xmmword [rsp + 0x210]
movdqa xmm11, xmmword [rsp + 0x220]
movdqa xmm0, xmmword [rsp + 0x240]
movdqa xmm9, xmmword [rsp + 0x270]
movdqa xmm8, xmmword [rsp + 0x280]
movdqa xmm7, xmmword [rsp + 0x290]
nop dword [rax]
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x110]
movaps xmmword [rsp + 0xa0], xmm4
mov rdx, r12
mov rcx, r13
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0x200], xmm5
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1f0], xmm12
call fcn.0042c540
mov rdx, r12
mov rcx, r13
movaps xmmword [rsp + 0x200], xmm15
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0x1f0], xmm12
call fcn.0042c540
mov rdx, r12
mov rcx, r13
movdqa xmm15, xmm0
movaps xmmword [rsp + 0x200], xmm14
movaps xmmword [rsp + 0x1f0], xmm12
call fcn.0042c540
mov rdx, r12
mov rcx, r13
movdqa xmm14, xmm0
movaps xmmword [rsp + 0x200], xmm13
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x110], r13
movaps xmmword [rsp + 0x1f0], xmm12
call fcn.0042c540
movdqa xmm13, xmm0
movd dword [rsp + 0x11c], xmm6
movaps xmmword [rsp + 0x1f0], xmm11
mov rdx, qword [rsp + 0x88]
movdqa xmm4, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
pshufd xmm2, xmm4, 0x55
movdqa xmm5, xmmword [rsp + 0x90]
pshufd xmm3, xmm4, 0xaa
pshufd xmm1, xmm4, 0xff
movd dword [rsp + 0xd0], xmm4
movd r13d, xmm2
pshufd xmm0, xmm5, 0x55
pshufd xmm4, xmm5, 0xaa
movd r14d, xmm3
pshufd xmm2, xmm5, 0xff
movd dword [rsp + 0xc0], xmm1
movdqa xmm3, xmmword [rsp + 0xb0]
movd dword [rsp + 0x90], xmm5
pshufd xmm1, xmm3, 0x55
pshufd xmm5, xmm3, 0xaa
movd dword [rsp + 0xa0], xmm0
movd dword [rsp + 0x118], xmm4
pshufd xmm0, xmm3, 0xff
pshufd xmm4, xmm6, 0x55
movd dword [rsp + 0x130], xmm2
pshufd xmm2, xmm6, 0xaa
movd dword [rsp + 0xb0], xmm3
movd ebp, xmm1
movd r12d, xmm5
movd dword [rsp + 0x120], xmm0
movd ebx, xmm4
pshufd xmm6, xmm6, 0xff
movd esi, xmm2
movdqa xmm3, xmmword [rsp + 0xe0]
movd r15d, xmm6
movaps xmmword [rsp + 0x200], xmm3
call fcn.0042c540
movaps xmmword [rsp + 0x200], xmm15
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x1f0], xmm11
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x110]
call fcn.0042c540
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x110]
movdqa xmm15, xmm0
movaps xmmword [rsp + 0x200], xmm14
movaps xmmword [rsp + 0x1f0], xmm11
call fcn.0042c540
movaps xmmword [rsp + 0x200], xmm13
movdqa xmm14, xmm0
movaps xmmword [rsp + 0x1f0], xmm11
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x110]
call fcn.0042c540
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xc0]
mov eax, r13d
movzx ecx, ah
movdqa xmm6, xmm0
movaps xmmword [rsp + 0x1f0], xmm11
movzx r10d, r9b
mov r11d, r8d
mov eax, r9d
shr r11d, 0x18
shr eax, 0x18
mov edx, dword [rdi + r10*4]
mov r10d, r14d
xor edx, dword [rdi + r11*4 + 0xc00]
shr r10d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
mov ecx, r14d
movzx r11d, r10b
xor edx, dword [rdi + r11*4 + 0x800]
mov r11d, r8d
shr r11d, 0x10
mov dword [rsp + 0xc0], edx
movzx edx, r13b
mov r10d, dword [rdi + rdx*4]
movzx edx, ch
xor r10d, dword [rdi + rax*4 + 0xc00]
xor r10d, dword [rdi + rdx*4 + 0x400]
movzx eax, r11b
mov ecx, r13d
xor r10d, dword [rdi + rax*4 + 0x800]
shr ecx, 0x18
mov eax, r8d
mov r11d, r9d
movzx r8d, r8b
shr r13d, 0x10
shr r11d, 0x10
movzx r13d, r13b
movd xmm0, dword [rsp + 0xc0]
mov dword [rsp + 0xd0], r10d
movzx r10d, r14b
shr r14d, 0x18
mov edx, dword [rdi + r10*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
movzx r10d, r11b
mov eax, r9d
xor edx, dword [rdi + r10*4 + 0x800]
movzx ecx, ah
movd xmm4, dword [rsp + 0xd0]
punpckldq xmm0, xmm4
mov dword [rsp + 0xe0], edx
mov edx, dword [rdi + r8*4]
xor edx, dword [rdi + r14*4 + 0xc00]
movd xmm13, dword [rsp + 0xe0]
xor edx, dword [rdi + rcx*4 + 0x400]
mov r14, qword [rsp + 0x110]
xor edx, dword [rdi + r13*4 + 0x800]
mov r13, qword [rsp + 0x88]
mov rcx, r14
mov dword [rsp + 0xf0], edx
mov rdx, r13
movd xmm5, dword [rsp + 0xf0]
punpckldq xmm13, xmm5
punpcklqdq xmm0, xmm13
pxor xmm0, xmm12
movaps xmmword [rsp + 0x200], xmm0
call fcn.0042c540
movaps xmmword [rsp + 0x1f0], xmm11
movaps xmmword [rsp + 0xd0], xmm0
mov r9d, dword [rsp + 0x90]
mov r11d, dword [rsp + 0x130]
mov eax, dword [rsp + 0xa0]
movzx r10d, r9b
mov r8d, r11d
mov edx, dword [rdi + r10*4]
mov r10d, dword [rsp + 0x118]
shr r8d, 0x18
xor edx, dword [rdi + r8*4 + 0xc00]
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
mov r8d, r10d
shr r8d, 0x10
movzx ecx, r8b
mov r8d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
mov dword [rsp + 0x88], edx
movzx edx, al
mov eax, r9d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
movd xmm13, dword [rsp + 0x88]
xor edx, dword [rdi + rax*4 + 0xc00]
mov eax, r10d
mov r10d, r11d
movzx ecx, ah
shr r10d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r10b
mov r10d, r8d
xor edx, dword [rdi + rcx*4 + 0x800]
shr r10d, 0x18
mov ecx, r11d
movzx ecx, ch
movzx r11d, r11b
shr r8d, 0x10
mov dword [rsp + 0x110], edx
movzx edx, al
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r10*4 + 0xc00]
mov r10d, r9d
shr r10d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
mov eax, eax
movzx ecx, r10b
mov r10d, dword [rdi + r11*4]
xor r10d, dword [rdi + rax*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x800]
movd xmm5, dword [rsp + 0x110]
punpckldq xmm13, xmm5
mov dword [rsp + 0x90], edx
mov edx, r9d
movzx r9d, r8b
movzx ecx, dh
movd xmm3, dword [rsp + 0x90]
mov rdx, r13
xor r10d, dword [rdi + rcx*4 + 0x400]
mov rcx, r14
xor r10d, dword [rdi + r9*4 + 0x800]
mov dword [rsp + 0xa0], r10d
movd xmm1, dword [rsp + 0xa0]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
pxor xmm13, xmm12
movaps xmmword [rsp + 0x200], xmm13
call fcn.0042c540
mov r8d, r12d
shr r8d, 0x10
mov eax, dword [rsp + 0x120]
mov r11d, dword [rsp + 0xb0]
movzx r9d, r8b
movaps xmmword [rsp + 0xc0], xmm0
mov ecx, eax
movzx r10d, r11b
mov r8d, eax
shr ecx, 0x18
shr r8d, 0x10
mov edx, dword [rdi + r10*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
mov ecx, ebp
movzx ecx, ch
movzx r10d, bpl
xor edx, dword [rdi + rcx*4 + 0x400]
mov ecx, r11d
xor edx, dword [rdi + r9*4 + 0x800]
shr ecx, 0x18
movzx r9d, r8b
mov r8d, r11d
shr r8d, 0x10
movaps xmmword [rsp + 0x1f0], xmm11
mov dword [rsp + 0x88], edx
mov edx, dword [rdi + r10*4]
movzx r10d, r12b
xor edx, dword [rdi + rcx*4 + 0xc00]
mov ecx, r12d
movd xmm3, dword [rsp + 0x88]
movzx ecx, ch
xor edx, dword [rdi + rcx*4 + 0x400]
mov ecx, ebp
xor edx, dword [rdi + r9*4 + 0x800]
shr ecx, 0x18
movzx r9d, r8b
mov dword [rsp + 0x110], edx
mov edx, dword [rdi + r10*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
movzx eax, al
xor edx, dword [rdi + rcx*4 + 0x400]
mov ecx, r11d
movd xmm1, dword [rsp + 0x110]
xor edx, dword [rdi + r9*4 + 0x800]
shr r12d, 0x18
shr ebp, 0x10
movzx ebp, bpl
punpckldq xmm3, xmm1
mov dword [rsp + 0x90], edx
mov edx, dword [rdi + rax*4]
movzx eax, ch
xor edx, dword [rdi + r12*4 + 0xc00]
movd xmm2, dword [rsp + 0x90]
mov rcx, r14
mov r12d, edx
xor r12d, dword [rdi + rax*4 + 0x400]
mov rdx, r13
mov r11d, r12d
xor r11d, dword [rdi + rbp*4 + 0x800]
mov dword [rsp + 0xa0], r11d
movd xmm4, dword [rsp + 0xa0]
punpckldq xmm2, xmm4
punpcklqdq xmm3, xmm2
pxor xmm3, xmm12
movaps xmmword [rsp + 0x200], xmm3
call fcn.0042c540
mov r9d, r15d
mov ecx, esi
movzx edx, bh
shr r9d, 0x18
shr ecx, 0x10
movzx r11d, bl
mov r10d, dword [rsp + 0x11c]
movzx eax, cl
movaps xmmword [rsp + 0xf0], xmm0
movzx r8d, r10b
mov ebp, r10d
shr ebp, 0x18
mov r12d, dword [rdi + r8*4]
xor r12d, dword [rdi + r9*4 + 0xc00]
mov r9d, r15d
xor r12d, dword [rdi + rdx*4 + 0x400]
mov edx, esi
mov r8d, dword [rdi + r11*4]
xor r12d, dword [rdi + rax*4 + 0x800]
xor r8d, dword [rdi + rbp*4 + 0xc00]
movzx ecx, dh
shr r9d, 0x10
xor r8d, dword [rdi + rcx*4 + 0x400]
mov r11d, ebx
shr r11d, 0x18
movzx eax, sil
mov edx, r15d
mov ebp, dword [rdi + rax*4]
movzx ecx, dh
xor ebp, dword [rdi + r11*4 + 0xc00]
mov dword [rsp + 0x88], r12d
movzx r12d, r9b
xor ebp, dword [rdi + rcx*4 + 0x400]
xor r8d, dword [rdi + r12*4 + 0x800]
shr esi, 0x18
movzx r15d, r15b
mov edx, dword [rdi + r15*4]
xor edx, dword [rdi + rsi*4 + 0xc00]
mov eax, r10d
shr ebx, 0x10
movd xmm2, dword [rsp + 0x88]
mov rcx, r14
movzx ebx, bl
mov dword [rsp + 0x110], r8d
mov r8d, r10d
shr r8d, 0x10
mov esi, edx
movd xmm4, dword [rsp + 0x110]
movzx r9d, r8b
mov rdx, r13
xor ebp, dword [rdi + r9*4 + 0x800]
punpckldq xmm2, xmm4
movaps xmmword [rsp + 0x1f0], xmm11
mov dword [rsp + 0x90], ebp
movzx ebp, ah
xor esi, dword [rdi + rbp*4 + 0x400]
movd xmm5, dword [rsp + 0x90]
movd ebp, xmm14
mov r10d, esi
xor r10d, dword [rdi + rbx*4 + 0x800]
movd esi, xmm6
mov dword [rsp + 0xa0], r10d
movd xmm0, dword [rsp + 0xa0]
punpckldq xmm5, xmm0
punpcklqdq xmm2, xmm5
pxor xmm2, xmm12
movaps xmmword [rsp + 0x200], xmm2
call fcn.0042c540
mov rdx, r13
mov rcx, r14
movd r13d, xmm15
movdqa xmm13, xmm0
movdqa xmm3, xmmword [rsp + 0x100]
movdqa xmm1, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x200], xmm3
movaps xmmword [rsp + 0x1f0], xmm1
call fcn.0042c540
pshufd xmm5, xmm15, 0x55
movzx ecx, r13b
pshufd xmm2, xmm15, 0xaa
movd dword [rsp + 0x130], xmm13
pshufd xmm15, xmm15, 0xff
mov eax, dword [rdi + rcx*4]
movd r10d, xmm5
pshufd xmm4, xmm14, 0x55
movd r11d, xmm2
pshufd xmm3, xmm14, 0xaa
movd r14d, xmm15
mov ecx, r10d
movd dword [rsp + 0x158], xmm0
pshufd xmm14, xmm14, 0xff
movzx ecx, ch
mov r15d, r14d
pshufd xmm1, xmm6, 0x55
shr r15d, 0x18
pshufd xmm5, xmm6, 0xaa
xor eax, dword [rdi + r15*4 + 0xc00]
mov r15d, r11d
movd r12d, xmm14
xor eax, dword [rdi + rcx*4 + 0x400]
shr r15d, 0x10
movd r8d, xmm4
movzx ecx, r15b
pshufd xmm6, xmm6, 0xff
movdqa xmm15, xmmword [rsp + 0xd0]
movd r9d, xmm3
xor eax, dword [rdi + rcx*4 + 0x800]
movd ebx, xmm5
mov r15d, r13d
movdqa xmm14, xmmword [rsp + 0xc0]
movd edx, xmm6
pshufd xmm2, xmm15, 0x55
shr r15d, 0x18
pshufd xmm4, xmm15, 0xaa
movd dword [rsp + 0x88], xmm1
pshufd xmm3, xmm15, 0xff
movd dword [rsp + 0x110], xmm15
pshufd xmm1, xmm14, 0x55
mov dword [rsp + 0x180], eax
pshufd xmm5, xmm14, 0xaa
movzx eax, r10b
pshufd xmm6, xmm14, 0xff
movd dword [rsp + 0x90], xmm2
movdqa xmm15, xmmword [rsp + 0xf0]
mov ecx, r11d
mov eax, dword [rdi + rax*4]
movzx ecx, ch
xor eax, dword [rdi + r15*4 + 0xc00]
pshufd xmm2, xmm15, 0x55
movd dword [rsp + 0xa0], xmm4
mov r15d, r14d
xor eax, dword [rdi + rcx*4 + 0x400]
pshufd xmm4, xmm15, 0xaa
movd dword [rsp + 0x118], xmm3
movd dword [rsp + 0xb0], xmm14
pshufd xmm3, xmm15, 0xff
pshufd xmm14, xmm13, 0x55
movd dword [rsp + 0xc0], xmm1
movd dword [rsp + 0xd0], xmm5
pshufd xmm1, xmm13, 0xaa
pshufd xmm5, xmm0, 0x55
movd dword [rsp + 0xe0], xmm6
pshufd xmm13, xmm13, 0xff
shr r15d, 0x10
pshufd xmm6, xmm0, 0xaa
movzx ecx, r15b
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0xf0], xmm15
movd dword [rsp + 0x100], xmm2
mov r15d, r10d
shr r10d, 0x10
movd dword [rsp + 0x11c], xmm4
shr r15d, 0x18
movd dword [rsp + 0x120], xmm3
movd dword [rsp + 0x140], xmm14
movd dword [rsp + 0x150], xmm1
movd dword [rsp + 0x154], xmm13
movd dword [rsp + 0x15c], xmm5
movd dword [rsp + 0x160], xmm6
movd dword [rsp + 0x164], xmm0
xor eax, dword [rdi + rcx*4 + 0x800]
mov ecx, r14d
movzx ecx, ch
movzx r14d, r14b
movd xmm4, dword [rsp + 0x180]
movdqa xmm14, xmmword [rsp + 0x170]
mov dword [rsp + 0x184], eax
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r15*4 + 0xc00]
mov r15d, r13d
shr r15d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movd xmm3, dword [rsp + 0x184]
movzx ecx, r15b
xor eax, dword [rdi + rcx*4 + 0x800]
mov ecx, r13d
movzx r13d, r10b
movzx ecx, ch
mov r10d, r12d
shr r10d, 0x18
punpckldq xmm4, xmm3
mov dword [rsp + 0x188], eax
mov eax, dword [rdi + r14*4]
xor eax, dword [rdi + r11*4 + 0xc00]
movd xmm15, dword [rsp + 0x188]
xor eax, dword [rdi + rcx*4 + 0x400]
mov ecx, r8d
xor eax, dword [rdi + r13*4 + 0x800]
movzx ecx, ch
mov dword [rsp + 0x18c], eax
movzx eax, bpl
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r10*4 + 0xc00]
mov r10d, r9d
shr r10d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movd xmm2, dword [rsp + 0x18c]
movzx ecx, r10b
mov r10d, ebp
xor eax, dword [rdi + rcx*4 + 0x800]
shr r10d, 0x18
mov ecx, r9d
movzx ecx, ch
punpckldq xmm15, xmm2
mov dword [rsp + 0x180], eax
movzx eax, r8b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r10*4 + 0xc00]
mov r10d, r12d
shr r10d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movzx ecx, r10b
mov r10d, r8d
xor eax, dword [rdi + rcx*4 + 0x800]
shr r10d, 0x18
mov ecx, r12d
movzx ecx, ch
movzx r12d, r12b
punpcklqdq xmm4, xmm15
mov dword [rsp + 0x184], eax
movzx eax, r9b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r10*4 + 0xc00]
mov r10d, ebp
shr r10d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movzx ecx, r10b
pxor xmm4, xmm14
xor eax, dword [rdi + rcx*4 + 0x800]
shr r9d, 0x18
mov ecx, ebp
movzx ebp, ch
shr r8d, 0x10
mov ecx, edx
movzx r8d, r8b
shr ecx, 0x18
movd r14d, xmm4
pshufd xmm5, xmm4, 0xff
mov dword [rsp + 0x188], eax
mov eax, dword [rdi + r12*4]
xor eax, dword [rdi + r9*4 + 0xc00]
movd xmm15, dword [rsp + 0x180]
xor eax, dword [rdi + rbp*4 + 0x400]
movd xmm2, dword [rsp + 0x184]
movd r11d, xmm5
xor eax, dword [rdi + r8*4 + 0x800]
mov r8d, ebx
movd xmm6, dword [rsp + 0x188]
shr r8d, 0x10
punpckldq xmm15, xmm2
pshufd xmm13, xmm4, 0xaa
pshufd xmm1, xmm4, 0x55
mov dword [rsp + 0x18c], eax
movzx eax, sil
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rcx*4 + 0xc00]
movd r13d, xmm13
mov ecx, dword [rsp + 0x88]
movd xmm0, dword [rsp + 0x18c]
movd r15d, xmm1
punpckldq xmm6, xmm0
movzx ecx, ch
xor eax, dword [rdi + rcx*4 + 0x400]
movzx ecx, r8b
mov r8d, esi
xor eax, dword [rdi + rcx*4 + 0x800]
shr r8d, 0x18
movzx ecx, bh
punpcklqdq xmm15, xmm6
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x88]
pxor xmm15, xmm14
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r8*4 + 0xc00]
mov r8d, edx
shr r8d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movd ebp, xmm15
movzx ecx, r8b
mov r8d, dword [rsp + 0x88]
xor eax, dword [rdi + rcx*4 + 0x800]
movzx ecx, dh
movzx edx, dl
pshufd xmm3, xmm15, 0xaa
shr r8d, 0x18
pshufd xmm1, xmm15, 0xff
pshufd xmm4, xmm15, 0x55
mov dword [rsp + 0x184], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + r8*4 + 0xc00]
mov r8d, esi
shr r8d, 0x10
xor eax, dword [rdi + rcx*4 + 0x400]
movd r10d, xmm3
movzx ecx, r8b
mov r8d, dword [rsp + 0x88]
movd r9d, xmm1
xor eax, dword [rdi + rcx*4 + 0x800]
movd r12d, xmm4
shr r8d, 0x10
movzx ecx, r8b
mov dword [rsp + 0x188], eax
mov eax, dword [rdi + rdx*4]
xor eax, dword [rdi + rbx*4 + 0xc00]
mov ebx, esi
movzx esi, bh
xor eax, dword [rdi + rsi*4 + 0x400]
xor eax, dword [rdi + rcx*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, byte [rsp + 0x110]
mov edx, dword [rsp + 0x118]
movd xmm5, dword [rsp + 0x88]
movd xmm6, dword [rsp + 0x180]
movd xmm0, dword [rsp + 0x184]
shr edx, 0x18
mov eax, dword [rdi + rax*4]
movd xmm13, dword [rsp + 0x188]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x90]
punpckldq xmm13, xmm5
punpckldq xmm6, xmm0
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xa0]
punpcklqdq xmm6, xmm13
shr edx, 0x10
movzx edx, dl
pxor xmm6, xmm14
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x110]
pshufd xmm15, xmm6, 0x55
movd r8d, xmm6
shr edx, 0x18
pshufd xmm2, xmm6, 0xaa
mov dword [rsp + 0x88], eax
movzx eax, byte [rsp + 0x90]
movd esi, xmm15
pshufd xmm4, xmm6, 0xff
movd ebx, xmm2
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
movd ecx, xmm4
mov edx, dword [rsp + 0xa0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x118]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x90]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0xa0]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x118]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x110]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x118]
mov edx, dword [rsp + 0xa0]
movd xmm13, dword [rsp + 0x88]
movd xmm5, dword [rsp + 0x180]
movd xmm1, dword [rsp + 0x184]
shr edx, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x110]
punpckldq xmm13, xmm5
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x90]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xe0]
shr edx, 0x18
mov dword [rsp + 0x110], eax
movzx eax, byte [rsp + 0xb0]
movd xmm3, dword [rsp + 0x110]
punpckldq xmm1, xmm3
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xc0]
punpcklqdq xmm13, xmm1
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xd0]
pxor xmm13, xmm14
shr edx, 0x10
movzx edx, dl
pshufd xmm6, xmm13, 0x55
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xb0]
movd dword [rsp + 0x88], xmm13
pshufd xmm0, xmm13, 0xaa
pshufd xmm15, xmm13, 0xff
movd dword [rsp + 0x110], xmm6
shr edx, 0x18
mov dword [rsp + 0x118], eax
movd dword [rsp + 0x90], xmm0
movzx eax, byte [rsp + 0xc0]
movd dword [rsp + 0xa0], xmm15
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xd0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xe0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xc0]
movd xmm1, dword [rsp + 0x118]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0xd0]
movd xmm3, dword [rsp + 0x180]
punpckldq xmm1, xmm3
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xe0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xb0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xd0]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0xe0]
movd xmm2, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xb0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xc0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x120]
shr edx, 0x18
mov dword [rsp + 0xb0], eax
movzx eax, byte [rsp + 0xf0]
movd xmm4, dword [rsp + 0xb0]
punpckldq xmm2, xmm4
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
punpcklqdq xmm1, xmm2
pxor xmm1, xmm14
pshufd xmm13, xmm1, 0x55
movd dword [rsp + 0x118], xmm1
pshufd xmm5, xmm1, 0xaa
pshufd xmm6, xmm1, 0xff
movd dword [rsp + 0xb0], xmm13
movd dword [rsp + 0xc0], xmm5
movd dword [rsp + 0xd0], xmm6
mov edx, dword [rsp + 0x100]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x11c]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xf0]
shr edx, 0x18
mov dword [rsp + 0xe0], eax
movzx eax, byte [rsp + 0x100]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x11c]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x120]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x100]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x11c]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x120]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xf0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x11c]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x120]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xf0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x100]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov dword [rsp + 0xf0], eax
movd xmm15, dword [rsp + 0x184]
movzx eax, byte [rsp + 0x130]
mov edx, dword [rsp + 0x154]
movd xmm0, dword [rsp + 0xf0]
movd xmm2, dword [rsp + 0x180]
shr edx, 0x18
movd xmm4, dword [rsp + 0xe0]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x140]
punpckldq xmm15, xmm0
punpckldq xmm4, xmm2
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x150]
punpcklqdq xmm4, xmm15
shr edx, 0x10
movzx edx, dl
pxor xmm4, xmm14
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x130]
pshufd xmm1, xmm4, 0x55
movd dword [rsp + 0xe0], xmm4
shr edx, 0x18
pshufd xmm3, xmm4, 0xaa
mov dword [rsp + 0x120], eax
pshufd xmm13, xmm4, 0xff
movzx eax, byte [rsp + 0x140]
movd dword [rsp + 0xf0], xmm1
movd dword [rsp + 0x100], xmm3
movd dword [rsp + 0x11c], xmm13
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x150]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x154]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x140]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x150]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x154]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x130]
movd xmm15, dword [rsp + 0x120]
movd xmm0, dword [rsp + 0x180]
shr edx, 0x10
movzx edx, dl
punpckldq xmm15, xmm0
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x150]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x154]
movd xmm6, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x130]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x140]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x164]
shr edx, 0x18
mov dword [rsp + 0x130], eax
movzx eax, byte [rsp + 0x158]
movd xmm5, dword [rsp + 0x130]
punpckldq xmm6, xmm5
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x15c]
punpcklqdq xmm15, xmm6
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x160]
pxor xmm15, xmm14
shr edx, 0x10
movzx edx, dl
pshufd xmm14, xmm15, 0x55
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x158]
movd dword [rsp + 0x120], xmm15
pshufd xmm4, xmm15, 0xaa
pshufd xmm2, xmm15, 0xff
movd dword [rsp + 0x130], xmm14
shr edx, 0x18
mov dword [rsp + 0x154], eax
movd dword [rsp + 0x140], xmm4
movzx eax, byte [rsp + 0x15c]
movd dword [rsp + 0x150], xmm2
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x160]
movd xmm13, dword [rsp + 0x154]
movdqa xmm15, xmmword [rsp + 0x190]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x164]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x15c]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x160]
movd xmm6, dword [rsp + 0x180]
punpckldq xmm13, xmm6
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x164]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x158]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x160]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x164]
movd xmm3, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x158]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x15c]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r11d
shr edx, 0x18
mov dword [rsp + 0x158], eax
movzx eax, r14b
movd xmm1, dword [rsp + 0x158]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
pxor xmm13, xmm15
pshufd xmm5, xmm13, 0x55
movd dword [rsp + 0x154], xmm13
pshufd xmm0, xmm13, 0xaa
pshufd xmm14, xmm13, 0xff
movd dword [rsp + 0x158], xmm5
movd dword [rsp + 0x15c], xmm0
movd dword [rsp + 0x160], xmm14
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r15d
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r13d
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r14d
shr edx, 0x18
mov dword [rsp + 0x164], eax
movzx eax, r15b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r13d
movzx edx, dh
movd xmm3, dword [rsp + 0x164]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r11d
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r15d
shr r15d, 0x10
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, r13b
shr r13d, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r11d
movzx edx, dh
movzx r11d, r11b
movd xmm1, dword [rsp + 0x180]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r14d
shr edx, 0x10
punpckldq xmm3, xmm1
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r14d
movzx r14d, r15b
movzx edx, dh
mov dword [rsp + 0x184], eax
mov eax, dword [rdi + r11*4]
xor eax, dword [rdi + r13*4 + 0xc00]
movd xmm2, dword [rsp + 0x184]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r9d
xor eax, dword [rdi + r14*4 + 0x800]
shr edx, 0x18
mov dword [rsp + 0x188], eax
movzx eax, bpl
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r12d
movzx edx, dh
movd xmm4, dword [rsp + 0x188]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r10d
shr edx, 0x10
punpckldq xmm2, xmm4
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, ebp
shr edx, 0x18
punpcklqdq xmm3, xmm2
mov dword [rsp + 0x164], eax
movzx eax, r12b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r10d
movzx edx, dh
pxor xmm3, xmm15
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r9d
shr edx, 0x10
movzx edx, dl
pshufd xmm6, xmm3, 0xaa
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r12d
movd xmm4, dword [rsp + 0x164]
shr edx, 0x18
pshufd xmm5, xmm3, 0xff
movd r13d, xmm6
pshufd xmm13, xmm3, 0x55
movd r14d, xmm3
mov dword [rsp + 0x180], eax
movzx eax, r10b
movd r11d, xmm5
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r9d
movzx edx, dh
movzx r9d, r9b
movd xmm2, dword [rsp + 0x180]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, ebp
movd r15d, xmm13
shr edx, 0x10
punpckldq xmm4, xmm2
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
shr r10d, 0x18
mov edx, ebp
movzx ebp, dh
shr r12d, 0x10
mov edx, ecx
movzx r12d, r12b
shr edx, 0x18
mov dword [rsp + 0x184], eax
mov eax, dword [rdi + r9*4]
xor eax, dword [rdi + r10*4 + 0xc00]
movd xmm14, dword [rsp + 0x184]
xor eax, dword [rdi + rbp*4 + 0x400]
xor eax, dword [rdi + r12*4 + 0x800]
mov dword [rsp + 0x188], eax
movzx eax, r8b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, esi
movzx edx, dh
movd xmm0, dword [rsp + 0x188]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, ebx
shr edx, 0x10
punpckldq xmm14, xmm0
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r8d
shr edx, 0x18
punpcklqdq xmm4, xmm14
mov dword [rsp + 0x164], eax
movzx eax, sil
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
movzx edx, bh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, ecx
shr edx, 0x10
pxor xmm4, xmm15
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, esi
shr esi, 0x10
shr edx, 0x18
pshufd xmm1, xmm4, 0xaa
pshufd xmm13, xmm4, 0xff
movd ebp, xmm4
pshufd xmm3, xmm4, 0x55
mov dword [rsp + 0x180], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
movzx edx, ch
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r8d
movzx ecx, cl
shr edx, 0x10
movd r10d, xmm1
movd r9d, xmm13
movzx edx, dl
movd r12d, xmm3
xor eax, dword [rdi + rdx*4 + 0x800]
mov dword [rsp + 0x184], eax
mov eax, dword [rdi + rcx*4]
xor eax, dword [rdi + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, sil
movzx edx, bh
movd xmm14, dword [rsp + 0x164]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xa0]
xor eax, dword [rdi + r8*4 + 0x800]
movd xmm0, dword [rsp + 0x180]
movd xmm6, dword [rsp + 0x184]
shr edx, 0x18
punpckldq xmm14, xmm0
mov dword [rsp + 0x188], eax
movzx eax, byte [rsp + 0x88]
movd xmm5, dword [rsp + 0x188]
punpckldq xmm6, xmm5
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x110]
punpcklqdq xmm14, xmm6
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x90]
pxor xmm14, xmm15
shr edx, 0x10
movzx edx, dl
pshufd xmm4, xmm14, 0x55
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x88]
movd r8d, xmm14
pshufd xmm2, xmm14, 0xaa
movd esi, xmm4
pshufd xmm3, xmm14, 0xff
shr edx, 0x18
mov dword [rsp + 0x164], eax
movzx eax, byte [rsp + 0x110]
movd ebx, xmm2
movd ecx, xmm3
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x90]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xa0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x110]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x90]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xa0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x88]
movd xmm6, dword [rsp + 0x164]
movd xmm5, dword [rsp + 0x180]
shr edx, 0x10
movzx edx, dl
punpckldq xmm6, xmm5
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x90]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0xa0]
movd xmm1, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x88]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x110]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xd0]
shr edx, 0x18
mov dword [rsp + 0x88], eax
movzx eax, byte [rsp + 0x118]
movd xmm13, dword [rsp + 0x88]
punpckldq xmm1, xmm13
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xb0]
punpcklqdq xmm6, xmm1
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xc0]
pxor xmm6, xmm15
shr edx, 0x10
movzx edx, dl
pshufd xmm14, xmm6, 0x55
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x118]
movd dword [rsp + 0x88], xmm6
pshufd xmm0, xmm6, 0xaa
pshufd xmm4, xmm6, 0xff
movd dword [rsp + 0x110], xmm14
shr edx, 0x18
mov dword [rsp + 0x164], eax
movd dword [rsp + 0x90], xmm0
movzx eax, byte [rsp + 0xb0]
movd dword [rsp + 0xa0], xmm4
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xc0]
movd xmm1, dword [rsp + 0x164]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xd0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xb0]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0xc0]
movd xmm13, dword [rsp + 0x180]
punpckldq xmm1, xmm13
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xd0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x118]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xc0]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0xd0]
movd xmm2, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x118]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xb0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov dword [rsp + 0x118], eax
movd xmm3, dword [rsp + 0x118]
punpckldq xmm2, xmm3
punpcklqdq xmm1, xmm2
pxor xmm1, xmm15
pshufd xmm6, xmm1, 0x55
movd dword [rsp + 0x118], xmm1
pshufd xmm5, xmm1, 0xaa
pshufd xmm14, xmm1, 0xff
movd dword [rsp + 0xb0], xmm6
movd dword [rsp + 0xc0], xmm5
movd dword [rsp + 0xd0], xmm14
movzx eax, byte [rsp + 0xe0]
mov edx, dword [rsp + 0x11c]
shr edx, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xf0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x100]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xe0]
shr edx, 0x18
mov dword [rsp + 0x164], eax
movzx eax, byte [rsp + 0xf0]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x100]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x11c]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0xf0]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x100]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x11c]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xe0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x100]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x11c]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0xe0]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0xf0]
movd xmm3, dword [rsp + 0x164]
movd xmm4, dword [rsp + 0x180]
shr edx, 0x10
movd xmm2, dword [rsp + 0x184]
movzx edx, dl
punpckldq xmm3, xmm4
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x150]
shr edx, 0x18
mov dword [rsp + 0xe0], eax
movzx eax, byte [rsp + 0x120]
movd xmm0, dword [rsp + 0xe0]
punpckldq xmm2, xmm0
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x130]
punpcklqdq xmm3, xmm2
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x140]
pxor xmm3, xmm15
shr edx, 0x10
movzx edx, dl
pshufd xmm1, xmm3, 0x55
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x120]
movd dword [rsp + 0xe0], xmm3
pshufd xmm13, xmm3, 0xaa
pshufd xmm6, xmm3, 0xff
movd dword [rsp + 0xf0], xmm1
shr edx, 0x18
mov dword [rsp + 0x164], eax
movd dword [rsp + 0x100], xmm13
movzx eax, byte [rsp + 0x130]
movd dword [rsp + 0x11c], xmm6
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x140]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x150]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x130]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x140]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x150]
movd xmm2, dword [rsp + 0x180]
movd xmm0, dword [rsp + 0x164]
movaps xmmword [rsp + 0x1b0], xmm15
movzx edx, dh
punpckldq xmm0, xmm2
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x120]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x140]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x150]
movd xmm14, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x120]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x130]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x160]
shr edx, 0x18
mov dword [rsp + 0x120], eax
movzx eax, byte [rsp + 0x154]
movd xmm5, dword [rsp + 0x120]
punpckldq xmm14, xmm5
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x158]
punpcklqdq xmm0, xmm14
movzx edx, dh
pxor xmm0, xmm15
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x15c]
pshufd xmm15, xmm0, 0x55
shr edx, 0x10
pshufd xmm3, xmm0, 0xaa
movzx edx, dl
pshufd xmm4, xmm0, 0xff
movd dword [rsp + 0x120], xmm0
movd dword [rsp + 0x130], xmm15
movd dword [rsp + 0x140], xmm3
movd dword [rsp + 0x150], xmm4
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x154]
mov dword [rsp + 0x164], eax
movzx eax, byte [rsp + 0x158]
shr edx, 0x18
movd xmm6, dword [rsp + 0x164]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x15c]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x160]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x158]
shr edx, 0x18
mov dword [rsp + 0x180], eax
movzx eax, byte [rsp + 0x15c]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x160]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x154]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, dword [rsp + 0x15c]
shr edx, 0x18
mov dword [rsp + 0x184], eax
movzx eax, byte [rsp + 0x160]
movd xmm13, dword [rsp + 0x184]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x154]
movzx edx, dh
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, dword [rsp + 0x158]
shr edx, 0x10
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r11d
shr edx, 0x18
mov dword [rsp + 0x154], eax
movzx eax, r14b
movd xmm1, dword [rsp + 0x154]
movd xmm14, dword [rsp + 0x180]
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r15d
movzx edx, dh
punpckldq xmm13, xmm1
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r13d
shr edx, 0x10
punpckldq xmm6, xmm14
movzx edx, dl
movdqa xmm5, xmmword [rsp + 0x1c0]
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r14d
shr edx, 0x18
punpcklqdq xmm6, xmm13
mov dword [rsp + 0x164], eax
movzx eax, r15b
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r13d
movzx edx, dh
movd xmm13, dword [rsp + 0x164]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r11d
shr edx, 0x10
pxor xmm6, xmm5
movzx edx, dl
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r15d
shr r15d, 0x10
shr edx, 0x18
pshufd xmm0, xmm6, 0x55
pshufd xmm2, xmm6, 0xaa
movd dword [rsp + 0x154], xmm6
pshufd xmm15, xmm6, 0xff
mov dword [rsp + 0x180], eax
movzx eax, r13b
shr r13d, 0x18
mov eax, dword [rdi + rax*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r11d
movzx edx, dh
movzx r11d, r11b
movd xmm1, dword [rsp + 0x180]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r14d
movd dword [rsp + 0x158], xmm0
shr edx, 0x10
punpckldq xmm13, xmm1
movzx edx, dl
movd dword [rsp + 0x15c], xmm2
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r14d
movzx r14d, r15b
movzx edx, dh
mov r15d, dword [rdi + r14*4 + 0x800]
movd dword [rsp + 0x160], xmm15
mov r14d, r10d
shr r14d, 0x10
mov dword [rsp + 0x184], eax
mov eax, dword [rdi + r11*4]
movzx r11d, bpl
xor eax, dword [rdi + r13*4 + 0xc00]
movd xmm3, dword [rsp + 0x184]
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r9d
shr edx, 0x18
xor r15d, eax
mov dword [rsp + 0x188], r15d
movzx r15d, r14b
mov r14d, r9d
movd xmm4, dword [rsp + 0x188]
shr r14d, 0x10
punpckldq xmm3, xmm4
punpcklqdq xmm13, xmm3
pxor xmm13, xmm5
pshufd xmm6, xmm13, 0x55
movd dword [rsp + 0x164], xmm13
pshufd xmm14, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
movd dword [rsp + 0x180], xmm6
movd dword [rsp + 0x184], xmm14
mov eax, dword [rdi + r11*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r12d
mov r13d, dword [rdi + r15*4 + 0x800]
movzx r11d, r12b
movzx edx, dh
movzx r15d, r14b
mov r14d, ebp
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, ebp
shr r14d, 0x10
shr edx, 0x18
movd dword [rsp + 0x1e4], xmm0
xor r13d, eax
mov eax, dword [rdi + r11*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r10d
mov dword [rsp + 0x188], r13d
mov r13d, dword [rdi + r15*4 + 0x800]
movzx edx, dh
movzx r11d, r10b
movzx r15d, r14b
xor eax, dword [rdi + rdx*4 + 0x400]
mov edx, r12d
movd xmm3, dword [rsp + 0x188]
shr edx, 0x18
movzx r14d, sil
xor r13d, eax
mov eax, dword [rdi + r11*4]
xor eax, dword [rdi + rdx*4 + 0xc00]
mov edx, r9d
mov dword [rsp + 0x18c], r13d
mov r13d, dword [rdi + r15*4 + 0x800]
movzx edx, dh
movzx r9d, r9b
movd xmm4, dword [rsp + 0x18c]
xor eax, dword [rdi + rdx*4 + 0x400]
mov r11d, dword [rdi + r9*4]
movzx r15d, r8b
punpckldq xmm3, xmm4
mov r9d, dword [rdi + r15*4]
mov edx, r8d
xor r13d, eax
shr r10d, 0x18
mov eax, ebp
xor r11d, dword [rdi + r10*4 + 0xc00]
movzx ebp, ah
shr r12d, 0x10
xor r11d, dword [rdi + rbp*4 + 0x400]
movzx r12d, r12b
mov dword [rsp + 0x190], r13d
mov r10d, dword [rdi + r12*4 + 0x800]
movd xmm2, dword [rsp + 0x190]
mov r13d, ecx
shr r13d, 0x18
mov eax, esi
shr edx, 0x18
xor r9d, dword [rdi + r13*4 + 0xc00]
movzx ebp, ah
mov r13d, ecx
xor r10d, r11d
mov r11d, ebx
xor r9d, dword [rdi + rbp*4 + 0x400]
mov dword [rsp + 0x1a0], r10d
shr r11d, 0x10
movzx eax, bh
movd xmm15, dword [rsp + 0x1a0]
movzx r12d, r11b
shr r13d, 0x10
movzx r11d, bl
shr ebx, 0x18
punpckldq xmm2, xmm15
punpcklqdq xmm3, xmm2
pxor xmm3, xmm5
pshufd xmm13, xmm3, 0x55
movd dword [rsp + 0x188], xmm3
pshufd xmm1, xmm3, 0xaa
pshufd xmm6, xmm3, 0xff
movd dword [rsp + 0x18c], xmm13
movd dword [rsp + 0x1e0], xmm1
movd dword [rsp + 0x1ac], xmm6
mov r10d, dword [rdi + r12*4 + 0x800]
mov r12d, esi
mov r15d, dword [rdi + r14*4]
shr r12d, 0x18
mov r14d, r8d
xor r15d, dword [rdi + rdx*4 + 0xc00]
movzx edx, ch
movzx ecx, cl
xor r15d, dword [rdi + rax*4 + 0x400]
xor r10d, r9d
movzx r9d, r13b
mov ebp, dword [rdi + r9*4 + 0x800]
mov r13d, dword [rdi + rcx*4]
shr r14d, 0x10
xor r13d, dword [rdi + rbx*4 + 0xc00]
mov ebx, r8d
mov dword [rsp + 0x190], r10d
shr esi, 0x10
mov r10d, dword [rdi + r11*4]
xor r10d, dword [rdi + r12*4 + 0xc00]
xor ebp, r15d
xor r10d, dword [rdi + rdx*4 + 0x400]
movzx r15d, r14b
mov dword [rsp + 0x1a0], ebp
movzx ebp, bh
movzx r8d, sil
xor r13d, dword [rdi + rbp*4 + 0x400]
mov eax, dword [rdi + r15*4 + 0x800]
mov esi, dword [rdi + r8*4 + 0x800]
movd xmm2, dword [rsp + 0x1a0]
movd xmm15, dword [rsp + 0x190]
mov r14d, dword [rsp + 0xa0]
xor eax, r10d
mov r11d, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x90]
xor esi, r13d
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x1a8], esi
movd xmm14, dword [rsp + 0x1a4]
mov r10d, r14d
movd xmm0, dword [rsp + 0x1a8]
punpckldq xmm15, xmm2
movzx r12d, r11b
shr r10d, 0x18
mov r13d, ecx
punpckldq xmm14, xmm0
mov r15d, dword [rdi + r12*4]
movzx edx, ah
xor r15d, dword [rdi + r10*4 + 0xc00]
shr r13d, 0x10
xor r15d, dword [rdi + rdx*4 + 0x400]
movzx ebx, r13b
mov r9d, r11d
punpcklqdq xmm15, xmm14
movzx r8d, al
shr r9d, 0x18
mov esi, eax
mov r12d, r14d
movzx eax, ch
movzx r13d, cl
pxor xmm15, xmm5
pshufd xmm3, xmm15, 0x55
movd dword [rsp + 0x190], xmm15
pshufd xmm4, xmm15, 0xaa
pshufd xmm13, xmm15, 0xff
movd dword [rsp + 0x1a0], xmm3
movd dword [rsp + 0x1a4], xmm4
movd dword [rsp + 0x1a8], xmm13
mov ebp, dword [rdi + rbx*4 + 0x800]
mov ebx, esi
mov r10d, dword [rdi + r8*4]
xor r10d, dword [rdi + r9*4 + 0xc00]
xor ebp, r15d
xor r10d, dword [rdi + rax*4 + 0x400]
shr r12d, 0x10
movzx r15d, r12b
mov eax, r14d
shr ebx, 0x18
mov edx, dword [rdi + r15*4 + 0x800]
mov r14d, r11d
mov dword [rsp + 0x88], ebp
shr r14d, 0x10
mov ebp, dword [rdi + r13*4]
xor ebp, dword [rdi + rbx*4 + 0xc00]
movzx r8d, r14b
shr ecx, 0x18
mov ebx, r11d
xor edx, r10d
mov r9d, dword [rdi + r8*4 + 0x800]
movzx r10d, al
mov dword [rsp + 0x110], edx
movzx edx, ah
mov r12d, ecx
xor ebp, dword [rdi + rdx*4 + 0x400]
mov r15d, dword [rdi + r10*4]
shr esi, 0x10
xor r15d, dword [rdi + r12*4 + 0xc00]
movzx esi, sil
movd xmm0, dword [rsp + 0x110]
mov r13d, dword [rdi + rsi*4 + 0x800]
movd xmm14, dword [rsp + 0x88]
mov r14d, dword [rsp + 0x118]
xor r9d, ebp
movzx ebp, bh
mov ebx, dword [rsp + 0xb0]
xor r15d, dword [rdi + rbp*4 + 0x400]
mov dword [rsp + 0x90], r9d
movd xmm1, dword [rsp + 0x90]
mov r9d, dword [rsp + 0xd0]
movzx eax, r14b
punpckldq xmm14, xmm0
mov r8d, dword [rdi + rax*4]
movzx ecx, bh
mov esi, r14d
movzx ebp, bl
xor r13d, r15d
mov edx, r9d
shr esi, 0x18
mov dword [rsp + 0xa0], r13d
shr edx, 0x18
mov r11d, ebx
movd xmm6, dword [rsp + 0xa0]
xor r8d, dword [rdi + rdx*4 + 0xc00]
mov edx, r9d
xor r8d, dword [rdi + rcx*4 + 0x400]
mov ecx, dword [rsp + 0xc0]
shr edx, 0x10
punpckldq xmm1, xmm6
mov r10d, ecx
movzx eax, ch
punpcklqdq xmm14, xmm1
shr r10d, 0x10
movzx r12d, r10b
movzx r10d, cl
shr ecx, 0x18
pxor xmm14, xmm5
pshufd xmm15, xmm14, 0x55
movd dword [rsp + 0x88], xmm14
pshufd xmm2, xmm14, 0xaa
pshufd xmm3, xmm14, 0xff
movd dword [rsp + 0x110], xmm15
movd dword [rsp + 0x90], xmm2
movd dword [rsp + 0xa0], xmm3
mov r15d, dword [rdi + r12*4 + 0x800]
mov r12d, r11d
mov r13d, dword [rdi + rbp*4]
shr r12d, 0x18
shr r11d, 0x10
xor r13d, dword [rdi + rsi*4 + 0xc00]
movzx r11d, r11b
xor r13d, dword [rdi + rax*4 + 0x400]
xor r15d, r8d
movzx r8d, dl
mov ebx, dword [rdi + r8*4 + 0x800]
mov eax, r9d
mov dword [rsp + 0x118], r15d
movzx ebp, ah
mov r15d, dword [rdi + r10*4]
movzx r8d, al
xor r15d, dword [rdi + r12*4 + 0xc00]
mov edx, ecx
mov eax, r14d
xor ebx, r13d
mov r9d, r14d
xor r15d, dword [rdi + rbp*4 + 0x400]
mov dword [rsp + 0xb0], ebx
shr r9d, 0x10
mov ebx, dword [rdi + r8*4]
movzx ebp, ah
xor ebx, dword [rdi + rdx*4 + 0xc00]
movzx esi, r9b
xor ebx, dword [rdi + rbp*4 + 0x400]
mov r13d, dword [rdi + rsi*4 + 0x800]
mov r10d, dword [rdi + r11*4 + 0x800]
movd xmm6, dword [rsp + 0xb0]
movd xmm1, dword [rsp + 0x118]
mov r9d, dword [rsp + 0xe0]
xor r13d, r15d
mov r15d, dword [rsp + 0x11c]
xor r10d, ebx
mov dword [rsp + 0xc0], r13d
mov ebx, dword [rsp + 0xf0]
mov dword [rsp + 0xd0], r10d
movd xmm4, dword [rsp + 0xc0]
movzx r12d, r9b
movd xmm13, dword [rsp + 0xd0]
punpckldq xmm1, xmm6
mov esi, r15d
mov r13d, dword [rdi + r12*4]
movzx ecx, bh
punpckldq xmm4, xmm13
shr esi, 0x18
xor r13d, dword [rdi + rsi*4 + 0xc00]
mov r14d, r9d
movzx ebp, bl
xor r13d, dword [rdi + rcx*4 + 0x400]
mov ecx, dword [rsp + 0x100]
shr r14d, 0x18
punpcklqdq xmm1, xmm4
mov r10d, r15d
shr r10d, 0x10
mov r8d, ecx
movzx esi, ch
movzx r12d, r10b
pxor xmm1, xmm5
shr r8d, 0x10
movzx edx, r8b
movzx r8d, cl
shr ecx, 0x18
mov r10d, ecx
pshufd xmm14, xmm1, 0x55
movd dword [rsp + 0x118], xmm1
pshufd xmm0, xmm1, 0xaa
pshufd xmm15, xmm1, 0xff
movd dword [rsp + 0xb0], xmm14
movd dword [rsp + 0xc0], xmm0
movd dword [rsp + 0xd0], xmm15
mov eax, dword [rdi + rdx*4 + 0x800]
mov r11d, dword [rdi + rbp*4]
xor r11d, dword [rdi + r14*4 + 0xc00]
mov r14d, ebx
shr ebx, 0x18
xor r11d, dword [rdi + rsi*4 + 0x400]
xor eax, r13d
mov r13d, dword [rdi + r12*4 + 0x800]
mov dword [rsp + 0xe0], eax
mov eax, dword [rdi + r8*4]
shr r14d, 0x10
xor eax, dword [rdi + rbx*4 + 0xc00]
mov ebx, r15d
mov r15d, r9d
movzx edx, bh
shr r15d, 0x10
movzx esi, bl
xor eax, dword [rdi + rdx*4 + 0x400]
movzx ebp, r15b
xor r13d, r11d
mov r11d, dword [rdi + rbp*4 + 0x800]
mov r15d, dword [rsp + 0x150]
mov dword [rsp + 0xf0], r13d
mov r12d, dword [rdi + rsi*4]
movzx r13d, r14b
xor r12d, dword [rdi + r10*4 + 0xc00]
mov r14d, dword [rsp + 0x120]
xor r11d, eax
mov eax, r9d
mov r9d, dword [rsp + 0x140]
movzx ebx, ah
mov ecx, dword [rsp + 0x130]
mov r8d, dword [rdi + r13*4 + 0x800]
xor r12d, dword [rdi + rbx*4 + 0x400]
mov edx, r15d
mov dword [rsp + 0x100], r11d
shr edx, 0x18
movzx r11d, r14b
mov r10d, r9d
mov eax, dword [rdi + r11*4]
shr r10d, 0x10
xor eax, dword [rdi + rdx*4 + 0xc00]
movzx edx, ch
movzx r13d, r10b
mov r11d, ecx
xor eax, dword [rdi + rdx*4 + 0x400]
xor r8d, r12d
movd xmm4, dword [rsp + 0xe0]
mov dword [rsp + 0x11c], r8d
mov r8d, dword [rdi + r13*4 + 0x800]
movd xmm3, dword [rsp + 0x11c]
movd xmm13, dword [rsp + 0xf0]
xor r8d, eax
movzx eax, cl
mov ecx, r14d
shr ecx, 0x18
mov r10d, dword [rdi + rax*4]
mov eax, r9d
mov r9d, r15d
xor r10d, dword [rdi + rcx*4 + 0xc00]
movzx edx, ah
shr r9d, 0x10
movd xmm2, dword [rsp + 0x100]
mov dword [rsp + 0xe0], r8d
movzx r13d, r9b
xor r10d, dword [rdi + rdx*4 + 0x400]
movzx ecx, al
mov r8d, dword [rdi + r13*4 + 0x800]
mov edx, r11d
mov r9d, r15d
shr edx, 0x18
punpckldq xmm2, xmm3
punpckldq xmm4, xmm13
xor r8d, r10d
mov r10d, eax
mov eax, dword [rdi + rcx*4]
mov ecx, r15d
mov r15d, r14d
xor eax, dword [rdi + rdx*4 + 0xc00]
movzx edx, ch
shr r15d, 0x10
mov dword [rsp + 0xf0], r8d
xor eax, dword [rdi + rdx*4 + 0x400]
movzx r13d, r15b
shr r10d, 0x18
mov r8d, dword [rdi + r13*4 + 0x800]
mov ecx, r14d
mov r10d, r10d
movzx edx, ch
shr r11d, 0x10
movzx r11d, r11b
punpcklqdq xmm4, xmm2
xor r8d, eax
movzx eax, r9b
mov r15d, dword [rdi + r11*4 + 0x800]
mov r9d, dword [rdi + rax*4]
xor r9d, dword [rdi + r10*4 + 0xc00]
xor r9d, dword [rdi + rdx*4 + 0x400]
mov r10d, dword [rsp + 0x160]
mov r11d, dword [rsp + 0x154]
mov dword [rsp + 0x100], r8d
pxor xmm4, xmm5
movd xmm2, dword [rsp + 0xf0]
mov eax, r10d
movd xmm15, dword [rsp + 0x100]
xor r15d, r9d
movzx r8d, r11b
mov r9d, dword [rsp + 0x15c]
shr eax, 0x18
mov edx, dword [rdi + r8*4]
mov dword [rsp + 0x11c], r15d
xor edx, dword [rdi + rax*4 + 0xc00]
mov eax, dword [rsp + 0x158]
movd r12d, xmm4
mov r8d, r9d
pshufd xmm1, xmm4, 0x55
shr r8d, 0x10
pshufd xmm6, xmm4, 0xaa
movzx ecx, ah
pshufd xmm14, xmm4, 0xff
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r8b
movd xmm0, dword [rsp + 0x11c]
xor edx, dword [rdi + rcx*4 + 0x800]
movd xmm4, dword [rsp + 0xe0]
mov r8d, eax
punpckldq xmm15, xmm0
mov ecx, r9d
punpckldq xmm4, xmm2
movd esi, xmm1
movd ebp, xmm6
movd ebx, xmm14
mov dword [rsp + 0xe0], edx
movzx edx, al
mov eax, r11d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + rax*4 + 0xc00]
movzx eax, ch
mov ecx, r10d
shr ecx, 0x10
xor edx, dword [rdi + rax*4 + 0x400]
punpcklqdq xmm4, xmm15
movzx eax, cl
mov ecx, r8d
xor edx, dword [rdi + rax*4 + 0x800]
shr ecx, 0x18
mov eax, r10d
shr r8d, 0x10
pxor xmm4, xmm5
mov dword [rsp + 0xf0], edx
movzx edx, r9b
shr r9d, 0x18
movd dword [rsp + 0x130], xmm4
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
mov eax, r11d
movd xmm15, dword [rsp + 0xf0]
shr eax, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, al
mov eax, r11d
movzx r11d, r8b
xor edx, dword [rdi + rcx*4 + 0x800]
movzx ecx, ah
movd xmm14, dword [rsp + 0xe0]
pshufd xmm3, xmm4, 0xaa
punpckldq xmm14, xmm15
pshufd xmm5, xmm4, 0x55
mov dword [rsp + 0x100], edx
movzx edx, r10b
movd r15d, xmm3
mov r10d, dword [rdi + rdx*4]
xor r10d, dword [rdi + r9*4 + 0xc00]
xor r10d, dword [rdi + rcx*4 + 0x400]
movd xmm1, dword [rsp + 0x100]
movd r14d, xmm5
xor r10d, dword [rdi + r11*4 + 0x800]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
pshufd xmm13, xmm4, 0xff
movaps xmmword [rsp + 0x1f0], xmm9
movd r13d, xmm13
mov dword [rsp + 0x11c], r10d
movd xmm6, dword [rsp + 0x11c]
punpckldq xmm1, xmm6
movdqa xmm6, xmmword [rsp + 0x1d0]
punpcklqdq xmm14, xmm1
pxor xmm14, xmm6
movaps xmmword [rsp + 0x200], xmm14
call fcn.0042c540
movdqa xmm15, xmm0
movaps xmmword [rsp + 0x1f0], xmm9
mov r11d, dword [rsp + 0x1e4]
mov r9d, dword [rsp + 0x164]
mov eax, dword [rsp + 0x180]
mov r8d, dword [rsp + 0x184]
mov r10d, r11d
shr r10d, 0x18
movzx edx, r9b
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r10*4 + 0xc00]
movzx ecx, ah
mov r10d, r8d
xor edx, dword [rdi + rcx*4 + 0x400]
shr r10d, 0x10
movzx ecx, r10b
mov r10d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
mov dword [rsp + 0xe0], edx
movzx edx, al
mov eax, r9d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
movd xmm4, dword [rsp + 0xe0]
xor edx, dword [rdi + rax*4 + 0xc00]
mov eax, r8d
mov r8d, r11d
movzx ecx, ah
shr r8d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r8b
mov r8d, r10d
xor edx, dword [rdi + rcx*4 + 0x800]
shr r8d, 0x18
mov ecx, r11d
movzx ecx, ch
movzx r11d, r11b
shr r10d, 0x10
mov dword [rsp + 0xf0], edx
movzx edx, al
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r8*4 + 0xc00]
mov r8d, r9d
shr r8d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movd xmm5, dword [rsp + 0xf0]
movzx ecx, r8b
mov r8d, dword [rdi + r11*4]
xor r8d, dword [rdi + rax*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x800]
punpckldq xmm4, xmm5
mov dword [rsp + 0x100], edx
mov edx, r9d
movzx r9d, r10b
movzx ecx, dh
movd xmm2, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x70]
xor r8d, dword [rdi + rcx*4 + 0x400]
mov rcx, qword [rsp + 0x60]
xor r8d, dword [rdi + r9*4 + 0x800]
mov dword [rsp + 0x11c], r8d
movd xmm0, dword [rsp + 0x11c]
punpckldq xmm2, xmm0
punpcklqdq xmm4, xmm2
pxor xmm4, xmm6
movaps xmmword [rsp + 0x200], xmm4
call fcn.0042c540
movaps xmmword [rsp + 0x1f0], xmm9
movdqa xmm14, xmm0
mov r11d, dword [rsp + 0x188]
mov r9d, dword [rsp + 0x1ac]
mov r10d, dword [rsp + 0x1e0]
movzx eax, r11b
mov r8d, r9d
mov edx, dword [rdi + rax*4]
mov eax, dword [rsp + 0x18c]
shr r8d, 0x18
xor edx, dword [rdi + r8*4 + 0xc00]
mov r8d, r10d
shr r8d, 0x10
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r8b
mov r8d, r11d
xor edx, dword [rdi + rcx*4 + 0x800]
shr r8d, 0x18
mov ecx, r10d
movzx ecx, ch
mov dword [rsp + 0xe0], edx
movzx edx, al
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r8*4 + 0xc00]
mov r8d, r9d
shr r8d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movd xmm1, dword [rsp + 0xe0]
movzx ecx, r8b
mov r8d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
shr r8d, 0x18
mov ecx, r9d
movzx ecx, ch
movzx r9d, r9b
mov dword [rsp + 0xf0], edx
movzx edx, r10b
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r8*4 + 0xc00]
mov r8d, r11d
xor edx, dword [rdi + rcx*4 + 0x400]
shr r8d, 0x10
shr r10d, 0x18
movzx ecx, r8b
shr eax, 0x10
mov r8d, dword [rdi + r9*4]
xor edx, dword [rdi + rcx*4 + 0x800]
xor r8d, dword [rdi + r10*4 + 0xc00]
movzx r10d, al
movd xmm2, dword [rsp + 0xf0]
punpckldq xmm1, xmm2
mov dword [rsp + 0x100], edx
mov edx, r11d
movzx ecx, dh
movd xmm13, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x70]
xor r8d, dword [rdi + rcx*4 + 0x400]
mov rcx, qword [rsp + 0x60]
xor r8d, dword [rdi + r10*4 + 0x800]
mov dword [rsp + 0x11c], r8d
movd xmm3, dword [rsp + 0x11c]
punpckldq xmm13, xmm3
punpcklqdq xmm1, xmm13
pxor xmm1, xmm6
movaps xmmword [rsp + 0x200], xmm1
call fcn.0042c540
movaps xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x120], xmm0
mov r9d, dword [rsp + 0x190]
mov r8d, dword [rsp + 0x1a8]
mov r11d, dword [rsp + 0x1a4]
movzx eax, r9b
mov ecx, r8d
mov edx, dword [rdi + rax*4]
mov eax, dword [rsp + 0x1a0]
shr ecx, 0x18
mov r10d, r11d
xor edx, dword [rdi + rcx*4 + 0xc00]
shr r10d, 0x10
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r10b
mov r10d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
mov dword [rsp + 0xe0], edx
movzx edx, al
mov eax, r9d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
movd xmm3, dword [rsp + 0xe0]
xor edx, dword [rdi + rax*4 + 0xc00]
mov eax, r11d
mov r11d, r8d
movzx ecx, ah
shr r11d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r11b
mov r11d, r10d
xor edx, dword [rdi + rcx*4 + 0x800]
shr r11d, 0x18
mov ecx, r8d
movzx ecx, ch
movzx r8d, r8b
shr r10d, 0x10
mov dword [rsp + 0xf0], edx
movzx edx, al
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor edx, dword [rdi + rcx*4 + 0x400]
movd xmm5, dword [rsp + 0xf0]
movzx ecx, r11b
mov r11d, dword [rdi + r8*4]
xor r11d, dword [rdi + rax*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x800]
punpckldq xmm3, xmm5
mov dword [rsp + 0x100], edx
mov edx, r9d
movzx r9d, r10b
movzx ecx, dh
movd xmm13, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x70]
xor r11d, dword [rdi + rcx*4 + 0x400]
xor r11d, dword [rdi + r9*4 + 0x800]
mov dword [rsp + 0x11c], r11d
movd xmm4, dword [rsp + 0x11c]
punpckldq xmm13, xmm4
punpcklqdq xmm3, xmm13
pxor xmm3, xmm6
movaps xmmword [rsp + 0x200], xmm3
mov rcx, qword [rsp + 0x60]
call fcn.0042c540
mov r11d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
movzx eax, r11b
mov ecx, r8d
shr ecx, 0x18
mov r10d, r9d
movaps xmmword [rsp + 0x1f0], xmm9
mov edx, dword [rdi + rax*4]
mov eax, dword [rsp + 0x110]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
shr r10d, 0x10
movzx ecx, r10b
mov r10d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
mov ecx, r9d
mov dword [rsp + 0x88], edx
movzx edx, al
mov eax, r11d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
movd xmm13, dword [rsp + 0x88]
xor edx, dword [rdi + rax*4 + 0xc00]
movzx eax, ch
mov ecx, r8d
shr ecx, 0x10
xor edx, dword [rdi + rax*4 + 0x400]
movzx eax, cl
mov ecx, r10d
shr r10d, 0x10
xor edx, dword [rdi + rax*4 + 0x800]
shr ecx, 0x18
mov eax, r8d
movzx r8d, r8b
mov dword [rsp + 0x110], edx
movzx edx, r9b
shr r9d, 0x18
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
mov eax, r11d
xor edx, dword [rdi + rcx*4 + 0x400]
movd xmm4, dword [rsp + 0x110]
shr eax, 0x10
movzx ecx, al
mov eax, dword [rdi + r8*4]
xor eax, dword [rdi + r9*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x800]
punpckldq xmm13, xmm4
mov dword [rsp + 0x90], edx
mov edx, r11d
movzx r11d, r10b
movzx ecx, dh
movd xmm2, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x70]
xor eax, dword [rdi + rcx*4 + 0x400]
xor eax, dword [rdi + r11*4 + 0x800]
mov dword [rsp + 0xa0], eax
movd xmm0, dword [rsp + 0xa0]
punpckldq xmm2, xmm0
punpcklqdq xmm13, xmm2
pxor xmm13, xmm6
movaps xmmword [rsp + 0x200], xmm13
mov rcx, qword [rsp + 0x60]
call fcn.0042c540
mov r11d, dword [rsp + 0xd0]
mov r9d, dword [rsp + 0x118]
mov r10d, dword [rsp + 0xc0]
movdqa xmm13, xmm0
movaps xmmword [rsp + 0x1f0], xmm9
mov eax, r11d
movzx r8d, r9b
shr eax, 0x18
mov edx, dword [rdi + r8*4]
xor edx, dword [rdi + rax*4 + 0xc00]
mov r8d, r10d
mov eax, dword [rsp + 0xb0]
shr r8d, 0x10
movzx ecx, ah
xor edx, dword [rdi + rcx*4 + 0x400]
movzx ecx, r8b
mov r8d, eax
xor edx, dword [rdi + rcx*4 + 0x800]
mov ecx, r10d
mov dword [rsp + 0x88], edx
movzx edx, al
mov eax, r9d
shr eax, 0x18
mov edx, dword [rdi + rdx*4]
movd xmm2, dword [rsp + 0x88]
xor edx, dword [rdi + rax*4 + 0xc00]
movzx eax, ch
mov ecx, r11d
shr ecx, 0x10
xor edx, dword [rdi + rax*4 + 0x400]
movzx eax, cl
mov ecx, r8d
xor edx, dword [rdi + rax*4 + 0x800]
shr ecx, 0x18
mov eax, r11d
movzx r11d, r11b
mov dword [rsp + 0x110], edx
movzx edx, r10b
mov edx, dword [rdi + rdx*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
mov eax, r9d
xor edx, dword [rdi + rcx*4 + 0x400]
movd xmm1, dword [rsp + 0x110]
shr eax, 0x10
movzx ecx, al
mov eax, dword [rdi + r11*4]
xor edx, dword [rdi + rcx*4 + 0x800]
shr r10d, 0x18
shr r8d, 0x10
xor eax, dword [rdi + r10*4 + 0xc00]
punpckldq xmm2, xmm1
mov dword [rsp + 0x90], edx
mov edx, r9d
movzx r9d, r8b
movzx ecx, dh
movd xmm3, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x70]
xor eax, dword [rdi + rcx*4 + 0x400]
mov rcx, qword [rsp + 0x60]
xor eax, dword [rdi + r9*4 + 0x800]
mov dword [rsp + 0xa0], eax
movd xmm5, dword [rsp + 0xa0]
punpckldq xmm3, xmm5
punpcklqdq xmm2, xmm3
pxor xmm2, xmm6
movaps xmmword [rsp + 0x200], xmm2
call fcn.0042c540
mov r10d, ebx
movzx r11d, r12b
mov eax, esi
shr r10d, 0x18
mov r8d, ebp
movzx ecx, ah
mov edx, dword [rdi + r11*4]
shr r8d, 0x10
xor edx, dword [rdi + r10*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x400]
movzx r9d, r8b
mov r10d, r12d
xor edx, dword [rdi + r9*4 + 0x800]
movzx r11d, sil
shr r10d, 0x18
mov eax, ebp
mov r8d, ebx
movzx ecx, ah
shr r8d, 0x10
movzx eax, bh
movzx r9d, r8b
movzx ebx, bl
mov dword [rsp + 0x88], edx
mov edx, dword [rdi + r11*4]
movzx r11d, bpl
xor edx, dword [rdi + r10*4 + 0xc00]
mov r10d, esi
shr ebp, 0x18
xor edx, dword [rdi + rcx*4 + 0x400]
shr r10d, 0x18
mov ecx, r12d
xor edx, dword [rdi + r9*4 + 0x800]
shr ecx, 0x10
mov r9d, dword [rdi + rbx*4]
movzx r8d, cl
mov ebp, dword [rdi + rbp*4 + 0xc00]
shr esi, 0x10
movzx esi, sil
movaps xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x110], edx
mov edx, dword [rdi + r11*4]
xor ebp, r9d
movaps xmmword [rsp + 0x1f0], xmm9
xor edx, dword [rdi + r10*4 + 0xc00]
movd xmm3, dword [rsp + 0x110]
xor edx, dword [rdi + rax*4 + 0x400]
xor edx, dword [rdi + r8*4 + 0x800]
mov dword [rsp + 0xa0], edx
mov edx, r12d
movzx eax, dh
movd xmm4, dword [rsp + 0xa0]
xor ebp, dword [rdi + rax*4 + 0x400]
mov r12d, ebp
xor r12d, dword [rdi + rsi*4 + 0x800]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
mov rcx, rbp
mov dword [rsp + 0x118], r12d
mov rdx, rsi
movzx r12d, r14b
movd xmm0, dword [rsp + 0x118]
punpckldq xmm4, xmm0
movd xmm0, dword [rsp + 0x88]
punpckldq xmm0, xmm3
movdqa xmm5, xmm0
punpcklqdq xmm5, xmm4
pxor xmm5, xmm6
movaps xmmword [rsp + 0x200], xmm5
call fcn.0042c540
mov r10d, r13d
mov ecx, r14d
mov r9d, r15d
shr r10d, 0x18
movzx ebx, ch
shr r9d, 0x10
mov eax, dword [rsp + 0x130]
movzx edx, r9b
mov ecx, r15d
movaps xmmword [rsp + 0x60], xmm0
movzx r11d, al
movaps xmmword [rsp + 0x1f0], xmm9
mov r8d, dword [rdi + r11*4]
xor r8d, dword [rdi + r10*4 + 0xc00]
mov r11d, eax
xor r8d, dword [rdi + rbx*4 + 0x400]
mov r10d, dword [rdi + r12*4]
movzx ebx, ch
xor r8d, dword [rdi + rdx*4 + 0x800]
shr r11d, 0x18
movzx edx, r15b
xor r10d, dword [rdi + r11*4 + 0xc00]
mov ecx, r13d
shr r15d, 0x18
xor r10d, dword [rdi + rbx*4 + 0x400]
mov r12d, r14d
mov r11d, dword [rdi + rdx*4]
shr r12d, 0x18
movzx ebx, ch
shr r14d, 0x10
mov dword [rsp + 0x70], r8d
mov r8d, r13d
movzx r13d, r13b
shr r8d, 0x10
xor r11d, dword [rdi + r12*4 + 0xc00]
movzx r14d, r14b
movzx r9d, r8b
xor r11d, dword [rdi + rbx*4 + 0x400]
movd xmm0, dword [rsp + 0x70]
xor r10d, dword [rdi + r9*4 + 0x800]
mov r9d, dword [rdi + r13*4]
mov rdx, rsi
xor r9d, dword [rdi + r15*4 + 0xc00]
mov rcx, rbp
mov rbx, rbp
mov dword [rsp + 0x88], r10d
mov r10d, eax
movzx eax, ah
xor r9d, dword [rdi + rax*4 + 0x400]
shr r10d, 0x10
movd xmm4, dword [rsp + 0x88]
movzx r8d, r10b
mov qword [rsp + 0x88], rsi
xor r11d, dword [rdi + r8*4 + 0x800]
punpckldq xmm0, xmm4
mov r15d, r9d
xor r15d, dword [rdi + r14*4 + 0x800]
movdqa xmm3, xmm0
mov dword [rsp + 0x110], r11d
movd xmm2, dword [rsp + 0x110]
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0xa0], r15d
movd xmm1, dword [rsp + 0xa0]
punpckldq xmm2, xmm1
punpcklqdq xmm3, xmm2
pxor xmm3, xmm6
movaps xmmword [rsp + 0x200], xmm3
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movdqa xmm6, xmm0
movaps xmmword [rsp + 0x200], xmm15
movaps xmmword [rsp + 0x1f0], xmm8
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movdqa xmm15, xmm0
movaps xmmword [rsp + 0x200], xmm14
movaps xmmword [rsp + 0x1f0], xmm8
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movdqa xmm14, xmm0
movdqa xmm5, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x200], xmm5
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x1f0], xmm8
movdqa xmm1, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x200], xmm1
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movaps xmmword [rsp + 0x200], xmm13
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x1f0], xmm8
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0x1f0], xmm8
movdqa xmm4, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x200], xmm4
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x1f0], xmm8
movdqa xmm5, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x200], xmm5
call fcn.0042c540
mov rdx, rsi
mov rcx, rbp
movdqa xmm13, xmm0
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm8
call fcn.0042c540
pshufd xmm2, xmm15, 0x55
mov rdx, rsi
pshufd xmm4, xmm14, 0xaa
mov rcx, rbx
movdqa xmm6, xmm0
movd dword [rsp + 0x90], xmm14
pshufd xmm1, xmm15, 0xaa
movd dword [rsp + 0xd0], xmm2
pshufd xmm0, xmm14, 0x55
movd dword [rsp + 0x118], xmm4
pshufd xmm14, xmm14, 0xff
movd dword [rsp + 0xe0], xmm15
movd dword [rsp + 0xc0], xmm1
pshufd xmm15, xmm15, 0xff
movd dword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x1f0], xmm7
movd ebp, xmm14
movd r12d, xmm15
movdqa xmm3, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x200], xmm3
call fcn.0042c540
mov rdx, rsi
mov rcx, rbx
movdqa xmm14, xmm0
movdqa xmm5, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x200], xmm5
call fcn.0042c540
mov rdx, rsi
mov rcx, rbx
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x1f0], xmm7
movdqa xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x200], xmm1
call fcn.0042c540
movaps xmmword [rsp + 0x130], xmm0
mov rdx, rsi
mov rcx, rbx
movaps xmmword [rsp + 0x1f0], xmm7
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rsi
movaps xmmword [rsp + 0x200], xmm0
call fcn.0042c540
mov ecx, r12d
pshufd xmm3, xmm13, 0x55
shr ecx, 0x18
pshufd xmm5, xmm13, 0xaa
mov r10d, dword [rsp + 0xe0]
mov r11d, dword [rsp + 0xd0]
movd dword [rsp + 0xb0], xmm13
mov r9d, dword [rsp + 0xc0]
movd r15d, xmm3
movd dword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x120], xmm0
movzx r8d, r10b
mov edx, r11d
movd dword [rsp + 0x11c], xmm5
pshufd xmm2, xmm6, 0x55
pshufd xmm1, xmm6, 0xaa
mov eax, dword [rdi + r8*4]
mov r8d, r9d
xor eax, dword [rdi + rcx*4 + 0xc00]
movzx ecx, dh
movd r13d, xmm2
xor eax, dword [rdi + rcx*4 + 0x400]
shr r8d, 0x10
mov ecx, r10d
movzx edx, r8b
shr ecx, 0x18
movd r14d, xmm1
xor eax, dword [rdi + rdx*4 + 0x800]
mov edx, r9d
pshufd xmm13, xmm13, 0xff
pshufd xmm6, xmm6, 0xff
mov dword [rsp + 0xc0], eax
movzx eax, r11b
movd esi, xmm13
mov r8d, dword [rdi + rax*4]
xor r8d, dword [rdi + rcx*4 + 0xc00]
mov ecx, r12d
movzx eax, dh
shr ecx, 0x10
movd xmm4, dword [rsp + 0xc0]
xor r8d, dword [rdi + rax*4 + 0x400]
movzx edx, cl
mov eax, r11d
xor r8d, dword [rdi + rdx*4 + 0x800]
shr eax, 0x18
mov ecx, r12d
movzx r12d, r12b
shr r11d, 0x10
movd ebx, xmm6
mov dword [rsp + 0xd0], r8d
movzx r8d, r9b
shr r9d, 0x18
mov edx, dword [rdi + r8*4]
mov r8d, r10d
xor edx, dword [rdi + rax*4 + 0xc00]
shr r8d, 0x10
movzx eax, ch
movd xmm3, dword [rsp + 0xd0]
xor edx, dword [rdi + rax*4 + 0x400]
movzx ecx, r8b
mov eax, r10d
xor edx, dword [rdi + rcx*4 + 0x800]
movzx ecx, ah
movzx r10d, r11b
punpckldq xmm4, xmm3
mov dword [rsp + 0xe0], edx
mov edx, dword [rdi + r12*4]
xor edx, dword [rdi + r9*4 + 0xc00]
movd xmm15, dword [rsp + 0xe0]
xor edx, dword [rdi + rcx*4 + 0x400]
xor edx, dword [rdi + r10*4 + 0x800]
mov dword [rsp + 0xf0], edx
movd xmm0, dword [rsp + 0xf0]
punpckldq xmm15, xmm0
punpcklqdq xmm4, xmm15
pxor xmm4, xmm7
movaps xmmword [rsp + 0x200], xmm4
movaps xmmword [rsp + 0x1f0], xmm10
mov r12, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rdx, r12
call fcn.0042c540
mov r8d, dword [rsp + 0x90]
mov r10d, dword [rsp + 0x118]
mov r9d, ebp
mov eax, dword [rsp + 0xa0]
shr r9d, 0x18
movaps xmmword [rsp + 0xf0], xmm0
movzx r11d, r8b
movzx ecx, ah
movaps xmmword [rsp + 0x1f0], xmm10
mov edx, dword [rdi + r11*4]
mov r11d, r10d
xor edx, dword [rdi + r9*4 + 0xc00]
shr r11d, 0x10
movzx r9d, r11b
mov r11d, eax
xor edx, dword [rdi + rcx*4 + 0x400]
xor edx, dword [rdi + r9*4 + 0x800]
mov dword [rsp + 0x90], edx
movzx edx, al
mov eax, r8d
shr eax, 0x18
mov r9d, dword [rdi + rdx*4]
movd xmm1, dword [rsp + 0x90]
xor r9d, dword [rdi + rax*4 + 0xc00]
mov eax, r10d
mov r10d, ebp
movzx ecx, ah
shr r10d, 0x10
xor r9d, dword [rdi + rcx*4 + 0x400]
movzx edx, r10b
mov ecx, r11d
xor r9d, dword [rdi + rdx*4 + 0x800]
shr ecx, 0x18
mov edx, ebp
movzx ebp, bpl
mov dword [rsp + 0xa0], r9d
movzx r9d, al
mov r10d, dword [rdi + r9*4]
mov r9d, r8d
xor r10d, dword [rdi + rcx*4 + 0xc00]
shr r9d, 0x10
movzx ecx, dh
movd xmm6, dword [rsp + 0xa0]
movzx edx, r9b
xor r10d, dword [rdi + rcx*4 + 0x400]
mov ecx, r8d
xor r10d, dword [rdi + rdx*4 + 0x800]
shr eax, 0x18
mov r8d, r11d
mov eax, eax
shr r8d, 0x10
movzx edx, ch
movzx r11d, r8b
punpckldq xmm1, xmm6
mov dword [rsp + 0x118], r10d
mov r10d, dword [rdi + rbp*4]
xor r10d, dword [rdi + rax*4 + 0xc00]
movd xmm13, dword [rsp + 0x118]
xor r10d, dword [rdi + rdx*4 + 0x400]
mov rbp, qword [rsp + 0x60]
mov rdx, r12
xor r10d, dword [rdi + r11*4 + 0x800]
mov rcx, rbp
mov dword [rsp + 0xc0], r10d
movd xmm2, dword [rsp + 0xc0]
punpckldq xmm13, xmm2
punpcklqdq xmm1, xmm13
pxor xmm1, xmm7
movaps xmmword [rsp + 0x200], xmm1
call fcn.0042c540
mov rdx, r12
mov rcx, rbp
movdqa xmm15, xmm0
movaps xmmword [rsp + 0x200], xmm14
movaps xmmword [rsp + 0x1f0], xmm10
call fcn.0042c540
movdqa xmm14, xmm0
mov rdx, r12
mov rcx, rbp
movdqa xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x1f0], xmm10
movaps xmmword [rsp + 0x200], xmm0
call fcn.0042c540
mov rdx, r12
mov rcx, rbp
movdqa xmm13, xmm0
movdqa xmm4, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x1f0], xmm10
movaps xmmword [rsp + 0x200], xmm4
call fcn.0042c540
mov rdx, r12
mov rcx, rbp
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0x1f0], xmm10
movdqa xmm5, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x200], xmm5
call fcn.0042c540
mov r10d, esi
mov ecx, r15d
shr r10d, 0x18
mov r9d, dword [rsp + 0xb0]
movaps xmmword [rsp + 0xd0], xmm0
movzx eax, r9b
movaps xmmword [rsp + 0x1f0], xmm10
mov edx, dword [rdi + rax*4]
movzx eax, ch
xor edx, dword [rdi + r10*4 + 0xc00]
mov ecx, r9d
movzx r10d, r15b
shr ecx, 0x18
xor edx, dword [rdi + rax*4 + 0x400]
mov eax, dword [rsp + 0x11c]
mov r8d, eax
shr r8d, 0x10
movzx r11d, r8b
mov r8d, esi
xor edx, dword [rdi + r11*4 + 0x800]
shr r8d, 0x10
movzx r11d, r8b
mov r8d, r9d
shr r8d, 0x10
mov dword [rsp + 0x90], edx
mov edx, dword [rdi + r10*4]
movzx r10d, al
xor edx, dword [rdi + rcx*4 + 0xc00]
movzx ecx, ah
shr eax, 0x18
xor edx, dword [rdi + rcx*4 + 0x400]
mov ecx, r15d
shr r15d, 0x10
xor edx, dword [rdi + r11*4 + 0x800]
shr ecx, 0x18
movzx r11d, r8b
movzx r15d, r15b
movd xmm0, dword [rsp + 0x90]
mov dword [rsp + 0xa0], edx
mov edx, dword [rdi + r10*4]
xor edx, dword [rdi + rcx*4 + 0xc00]
mov ecx, esi
movzx esi, sil
movzx ecx, ch
mov r10d, dword [rdi + rsi*4]
xor r10d, dword [rdi + rax*4 + 0xc00]
xor edx, dword [rdi + rcx*4 + 0x400]
mov eax, r9d
movd xmm4, dword [rsp + 0xa0]
xor edx, dword [rdi + r11*4 + 0x800]
mov rcx, rbp
punpckldq xmm0, xmm4
mov dword [rsp + 0x118], edx
movzx edx, ah
xor r10d, dword [rdi + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0x118]
mov rdx, r12
mov r9d, r10d
xor r9d, dword [rdi + r15*4 + 0x800]
movzx r15d, r13b
mov dword [rsp + 0xb0], r9d
movd xmm6, dword [rsp + 0xb0]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
pxor xmm0, xmm7
movaps xmmword [rsp + 0x200], xmm0
call fcn.0042c540
mov r11d, ebx
mov eax, r13d
mov r10d, r14d
shr r11d, 0x18
movzx edx, ah
shr r10d, 0x10
mov r8d, dword [rsp + 0x100]
movzx r9d, r10b
mov eax, r14d
movaps xmmword [rsp + 0xc0], xmm0
movzx ecx, r8b
movaps xmmword [rsp + 0x1f0], xmm10
mov esi, dword [rdi + rcx*4]
xor esi, dword [rdi + r11*4 + 0xc00]
mov ecx, r8d
shr ecx, 0x18
xor esi, dword [rdi + rdx*4 + 0x400]
mov edx, ebx
mov r11d, dword [rdi + r15*4]
xor esi, dword [rdi + r9*4 + 0x800]
xor r11d, dword [rdi + rcx*4 + 0xc00]
shr edx, 0x10
movzx r10d, dl
mov r15d, r13d
movzx r9d, r14b
shr r15d, 0x18
mov ecx, dword [rdi + r9*4]
shr r14d, 0x18
xor ecx, dword [rdi + r15*4 + 0xc00]
shr r13d, 0x10
mov dword [rsp + 0x90], esi
movzx esi, ah
movzx eax, bh
xor r11d, dword [rdi + rsi*4 + 0x400]
xor ecx, dword [rdi + rax*4 + 0x400]
movzx ebx, bl
xor r11d, dword [rdi + r10*4 + 0x800]
mov edx, dword [rdi + rbx*4]
movzx r13d, r13b
xor edx, dword [rdi + r14*4 + 0xc00]
movd xmm1, dword [rsp + 0x90]
mov dword [rsp + 0xa0], r11d
mov r11d, r8d
shr r11d, 0x10
mov r14d, edx
movd xmm6, dword [rsp + 0xa0]
movzx esi, r11b
mov rdx, r12
xor ecx, dword [rdi + rsi*4 + 0x800]
punpckldq xmm1, xmm6
mov dword [rsp + 0x118], ecx
mov ecx, r8d
movzx eax, ch
movd xmm5, dword [rsp + 0x118]
mov rcx, rbp
xor r14d, dword [rdi + rax*4 + 0x400]
mov r8d, r14d
xor r8d, dword [rdi + r13*4 + 0x800]
mov dword [rsp + 0xb0], r8d
movd xmm2, dword [rsp + 0xb0]
punpckldq xmm5, xmm2
punpcklqdq xmm1, xmm5
pxor xmm1, xmm7
movaps xmmword [rsp + 0x200], xmm1
call fcn.0042c540
movdqa xmm6, xmm0
mov r12, qword [rsp + 0x168]
movdqa xmm5, xmmword [rsp + 0xf0]
movdqa xmm4, xmmword [rsp + 0xe0]
sub r12, 0xffffffffffffff80
movdqa xmm3, xmmword [rsp + 0xd0]
movdqa xmm2, xmmword [rsp + 0xc0]
movaps xmmword [r12 - 0x10], xmm0
movaps xmmword [r12 - 0x80], xmm5
movaps xmmword [r12 - 0x70], xmm15
movaps xmmword [r12 - 0x60], xmm14
movaps xmmword [r12 - 0x50], xmm13
movaps xmmword [r12 - 0x40], xmm4
movaps xmmword [r12 - 0x30], xmm3
movaps xmmword [r12 - 0x20], xmm2
cmp qword [rsp + 0x1e8], r12
mov qword [rsp + 0x168], r12
movdqa xmm0, xmmword [rsp + 0x1b0]
jne 0x433050
movaps xmm6, xmmword [rsp + 0x2b0]
movaps xmm7, xmmword [rsp + 0x2c0]
movaps xmm8, xmmword [rsp + 0x2d0]
movaps xmm9, xmmword [rsp + 0x2e0]
movaps xmm10, xmmword [rsp + 0x2f0]
movaps xmm11, xmmword [rsp + 0x300]
movaps xmm12, xmmword [rsp + 0x310]
movaps xmm13, xmmword [rsp + 0x320]
movaps xmm14, xmmword [rsp + 0x330]
movaps xmm15, xmmword [rsp + 0x340]
add rsp, 0x358
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret