Function at 0x421020
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x260], xmm8
movaps xmmword [rsp + 0x270], xmm9
movaps xmmword [rsp + 0x280], xmm10
movaps xmmword [rsp + 0x290], xmm11
movaps xmmword [rsp + 0x2a0], xmm12
movaps xmmword [rsp + 0x2b0], xmm13
movaps xmmword [rsp + 0x2c0], xmm14
movaps xmmword [rsp + 0x2d0], xmm15
lea r8, [rsp + 0x1f0]
lea r9, [rsp + 0x1e0]
mov rbx, rcx
lea r10, [rsp + 0x1d0]
lea rax, [rsp + 0x230]
lea rcx, [rsp + 0x220]
lea rdi, [rsp + 0x210]
lea rbp, [rsp + 0x200]
mov rsi, rdx
mov qword [rsp + 0x30], r8
lea rdx, [rsp + 0x1a0]
mov qword [rsp + 0x28], r9
lea r8, [rsp + 0x1b0]
lea r9, [rsp + 0x1c0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rdi
mov rcx, rbx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rbp
lea r12, [rsp + 0x110]
call fcn.00418090
movdqa xmm5, xmmword [rbx + 0x90]
lea rdx, [rsi + 0x200000]
lea rcx, [rsp + 0x130]
lea r15, [rsp + 0x140]
lea r14, [rsp + 0x150]
movdqa xmm6, xmmword [rbx + 0xa0]
lea r8, [rsp + 0x160]
mov qword [rsp + 0xd0], rdx
lea rdx, [rsp + 0x120]
mov r11, rsi
movdqa xmm7, xmmword [rbx + 0xb0]
lea rsi, [rsp + 0x170]
mov rdi, rdx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], r12
movdqa xmm0, xmmword [rbx + 0x40]
lea r10, [rsp + 0x180]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], r15
lea rdx, [rsp + 0x190]
movdqa xmm1, xmmword [rbx + 0x50]
mov qword [rsp + 0x98], r14
movdqa xmm2, xmmword [rbx + 0x60]
movdqa xmm3, xmmword [rbx + 0x70]
movdqa xmm4, xmmword [rbx + 0x80]
lea rbx, [0x00517350]
movaps xmmword [rsp + 0x170], xmm5
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x140], xmm2
movaps xmmword [rsp + 0x150], xmm3
movaps xmmword [rsp + 0x160], xmm4
movdqa xmm5, xmmword [rsp + 0x210]
movdqa xmm11, xmmword [rsp + 0x1b0]
movdqa xmm10, xmmword [rsp + 0x1c0]
movdqa xmm9, xmmword [rsp + 0x1d0]
movdqa xmm8, xmmword [rsp + 0x1e0]
movdqa xmm7, xmmword [rsp + 0x200]
movdqa xmm14, xmmword [rsp + 0x1a0]
movdqa xmm13, xmmword [rsp + 0x1f0]
movdqa xmm6, xmmword [rsp + 0x220]
movdqa xmm15, xmmword [rsp + 0x230]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], rsi
mov rsi, r12
movaps xmmword [rsp + 0x100], xmm5
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x70], r10
mov rdi, r11
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], r8
nop word [rax + rax]
mov ebp, dword [rsp + 0x12c]
mov r11d, dword [rsp + 0x120]
mov r14d, dword [rsp + 0x124]
mov edx, dword [rsp + 0x128]
mov r8d, ebp
movzx eax, r11b
mov r15d, r11d
shr r8d, 0x18
mov ecx, r14d
mov r10d, edx
mov r9d, dword [rbx + rax*4]
shr r10d, 0x10
xor r9d, dword [rbx + r8*4 + 0xc00]
movzx eax, ch
movzx r12d, r10b
movzx r13d, r14b
xor r9d, dword [rbx + rax*4 + 0x400]
shr r15d, 0x18
mov r8d, dword [rbx + r13*4]
xor r9d, dword [rbx + r12*4 + 0x800]
xor r8d, dword [rbx + r15*4 + 0xc00]
movzx ecx, dh
xor r8d, dword [rbx + rcx*4 + 0x400]
movzx r10d, dl
mov ecx, ebp
shr edx, 0x18
mov r12d, r14d
mov r13d, dword [rbx + r10*4]
shr r12d, 0x18
mov r15d, r11d
mov dword [rsp + 0xa0], r9d
mov r9d, ebp
movzx ebp, bpl
shr r9d, 0x10
xor r13d, dword [rbx + r12*4 + 0xc00]
shr r15d, 0x10
movzx eax, r9b
mov r9d, dword [rbx + rbp*4]
xor r9d, dword [rbx + rdx*4 + 0xc00]
xor r8d, dword [rbx + rax*4 + 0x800]
movzx eax, ch
mov ecx, r11d
mov r11d, r14d
xor r13d, dword [rbx + rax*4 + 0x400]
movzx eax, ch
shr r11d, 0x10
movd xmm2, dword [rsp + 0xa0]
mov r12d, dword [rsp + 0x130]
movzx r14d, r11b
mov edx, r9d
xor edx, dword [rbx + rax*4 + 0x400]
mov dword [rsp + 0xb8], r8d
movzx r8d, r15b
xor edx, dword [rbx + r14*4 + 0x800]
xor r13d, dword [rbx + r8*4 + 0x800]
movd xmm3, dword [rsp + 0xb8]
movzx r15d, r12b
punpckldq xmm2, xmm3
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x138]
mov dword [rsp + 0xbc], r13d
movd xmm0, dword [rsp + 0xc0]
movd xmm1, dword [rsp + 0xbc]
mov r13d, dword [rsp + 0x134]
mov r9d, edx
punpckldq xmm1, xmm0
shr r9d, 0x10
mov ecx, r13d
movzx r11d, r9b
movzx r14d, r13b
movzx eax, ch
movzx r9d, dl
punpcklqdq xmm2, xmm1
pxor xmm2, xmm14
movaps xmmword [rsp + 0x120], xmm2
mov r10d, dword [rsp + 0x13c]
mov ebp, dword [rbx + r15*4]
mov r15d, r12d
shr r15d, 0x18
mov r8d, r10d
mov ecx, r10d
shr r8d, 0x18
shr ecx, 0x10
xor ebp, dword [rbx + r8*4 + 0xc00]
mov r8d, dword [rbx + r14*4]
xor ebp, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r15*4 + 0xc00]
movzx eax, cl
xor ebp, dword [rbx + r11*4 + 0x800]
mov r11d, r13d
mov ecx, r10d
shr r11d, 0x18
mov r14d, dword [rbx + r9*4]
movzx r10d, r10b
xor r14d, dword [rbx + r11*4 + 0xc00]
mov r15d, r12d
mov r9d, dword [rsp + 0x140]
mov r11d, dword [rsp + 0x144]
mov dword [rsp + 0xa0], ebp
movzx ebp, dh
xor r8d, dword [rbx + rbp*4 + 0x400]
movzx ebp, ch
mov ecx, r12d
xor r8d, dword [rbx + rax*4 + 0x800]
xor r14d, dword [rbx + rbp*4 + 0x400]
shr edx, 0x18
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + rdx*4 + 0xc00]
mov r12d, r13d
shr r15d, 0x10
movzx ebp, ch
shr r12d, 0x10
movzx r13d, r12b
movd xmm1, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], r8d
movzx r8d, r15b
movzx r15d, r9b
mov edx, eax
xor edx, dword [rbx + rbp*4 + 0x400]
xor r14d, dword [rbx + r8*4 + 0x800]
xor edx, dword [rbx + r13*4 + 0x800]
movd xmm5, dword [rsp + 0xb8]
mov eax, r11d
mov r10d, dword [rbx + r15*4]
movzx ecx, ah
mov r15d, r9d
punpckldq xmm1, xmm5
movzx r13d, r11b
mov dword [rsp + 0xbc], r14d
mov r14d, dword [rsp + 0x14c]
shr r15d, 0x18
mov dword [rsp + 0xc0], edx
movd xmm12, dword [rsp + 0xbc]
movd xmm4, dword [rsp + 0xc0]
mov edx, dword [rsp + 0x148]
mov r8d, r14d
punpckldq xmm12, xmm4
shr r8d, 0x18
mov ebp, edx
xor r10d, dword [rbx + r8*4 + 0xc00]
movzx eax, dh
shr ebp, 0x10
punpcklqdq xmm1, xmm12
movzx r12d, bpl
movzx ebp, dl
shr edx, 0x18
pxor xmm1, xmm14
movaps xmmword [rsp + 0x130], xmm1
xor r10d, dword [rbx + rcx*4 + 0x400]
mov r8d, dword [rbx + r13*4]
xor r10d, dword [rbx + r12*4 + 0x800]
xor r8d, dword [rbx + r15*4 + 0xc00]
mov r12d, r11d
xor r8d, dword [rbx + rax*4 + 0x400]
mov eax, r14d
shr r12d, 0x18
mov r15d, r9d
mov r13d, dword [rbx + rbp*4]
xor r13d, dword [rbx + r12*4 + 0xc00]
shr r15d, 0x10
mov r12d, dword [rsp + 0x150]
mov dword [rsp + 0xa0], r10d
mov r10d, r14d
movzx r14d, r14b
shr r10d, 0x10
movd xmm2, dword [rsp + 0xa0]
movzx ecx, r10b
mov r10d, dword [rbx + r14*4]
xor r10d, dword [rbx + rdx*4 + 0xc00]
xor r8d, dword [rbx + rcx*4 + 0x800]
movzx ecx, ah
mov eax, r9d
mov r9d, r11d
movzx ebp, ah
xor r13d, dword [rbx + rcx*4 + 0x400]
shr r9d, 0x10
movzx r11d, r9b
mov edx, r10d
xor edx, dword [rbx + rbp*4 + 0x400]
mov dword [rsp + 0xb8], r8d
movzx r8d, r15b
xor edx, dword [rbx + r11*4 + 0x800]
xor r13d, dword [rbx + r8*4 + 0x800]
mov r15d, dword [rsp + 0x15c]
movzx r8d, r12b
movd xmm3, dword [rsp + 0xb8]
mov r14d, dword [rbx + r8*4]
mov r8d, r12d
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x158]
mov ecx, r15d
mov dword [rsp + 0xbc], r13d
movd xmm0, dword [rsp + 0xc0]
shr ecx, 0x18
movd xmm12, dword [rsp + 0xbc]
mov r13d, dword [rsp + 0x154]
punpckldq xmm2, xmm3
mov r10d, edx
xor r14d, dword [rbx + rcx*4 + 0xc00]
punpckldq xmm12, xmm0
shr r10d, 0x10
mov eax, r13d
movzx r9d, r10b
movzx r11d, r13b
movzx ebp, ah
mov eax, r15d
movzx ecx, dh
punpcklqdq xmm2, xmm12
xor r14d, dword [rbx + rbp*4 + 0x400]
xor r14d, dword [rbx + r9*4 + 0x800]
shr r8d, 0x18
shr eax, 0x10
movzx ebp, al
movzx r10d, dl
shr edx, 0x18
pxor xmm2, xmm14
mov r9d, r13d
shr r9d, 0x18
mov dword [rsp + 0xa0], r14d
movaps xmmword [rsp + 0x140], xmm2
mov r14d, dword [rbx + r11*4]
xor r14d, dword [rbx + r8*4 + 0xc00]
mov r8d, r12d
shr r8d, 0x10
xor r14d, dword [rbx + rcx*4 + 0x400]
mov ecx, r15d
movzx r15d, r15b
xor r14d, dword [rbx + rbp*4 + 0x800]
mov ebp, dword [rbx + r15*4]
movzx eax, ch
xor ebp, dword [rbx + rdx*4 + 0xc00]
mov r11d, dword [rbx + r10*4]
mov ecx, r12d
xor r11d, dword [rbx + r9*4 + 0xc00]
mov r12d, r13d
mov r10d, dword [rsp + 0x16c]
xor r11d, dword [rbx + rax*4 + 0x400]
shr r12d, 0x10
movzx eax, ch
mov dword [rsp + 0xb8], r14d
movzx r13d, r12b
movzx r14d, r8b
mov edx, ebp
xor edx, dword [rbx + rax*4 + 0x400]
xor r11d, dword [rbx + r14*4 + 0x800]
xor edx, dword [rbx + r13*4 + 0x800]
mov r9d, dword [rsp + 0x160]
mov r14d, r10d
movd xmm12, dword [rsp + 0xa0]
shr r14d, 0x18
movd xmm5, dword [rsp + 0xb8]
mov dword [rsp + 0xbc], r11d
mov r11d, dword [rsp + 0x164]
movzx r8d, r9b
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x168]
movd xmm4, dword [rsp + 0xc0]
mov r15d, dword [rbx + r8*4]
mov r8d, r9d
movd xmm1, dword [rsp + 0xbc]
mov ecx, r11d
xor r15d, dword [rbx + r14*4 + 0xc00]
mov eax, edx
movzx ebp, ch
movzx r13d, r11b
punpckldq xmm1, xmm4
shr eax, 0x10
punpckldq xmm12, xmm5
xor r15d, dword [rbx + rbp*4 + 0x400]
movzx r12d, al
shr r8d, 0x18
mov r14d, dword [rbx + r13*4]
xor r15d, dword [rbx + r12*4 + 0x800]
xor r14d, dword [rbx + r8*4 + 0xc00]
movzx ecx, dh
punpcklqdq xmm12, xmm1
xor r14d, dword [rbx + rcx*4 + 0x400]
mov eax, r11d
movzx r12d, dl
mov ecx, r10d
shr eax, 0x18
mov r8d, r9d
shr edx, 0x18
pxor xmm12, xmm14
mov dword [rsp + 0xa0], r15d
mov r15d, r10d
shr r8d, 0x10
movzx r10d, r10b
shr r15d, 0x10
movzx ebp, r15b
movaps xmmword [rsp + 0x150], xmm12
xor r14d, dword [rbx + rbp*4 + 0x800]
mov r13d, dword [rbx + r12*4]
movzx ebp, ch
xor r13d, dword [rbx + rax*4 + 0xc00]
mov r15d, dword [rbx + r10*4]
mov eax, r9d
mov dword [rsp + 0xb8], r14d
xor r13d, dword [rbx + rbp*4 + 0x400]
movzx r14d, r8b
xor r13d, dword [rbx + r14*4 + 0x800]
xor r15d, dword [rbx + rdx*4 + 0xc00]
mov r9d, r11d
movzx ecx, ah
shr r9d, 0x10
mov ebp, dword [rsp + 0x17c]
movzx r11d, r9b
mov r12d, dword [rsp + 0x170]
movd xmm3, dword [rsp + 0xb8]
movd xmm2, dword [rsp + 0xa0]
mov edx, r15d
xor edx, dword [rbx + rcx*4 + 0x400]
mov dword [rsp + 0xbc], r13d
xor edx, dword [rbx + r11*4 + 0x800]
mov r13d, dword [rsp + 0x174]
mov r14d, ebp
movzx r8d, r12b
shr r14d, 0x18
movd xmm1, dword [rsp + 0xbc]
mov r10d, dword [rbx + r8*4]
xor r10d, dword [rbx + r14*4 + 0xc00]
mov r8d, r12d
mov eax, r13d
punpckldq xmm2, xmm3
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x178]
movzx ecx, ah
xor r10d, dword [rbx + rcx*4 + 0x400]
movd xmm0, dword [rsp + 0xc0]
movzx r11d, r13b
shr r8d, 0x18
mov r14d, dword [rbx + r11*4]
mov r15d, edx
punpckldq xmm1, xmm0
shr r15d, 0x10
xor r14d, dword [rbx + r8*4 + 0xc00]
movzx eax, dh
movzx r9d, r15b
xor r14d, dword [rbx + rax*4 + 0x400]
movzx r15d, dl
xor r10d, dword [rbx + r9*4 + 0x800]
punpcklqdq xmm2, xmm1
mov r9d, r13d
mov eax, ebp
shr edx, 0x18
shr r9d, 0x18
mov r11d, dword [rbx + r15*4]
mov r8d, r12d
pxor xmm2, xmm14
shr r8d, 0x10
mov dword [rsp + 0xa0], r10d
mov r10d, ebp
movzx ebp, bpl
shr r10d, 0x10
movzx ecx, r10b
xor r14d, dword [rbx + rcx*4 + 0x800]
movzx ecx, ah
mov eax, r12d
movaps xmmword [rsp + 0x160], xmm2
mov r12d, r13d
shr r12d, 0x10
movzx r13d, r12b
mov dword [rsp + 0xb8], r14d
xor r11d, dword [rbx + r9*4 + 0xc00]
movzx r14d, r8b
mov r10d, dword [rbx + rbp*4]
xor r10d, dword [rbx + rdx*4 + 0xc00]
xor r11d, dword [rbx + rcx*4 + 0x400]
movzx ecx, ah
mov r15d, dword [rsp + 0x180]
xor r11d, dword [rbx + r14*4 + 0x800]
mov r9d, dword [rsp + 0x184]
movd xmm1, dword [rsp + 0xa0]
mov edx, r10d
xor edx, dword [rbx + rcx*4 + 0x400]
movzx r8d, r15b
xor edx, dword [rbx + r13*4 + 0x800]
mov eax, r9d
mov ebp, dword [rbx + r8*4]
mov dword [rsp + 0xbc], r11d
mov r11d, dword [rsp + 0x18c]
movzx ecx, ah
mov r8d, r15d
movzx r13d, r9b
movd xmm5, dword [rsp + 0xb8]
shr r8d, 0x18
movd xmm12, dword [rsp + 0xbc]
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x188]
mov r14d, r11d
shr r14d, 0x18
mov eax, r11d
movd xmm4, dword [rsp + 0xc0]
xor ebp, dword [rbx + r14*4 + 0xc00]
mov r14d, dword [rbx + r13*4]
mov r10d, edx
xor ebp, dword [rbx + rcx*4 + 0x400]
xor r14d, dword [rbx + r8*4 + 0xc00]
shr r10d, 0x10
punpckldq xmm12, xmm4
movzx r12d, r10b
punpckldq xmm1, xmm5
xor ebp, dword [rbx + r12*4 + 0x800]
mov r12d, r9d
movzx r10d, dl
mov r8d, r15d
mov r13d, dword [rbx + r10*4]
punpcklqdq xmm1, xmm12
mov dword [rsp + 0xa0], ebp
movzx ebp, dh
xor r14d, dword [rbx + rbp*4 + 0x400]
shr eax, 0x10
shr r12d, 0x18
movzx ecx, al
mov eax, r11d
xor r13d, dword [rbx + r12*4 + 0xc00]
xor r14d, dword [rbx + rcx*4 + 0x800]
movzx ebp, ah
shr r8d, 0x10
xor r13d, dword [rbx + rbp*4 + 0x400]
pxor xmm1, xmm14
shr edx, 0x18
movzx r11d, r11b
mov eax, r15d
mov r15d, r9d
movzx ebp, ah
mov dword [rsp + 0xb8], r14d
movzx r14d, r8b
shr r15d, 0x10
xor r13d, dword [rbx + r14*4 + 0x800]
movzx r9d, r15b
movaps xmmword [rsp + 0x170], xmm1
mov dword [rsp + 0xbc], r13d
mov ecx, dword [rbx + r11*4]
xor ecx, dword [rbx + rdx*4 + 0xc00]
mov r10d, dword [rsp + 0x19c]
mov r12d, dword [rsp + 0x190]
mov r13d, dword [rsp + 0x194]
movd xmm2, dword [rsp + 0xa0]
mov r14d, r10d
movd xmm3, dword [rsp + 0xb8]
mov edx, ecx
xor edx, dword [rbx + rbp*4 + 0x400]
movzx r8d, r12b
xor edx, dword [rbx + r9*4 + 0x800]
shr r14d, 0x18
mov ecx, r13d
mov r11d, dword [rbx + r8*4]
movzx eax, ch
xor r11d, dword [rbx + r14*4 + 0xc00]
xor r11d, dword [rbx + rax*4 + 0x400]
mov r8d, r12d
movzx r9d, r13b
shr r8d, 0x18
movd xmm12, dword [rsp + 0xbc]
mov r14d, dword [rbx + r9*4]
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x198]
xor r14d, dword [rbx + r8*4 + 0xc00]
movd xmm0, dword [rsp + 0xc0]
mov r8d, r12d
punpckldq xmm2, xmm3
shr r8d, 0x10
mov ebp, edx
movzx ecx, dh
shr ebp, 0x10
xor r14d, dword [rbx + rcx*4 + 0x400]
mov ecx, r10d
movzx r15d, bpl
punpckldq xmm12, xmm0
xor r11d, dword [rbx + r15*4 + 0x800]
mov r15d, r13d
movzx ebp, dl
shr r15d, 0x18
mov r9d, dword [rbx + rbp*4]
shr edx, 0x18
xor r9d, dword [rbx + r15*4 + 0xc00]
punpcklqdq xmm2, xmm12
mov dword [rsp + 0xa0], r11d
mov r11d, r10d
movzx r10d, r10b
shr r11d, 0x10
pxor xmm2, xmm14
movzx eax, r11b
mov r11d, dword [rbx + r10*4]
xor r11d, dword [rbx + rdx*4 + 0xc00]
xor r14d, dword [rbx + rax*4 + 0x800]
movzx eax, ch
mov ecx, r12d
xor r9d, dword [rbx + rax*4 + 0x400]
mov r12d, r13d
movzx ebp, ch
shr r12d, 0x10
mov edx, r11d
movzx r13d, r12b
xor edx, dword [rbx + rbp*4 + 0x400]
mov dword [rsp + 0xb8], r14d
movzx r14d, r8b
xor r9d, dword [rbx + r14*4 + 0x800]
movaps xmmword [rsp + 0x180], xmm2
mov dword [rsp + 0xbc], r9d
xor edx, dword [rbx + r13*4 + 0x800]
movd xmm5, dword [rsp + 0xb8]
mov r15, qword [rsp + 0x78]
movd xmm1, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0x80]
movd xmm12, dword [rsp + 0xa0]
mov dword [rsp + 0xc0], edx
mov rdx, r15
movd xmm4, dword [rsp + 0xc0]
punpckldq xmm12, xmm5
movaps xmmword [rsp + 0x110], xmm11
punpckldq xmm1, xmm4
punpcklqdq xmm12, xmm1
pxor xmm12, xmm14
movaps xmmword [rsp + 0x190], xmm12
call fcn.00417d00
mov rdx, r15
movaps xmmword [rsp + 0x120], xmm0
mov rcx, qword [rsp + 0x88]
movaps xmmword [rsp + 0x110], xmm11
call fcn.00417d00
mov rdx, r15
mov rcx, qword [rsp + 0x90]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x110], xmm11
call fcn.00417d00
mov rdx, r15
movaps xmmword [rsp + 0x140], xmm0
mov rcx, qword [rsp + 0x98]
movaps xmmword [rsp + 0x110], xmm11
call fcn.00417d00
movaps xmmword [rsp + 0x150], xmm0
mov r14d, dword [rsp + 0x16c]
mov r9d, dword [rsp + 0x160]
mov r8d, dword [rsp + 0x164]
mov edx, dword [rsp + 0x168]
mov r10d, r14d
movzx eax, r9b
shr r10d, 0x18
mov r11d, dword [rbx + rax*4]
xor r11d, dword [rbx + r10*4 + 0xc00]
mov r10d, r9d
mov ecx, r8d
mov r12d, edx
movzx r15d, r8b
movzx ebp, ch
shr r12d, 0x10
shr r10d, 0x18
xor r11d, dword [rbx + rbp*4 + 0x400]
movzx r13d, r12b
mov eax, dword [rbx + r15*4]
xor r11d, dword [rbx + r13*4 + 0x800]
xor eax, dword [rbx + r10*4 + 0xc00]
movzx ecx, dh
xor eax, dword [rbx + rcx*4 + 0x400]
movzx r12d, dl
shr edx, 0x18
mov r13d, r8d
mov r15d, dword [rbx + r12*4]
mov r10d, r9d
shr r13d, 0x18
shr r10d, 0x10
shr r8d, 0x10
mov dword [rsp + 0x78], r11d
mov r11d, r14d
xor r15d, dword [rbx + r13*4 + 0xc00]
shr r11d, 0x10
movd xmm2, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x170]
movzx ebp, r11b
movzx r11d, r10b
mov r13d, dword [rsp + 0x174]
xor eax, dword [rbx + rbp*4 + 0x800]
movzx r10d, r12b
mov dword [rsp + 0x80], eax
mov eax, r14d
movzx r14d, r14b
mov ebp, dword [rbx + r14*4]
xor ebp, dword [rbx + rdx*4 + 0xc00]
movzx ecx, ah
mov eax, r9d
xor r15d, dword [rbx + rcx*4 + 0x400]
movzx r9d, r8b
movzx ecx, ah
xor r15d, dword [rbx + r11*4 + 0x800]
movd xmm3, dword [rsp + 0x80]
mov eax, r13d
mov edx, ebp
xor edx, dword [rbx + rcx*4 + 0x400]
movzx ebp, ah
xor edx, dword [rbx + r9*4 + 0x800]
punpckldq xmm2, xmm3
mov dword [rsp + 0x88], r15d
movzx r9d, r13b
movd xmm1, dword [rsp + 0x88]
mov dword [rsp + 0x90], edx
movd xmm0, dword [rsp + 0x90]
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
pxor xmm2, xmm11
movaps xmmword [rsp + 0x160], xmm2
mov edx, dword [rsp + 0x178]
mov r15d, dword [rsp + 0x17c]
mov r11d, r15d
mov ecx, edx
mov r14d, dword [rbx + r10*4]
shr r11d, 0x18
shr ecx, 0x10
mov r10d, r12d
xor r14d, dword [rbx + r11*4 + 0xc00]
movzx r8d, cl
shr r10d, 0x18
xor r14d, dword [rbx + rbp*4 + 0x400]
mov r11d, dword [rbx + r9*4]
movzx eax, dh
xor r14d, dword [rbx + r8*4 + 0x800]
xor r11d, dword [rbx + r10*4 + 0xc00]
movzx ecx, dl
xor r11d, dword [rbx + rax*4 + 0x400]
mov eax, r15d
mov r8d, r13d
mov r9d, dword [rbx + rcx*4]
mov r10d, r12d
mov ecx, r12d
mov r12d, r13d
mov dword [rsp + 0x78], r14d
mov r14d, r15d
movzx r15d, r15b
shr r14d, 0x10
shr edx, 0x18
shr r8d, 0x18
movzx ebp, r14b
mov r14d, dword [rbx + r15*4]
xor r14d, dword [rbx + rdx*4 + 0xc00]
xor r11d, dword [rbx + rbp*4 + 0x800]
xor r9d, dword [rbx + r8*4 + 0xc00]
movzx ebp, ah
shr r10d, 0x10
movzx eax, ch
shr r12d, 0x10
xor r9d, dword [rbx + rbp*4 + 0x400]
movzx r13d, r12b
movd xmm1, dword [rsp + 0x78]
mov edx, r14d
xor edx, dword [rbx + rax*4 + 0x400]
mov ebp, dword [rsp + 0x18c]
mov dword [rsp + 0x80], r11d
movzx r11d, r10b
xor edx, dword [rbx + r13*4 + 0x800]
xor r9d, dword [rbx + r11*4 + 0x800]
movd xmm5, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x184]
mov r11d, ebp
punpckldq xmm1, xmm5
shr r11d, 0x18
mov dword [rsp + 0x90], edx
mov edx, dword [rsp + 0x188]
mov dword [rsp + 0x88], r9d
movd xmm4, dword [rsp + 0x90]
mov ecx, r8d
movd xmm12, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x180]
movzx eax, ch
mov r14d, edx
movzx r13d, r8b
movzx ecx, dh
punpckldq xmm12, xmm4
shr r14d, 0x10
movzx r10d, r9b
movzx r12d, r14b
movzx r14d, dl
mov r15d, dword [rbx + r10*4]
mov r10d, r9d
shr edx, 0x18
punpcklqdq xmm1, xmm12
shr r10d, 0x18
pxor xmm1, xmm11
movaps xmmword [rsp + 0x170], xmm1
xor r15d, dword [rbx + r11*4 + 0xc00]
mov r11d, dword [rbx + r13*4]
xor r15d, dword [rbx + rax*4 + 0x400]
xor r11d, dword [rbx + r10*4 + 0xc00]
mov r10d, r9d
xor r15d, dword [rbx + r12*4 + 0x800]
xor r11d, dword [rbx + rcx*4 + 0x400]
mov ecx, ebp
mov r12d, r8d
mov r13d, dword [rbx + r14*4]
shr r10d, 0x10
shr r12d, 0x18
shr r8d, 0x10
mov r14d, dword [rsp + 0x190]
xor r13d, dword [rbx + r12*4 + 0xc00]
mov r12d, dword [rsp + 0x194]
mov dword [rsp + 0x78], r15d
mov r15d, ebp
movzx ebp, bpl
shr r15d, 0x10
movd xmm2, dword [rsp + 0x78]
movzx eax, r15b
mov r15d, dword [rbx + rbp*4]
xor r15d, dword [rbx + rdx*4 + 0xc00]
xor r11d, dword [rbx + rax*4 + 0x800]
movzx eax, ch
mov ecx, r9d
xor r13d, dword [rbx + rax*4 + 0x400]
movzx eax, ch
movzx r9d, r8b
mov ecx, r12d
mov edx, r15d
xor edx, dword [rbx + rax*4 + 0x400]
movzx eax, ch
mov dword [rsp + 0x80], r11d
movzx r11d, r10b
xor edx, dword [rbx + r9*4 + 0x800]
xor r13d, dword [rbx + r11*4 + 0x800]
movd xmm3, dword [rsp + 0x80]
movzx r10d, r14b
mov ebp, dword [rbx + r10*4]
mov r10d, r14d
movzx r9d, r12b
punpckldq xmm2, xmm3
mov dword [rsp + 0x90], edx
mov edx, dword [rsp + 0x198]
mov dword [rsp + 0x88], r13d
movd xmm0, dword [rsp + 0x90]
mov r13d, dword [rsp + 0x19c]
movd xmm12, dword [rsp + 0x88]
mov r15d, edx
punpckldq xmm12, xmm0
mov r11d, r13d
mov ecx, r13d
shr r11d, 0x18
shr r15d, 0x10
shr r10d, 0x18
xor ebp, dword [rbx + r11*4 + 0xc00]
punpcklqdq xmm2, xmm12
xor ebp, dword [rbx + rax*4 + 0x400]
movzx r8d, r15b
shr ecx, 0x10
xor ebp, dword [rbx + r8*4 + 0x800]
movzx eax, cl
movzx r15d, dl
pxor xmm2, xmm11
mov ecx, r13d
movzx r13d, r13b
mov r8d, r12d
shr r8d, 0x18
movaps xmmword [rsp + 0x180], xmm2
mov dword [rsp + 0x78], ebp
mov r11d, dword [rbx + r9*4]
movzx ebp, dh
shr edx, 0x18
movaps xmmword [rsp + 0x110], xmm10
xor r11d, dword [rbx + r10*4 + 0xc00]
mov r9d, dword [rbx + r15*4]
mov r10d, r14d
shr r10d, 0x10
xor r11d, dword [rbx + rbp*4 + 0x400]
xor r9d, dword [rbx + r8*4 + 0xc00]
movzx ebp, ch
xor r11d, dword [rbx + rax*4 + 0x800]
mov eax, dword [rbx + r13*4]
mov ecx, r14d
xor eax, dword [rbx + rdx*4 + 0xc00]
mov r14d, r12d
xor r9d, dword [rbx + rbp*4 + 0x400]
shr r14d, 0x10
movzx ebp, ch
movd xmm12, dword [rsp + 0x78]
movzx r12d, r14b
mov r15, qword [rsp + 0xd8]
mov dword [rsp + 0x80], r11d
movzx r11d, r10b
mov edx, eax
xor edx, dword [rbx + rbp*4 + 0x400]
xor r9d, dword [rbx + r11*4 + 0x800]
xor edx, dword [rbx + r12*4 + 0x800]
movd xmm5, dword [rsp + 0x80]
mov rcx, r15
punpckldq xmm12, xmm5
mov dword [rsp + 0x88], r9d
mov dword [rsp + 0x90], edx
movd xmm1, dword [rsp + 0x88]
mov rdx, rsi
movd xmm4, dword [rsp + 0x90]
punpckldq xmm1, xmm4
punpcklqdq xmm12, xmm1
pxor xmm12, xmm11
movaps xmmword [rsp + 0x190], xmm12
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x120], xmm0
mov r14, qword [rsp + 0xe0]
movaps xmmword [rsp + 0x110], xmm10
mov rcx, r14
call fcn.00417d00
mov r13, qword [rsp + 0xe8]
mov rdx, rsi
movaps xmmword [rsp + 0x130], xmm0
mov rcx, r13
movaps xmmword [rsp + 0x110], xmm10
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x140], xmm0
mov r12, qword [rsp + 0xf0]
movaps xmmword [rsp + 0x110], xmm10
mov rcx, r12
call fcn.00417d00
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x110], xmm10
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x160], xmm0
mov rcx, qword [rsp + 0x68]
movaps xmmword [rsp + 0x110], xmm10
call fcn.00417d00
mov rdx, rsi
mov rcx, qword [rsp + 0x70]
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x110], xmm10
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x180], xmm0
mov rbp, qword [rsp + 0xb0]
movaps xmmword [rsp + 0x110], xmm10
mov rcx, rbp
call fcn.00417d00
mov rcx, r15
mov rdx, rsi
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rcx, r14
mov rdx, rsi
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rcx, r13
mov rdx, rsi
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rcx, r12
mov rdx, rsi
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x150], xmm0
mov rcx, qword [rsp + 0x60]
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rdx, rsi
mov rcx, qword [rsp + 0x68]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x170], xmm0
mov rcx, qword [rsp + 0x70]
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rcx, rbp
mov rdx, rsi
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x110], xmm9
call fcn.00417d00
mov rcx, r15
mov rdx, rsi
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rcx, r14
mov rdx, rsi
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rcx, r13
mov rdx, rsi
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rcx, r12
mov rdx, rsi
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x150], xmm0
mov rcx, qword [rsp + 0x60]
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rdx, rsi
mov rcx, qword [rsp + 0x68]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x170], xmm0
mov rcx, qword [rsp + 0x70]
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
mov rcx, rbp
mov rdx, rsi
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x110], xmm8
call fcn.00417d00
movd ebp, xmm0
movaps xmmword [rsp + 0x190], xmm0
mov r10d, dword [rsp + 0x12c]
mov r9d, dword [rsp + 0x120]
mov r8d, dword [rsp + 0x128]
mov ecx, dword [rsp + 0x124]
mov r11d, r10d
shr r11d, 0x18
movzx eax, r9b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r8d
movzx edx, ch
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm2, dword [rsp + 0x60]
movzx edx, r11b
mov r11d, ecx
shr ecx, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm3, dword [rsp + 0x68]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
punpckldq xmm2, xmm3
mov ecx, dword [rsp + 0x134]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
movd xmm1, dword [rsp + 0x70]
mov r8d, eax
movzx eax, dh
xor r8d, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x130]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
movd xmm0, dword [rsp + 0x78]
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
pxor xmm2, xmm13
movaps xmmword [rsp + 0x120], xmm2
mov r8d, dword [rsp + 0x138]
mov r10d, dword [rsp + 0x13c]
mov r11d, r10d
mov eax, dword [rbx + rdx*4]
movzx edx, ch
shr r11d, 0x18
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r8d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0x60]
movzx edx, r11b
mov r11d, ecx
shr ecx, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0x68]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
punpckldq xmm1, xmm5
mov ecx, dword [rsp + 0x144]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
movd xmm12, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x14c]
mov r8d, eax
movzx eax, dh
mov r11d, r10d
xor r8d, dword [rbx + rax*4 + 0x400]
shr r11d, 0x18
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x140]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x148]
movd xmm4, dword [rsp + 0x78]
mov eax, dword [rbx + rdx*4]
movzx edx, ch
punpckldq xmm12, xmm4
punpcklqdq xmm1, xmm12
pxor xmm1, xmm13
movaps xmmword [rsp + 0x130], xmm1
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r8d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm2, dword [rsp + 0x60]
movzx edx, r11b
mov r11d, ecx
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
mov dword [rsp + 0x68], eax
movzx eax, r8b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x400]
shr r11d, 0x10
shr r8d, 0x18
movzx edx, r11b
shr ecx, 0x10
movd xmm3, dword [rsp + 0x68]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
punpckldq xmm2, xmm3
mov ecx, dword [rsp + 0x154]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
mov r10d, dword [rsp + 0x15c]
movd xmm12, dword [rsp + 0x70]
mov r11d, r10d
mov r8d, eax
movzx eax, dh
shr r11d, 0x18
xor r8d, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x150]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x158]
movd xmm0, dword [rsp + 0x78]
mov eax, dword [rbx + rdx*4]
movzx edx, ch
xor eax, dword [rbx + r11*4 + 0xc00]
punpckldq xmm12, xmm0
mov r11d, r8d
xor eax, dword [rbx + rdx*4 + 0x400]
shr r11d, 0x10
movzx edx, r11b
mov r11d, r9d
punpcklqdq xmm2, xmm12
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
pxor xmm2, xmm13
movaps xmmword [rsp + 0x140], xmm2
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm12, dword [rsp + 0x60]
movzx edx, r11b
mov r11d, ecx
shr ecx, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0x68]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
mov ecx, dword [rsp + 0x164]
punpckldq xmm12, xmm5
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
mov r10d, dword [rsp + 0x16c]
movd xmm1, dword [rsp + 0x70]
mov r11d, r10d
mov r8d, eax
movzx eax, dh
shr r11d, 0x18
xor r8d, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x160]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x168]
movd xmm4, dword [rsp + 0x78]
mov eax, dword [rbx + rdx*4]
movzx edx, ch
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r8d
punpckldq xmm1, xmm4
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
punpcklqdq xmm12, xmm1
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
pxor xmm12, xmm13
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, ecx
shr ecx, 0x10
movaps xmmword [rsp + 0x150], xmm12
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
movd xmm2, dword [rsp + 0x60]
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm3, dword [rsp + 0x68]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
mov ecx, dword [rsp + 0x174]
punpckldq xmm2, xmm3
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
mov r10d, dword [rsp + 0x17c]
movd xmm1, dword [rsp + 0x70]
mov r11d, r10d
mov r8d, eax
movzx eax, dh
shr r11d, 0x18
xor r8d, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x170]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x178]
mov eax, dword [rbx + rdx*4]
xor eax, dword [rbx + r11*4 + 0xc00]
movzx edx, ch
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm0, dword [rsp + 0x78]
mov r11d, r8d
shr r11d, 0x10
punpckldq xmm1, xmm0
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
punpcklqdq xmm2, xmm1
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
pxor xmm2, xmm13
xor eax, dword [rbx + rdx*4 + 0x800]
mov r11d, ecx
mov edx, r10d
shr r11d, 0x18
movzx edx, dh
movzx r10d, r10b
movaps xmmword [rsp + 0x160], xmm2
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0x60]
movzx edx, r11b
movd xmm5, dword [rsp + 0x68]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
punpckldq xmm1, xmm5
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + r8*4 + 0xc00]
shr ecx, 0x10
mov r10d, dword [rsp + 0x18c]
movzx r9d, cl
mov ecx, dword [rsp + 0x184]
movd xmm12, dword [rsp + 0x70]
mov r11d, r10d
mov r8d, eax
movzx eax, dh
shr r11d, 0x18
xor r8d, dword [rbx + rax*4 + 0x400]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x180]
movzx edx, r9b
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x188]
mov eax, dword [rbx + rdx*4]
xor eax, dword [rbx + r11*4 + 0xc00]
movzx edx, ch
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm4, dword [rsp + 0x78]
mov r11d, r8d
shr r11d, 0x10
punpckldq xmm12, xmm4
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r8d
movzx edx, dh
punpcklqdq xmm1, xmm12
mov dword [rsp + 0x60], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, ecx
shr ecx, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
pxor xmm1, xmm13
movzx r10d, r10b
mov dword [rsp + 0x68], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, cl
movaps xmmword [rsp + 0x170], xmm1
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + r10*4]
mov r10d, dword [rsp + 0x19c]
xor eax, dword [rbx + r8*4 + 0xc00]
mov ecx, dword [rsp + 0x198]
movd xmm2, dword [rsp + 0x60]
movd xmm3, dword [rsp + 0x68]
mov r11d, r10d
movd xmm12, dword [rsp + 0x70]
shr r11d, 0x18
mov r8d, eax
movzx eax, dh
mov edx, ebp
movzx ebp, bpl
xor r8d, dword [rbx + rax*4 + 0x400]
mov eax, dword [rbx + rbp*4]
xor eax, dword [rbx + r11*4 + 0xc00]
xor r8d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x194]
punpckldq xmm2, xmm3
mov ebp, eax
mov eax, r9d
movzx eax, ah
mov dword [rsp + 0x78], r8d
mov r8d, ecx
mov r11d, dword [rbx + rax*4 + 0x400]
shr r8d, 0x10
movzx eax, r9b
mov eax, dword [rbx + rax*4]
movd xmm0, dword [rsp + 0x78]
xor r11d, ebp
movzx ebp, r8b
mov r8d, r10d
xor r11d, dword [rbx + rbp*4 + 0x800]
movzx ebp, ch
punpckldq xmm12, xmm0
mov dword [rsp + 0x60], r11d
mov r11d, edx
shr r11d, 0x18
punpcklqdq xmm2, xmm12
xor eax, dword [rbx + r11*4 + 0xc00]
xor eax, dword [rbx + rbp*4 + 0x400]
shr r8d, 0x10
movzx ebp, cl
movzx r11d, r8b
mov r8d, dword [rbx + rbp*4]
shr ecx, 0x18
xor eax, dword [rbx + r11*4 + 0x800]
mov r11d, edx
movzx edx, dh
shr r11d, 0x10
pxor xmm2, xmm13
mov dword [rsp + 0x68], eax
mov eax, r9d
shr r9d, 0x10
shr eax, 0x18
xor r8d, dword [rbx + rax*4 + 0xc00]
mov eax, r10d
movzx r10d, r10b
movzx ebp, ah
movzx eax, r11b
xor r8d, dword [rbx + rbp*4 + 0x400]
movzx ebp, r9b
xor r8d, dword [rbx + rax*4 + 0x800]
movaps xmmword [rsp + 0x180], xmm2
mov dword [rsp + 0x70], r8d
mov r8d, dword [rbx + r10*4]
xor r8d, dword [rbx + rcx*4 + 0xc00]
xor r8d, dword [rbx + rdx*4 + 0x400]
mov rdx, rsi
mov ecx, r8d
xor ecx, dword [rbx + rbp*4 + 0x800]
mov dword [rsp + 0x78], ecx
movd xmm4, dword [rsp + 0x78]
mov rcx, r15
movd xmm5, dword [rsp + 0x68]
mov qword [rsp + 0x80], r15
movd xmm1, dword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
movd xmm12, dword [rsp + 0x60]
punpckldq xmm1, xmm4
punpckldq xmm12, xmm5
movaps xmmword [rsp + 0x110], xmm7
punpcklqdq xmm12, xmm1
pxor xmm12, xmm13
movaps xmmword [rsp + 0x190], xmm12
call fcn.00417d00
mov rcx, r14
mov rdx, rsi
movaps xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x88], r14
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
mov rcx, r13
mov rdx, rsi
movaps xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x90], r13
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
mov rcx, r12
mov rdx, rsi
movaps xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x98], r12
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
mov rdx, rsi
movaps xmmword [rsp + 0x150], xmm0
mov rcx, qword [rsp + 0xf8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x60], rcx
call fcn.00417d00
lea rcx, [rsp + 0x170]
mov rdx, rsi
movaps xmmword [rsp + 0x160], xmm0
mov qword [rsp + 0x68], rcx
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
lea rcx, [rsp + 0x180]
mov rdx, rsi
movaps xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x70], rcx
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
lea rcx, [rsp + 0x190]
mov rdx, rsi
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0xb0], rcx
movaps xmmword [rsp + 0x110], xmm7
call fcn.00417d00
movd r11d, xmm0
movaps xmmword [rsp + 0x190], xmm0
mov r8d, dword [rsp + 0x12c]
mov r12d, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x128]
mov edx, dword [rsp + 0x124]
mov r10d, r8d
movzx eax, r12b
shr r10d, 0x18
mov r9d, dword [rbx + rax*4]
xor r9d, dword [rbx + r10*4 + 0xc00]
mov r10d, r12d
mov r15d, ecx
movzx ebp, dh
movzx r13d, dl
shr r15d, 0x10
xor r9d, dword [rbx + rbp*4 + 0x400]
shr r10d, 0x18
movzx r14d, r15b
mov eax, dword [rbx + r13*4]
movzx ebp, ch
xor r9d, dword [rbx + r14*4 + 0x800]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r13d, edx
xor eax, dword [rbx + rbp*4 + 0x400]
movzx r14d, cl
shr r13d, 0x18
mov r10d, r12d
movdqa xmm12, xmmword [rsp + 0x100]
mov dword [rsp + 0xa0], r9d
mov r9d, r8d
shr r9d, 0x10
movd xmm2, dword [rsp + 0xa0]
movzx r15d, r9b
xor eax, dword [rbx + r15*4 + 0x800]
mov r15d, dword [rbx + r14*4]
xor r15d, dword [rbx + r13*4 + 0xc00]
mov dword [rsp + 0xb8], eax
mov eax, r8d
movzx r8d, r8b
movzx eax, ah
mov r13d, dword [rbx + r8*4]
movd xmm3, dword [rsp + 0xb8]
mov r9d, dword [rbx + rax*4 + 0x400]
mov eax, r12d
movzx ebp, ah
punpckldq xmm2, xmm3
xor r9d, r15d
shr ecx, 0x18
shr r10d, 0x10
xor r13d, dword [rbx + rcx*4 + 0xc00]
shr edx, 0x10
movzx r14d, r10b
movzx r12d, dl
xor r9d, dword [rbx + r14*4 + 0x800]
mov r14d, dword [rsp + 0x130]
mov ecx, r13d
xor ecx, dword [rbx + rbp*4 + 0x400]
movzx r15d, r14b
xor ecx, dword [rbx + r12*4 + 0x800]
mov dword [rsp + 0xbc], r9d
movd xmm1, dword [rsp + 0xbc]
mov dword [rsp + 0xc0], ecx
movd xmm0, dword [rsp + 0xc0]
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
pxor xmm2, xmm12
movaps xmmword [rsp + 0x120], xmm2
mov edx, dword [rsp + 0x134]
mov r9d, dword [rsp + 0x13c]
movd r10d, xmm2
mov ecx, dword [rsp + 0x138]
mov r8d, r9d
mov r13d, dword [rbx + r15*4]
shr r8d, 0x18
movzx eax, dh
movzx r15d, dl
xor r13d, dword [rbx + r8*4 + 0xc00]
mov r8d, r14d
mov ebp, ecx
xor r13d, dword [rbx + rax*4 + 0x400]
shr r8d, 0x18
shr ebp, 0x10
movzx eax, ch
movzx r12d, bpl
mov ebp, r9d
xor r13d, dword [rbx + r12*4 + 0x800]
shr ebp, 0x10
movzx r12d, bpl
mov dword [rsp + 0xa0], r13d
mov r13d, dword [rbx + r15*4]
movzx r15d, cl
xor r13d, dword [rbx + r8*4 + 0xc00]
mov r8d, edx
shr ecx, 0x18
xor r13d, dword [rbx + rax*4 + 0x400]
shr r8d, 0x18
mov eax, r9d
xor r13d, dword [rbx + r12*4 + 0x800]
movzx r9d, r9b
movzx ebp, ah
mov r15d, dword [rbx + r15*4]
xor r15d, dword [rbx + r8*4 + 0xc00]
mov eax, r14d
mov r12d, dword [rbx + rbp*4 + 0x400]
mov r8d, r14d
movzx ebp, ah
shr r8d, 0x10
shr edx, 0x10
movd xmm0, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], r13d
mov r13d, dword [rbx + r9*4]
movzx r14d, dl
xor r13d, dword [rbx + rcx*4 + 0xc00]
xor r12d, r15d
movzx r15d, r8b
xor r12d, dword [rbx + r15*4 + 0x800]
movd xmm2, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x140]
mov r15d, dword [rsp + 0x144]
punpckldq xmm0, xmm2
movdqa xmm2, xmm12
mov ecx, r13d
xor ecx, dword [rbx + rbp*4 + 0x400]
mov r13d, dword [rsp + 0x14c]
xor ecx, dword [rbx + r14*4 + 0x800]
mov dword [rsp + 0xbc], r12d
movzx edx, r8b
movd xmm1, dword [rsp + 0xbc]
mov r12d, r13d
shr r12d, 0x18
mov dword [rsp + 0xc0], ecx
mov ecx, dword [rsp + 0x148]
movd xmm5, dword [rsp + 0xc0]
punpckldq xmm1, xmm5
punpcklqdq xmm0, xmm1
pxor xmm0, xmm12
movaps xmmword [rsp + 0x130], xmm0
mov eax, dword [rbx + rdx*4]
mov edx, r15d
xor eax, dword [rbx + r12*4 + 0xc00]
mov r12d, ecx
movzx ebp, dh
movd r9d, xmm0
shr r12d, 0x10
xor eax, dword [rbx + rbp*4 + 0x400]
movzx edx, r12b
mov ebp, r8d
xor eax, dword [rbx + rdx*4 + 0x800]
mov r12d, r13d
shr ebp, 0x18
movzx edx, ch
shr r12d, 0x10
mov dword [rsp + 0xa0], eax
movzx eax, r15b
mov r14d, dword [rbx + rax*4]
xor r14d, dword [rbx + rbp*4 + 0xc00]
movzx eax, r12b
xor r14d, dword [rbx + rdx*4 + 0x400]
movzx ebp, cl
mov edx, r13d
xor r14d, dword [rbx + rax*4 + 0x800]
mov eax, dword [rbx + rbp*4]
movzx ebp, dh
shr ecx, 0x18
movzx r13d, r13b
movd xmm1, dword [rsp + 0xa0]
mov r12d, dword [rsp + 0x15c]
mov dword [rsp + 0xb8], r14d
mov r14d, r15d
shr r14d, 0x18
movd xmm5, dword [rsp + 0xb8]
xor eax, dword [rbx + r14*4 + 0xc00]
mov r14d, r8d
shr r14d, 0x10
xor eax, dword [rbx + rbp*4 + 0x400]
movzx edx, r14b
punpckldq xmm1, xmm5
xor eax, dword [rbx + rdx*4 + 0x800]
mov r14d, dword [rsp + 0x150]
movdqa xmm5, xmm2
movzx edx, r14b
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r13*4]
mov r13d, r12d
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r8d
mov r8d, r15d
movzx ebp, ch
shr r8d, 0x10
movd xmm4, dword [rsp + 0xbc]
xor eax, dword [rbx + rbp*4 + 0x400]
movzx r15d, r8b
mov ebp, dword [rsp + 0x154]
xor eax, dword [rbx + r15*4 + 0x800]
mov ecx, dword [rsp + 0x158]
shr r13d, 0x18
mov r15d, ecx
mov dword [rsp + 0xc0], eax
mov eax, dword [rbx + rdx*4]
mov edx, ebp
movd xmm3, dword [rsp + 0xc0]
xor eax, dword [rbx + r13*4 + 0xc00]
shr r15d, 0x10
movzx edx, dh
movzx r13d, r15b
punpckldq xmm4, xmm3
xor eax, dword [rbx + rdx*4 + 0x400]
mov edx, r14d
shr edx, 0x18
punpcklqdq xmm1, xmm4
pxor xmm1, xmm12
movaps xmmword [rsp + 0x140], xmm1
xor eax, dword [rbx + r13*4 + 0x800]
mov r13d, ebp
movd r8d, xmm1
shr r13d, 0x18
mov dword [rsp + 0xa0], eax
movzx eax, bpl
mov r15d, dword [rbx + rax*4]
xor r15d, dword [rbx + rdx*4 + 0xc00]
mov edx, r12d
movzx eax, ch
shr edx, 0x10
movd xmm3, dword [rsp + 0xa0]
xor r15d, dword [rbx + rax*4 + 0x400]
movzx eax, dl
mov edx, r12d
xor r15d, dword [rbx + rax*4 + 0x800]
movzx edx, dh
movzx r12d, r12b
mov dword [rsp + 0xb8], r15d
movzx r15d, cl
shr ecx, 0x18
mov eax, dword [rbx + r15*4]
mov r15d, r14d
xor eax, dword [rbx + r13*4 + 0xc00]
shr r15d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm4, dword [rsp + 0xb8]
movzx r13d, r15b
mov r15d, dword [rsp + 0x160]
xor eax, dword [rbx + r13*4 + 0x800]
mov r13d, dword [rsp + 0x16c]
punpckldq xmm3, xmm4
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r12*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r14d
mov r14d, ebp
movzx edx, ch
shr r14d, 0x10
mov r12d, dword [rsp + 0x168]
xor eax, dword [rbx + rdx*4 + 0x400]
movzx ebp, r14b
movd xmm12, dword [rsp + 0xbc]
xor eax, dword [rbx + rbp*4 + 0x800]
mov edx, dword [rsp + 0x164]
mov ecx, r13d
shr ecx, 0x18
mov r14d, r15d
shr r14d, 0x18
mov dword [rsp + 0xc0], eax
movzx eax, r15b
movd xmm0, dword [rsp + 0xc0]
mov ebp, dword [rbx + rax*4]
movzx eax, dh
xor ebp, dword [rbx + rcx*4 + 0xc00]
mov ecx, r12d
punpckldq xmm12, xmm0
shr ecx, 0x10
xor ebp, dword [rbx + rax*4 + 0x400]
movzx eax, cl
mov ecx, r12d
xor ebp, dword [rbx + rax*4 + 0x800]
punpcklqdq xmm3, xmm12
pxor xmm3, xmm2
mov dword [rsp + 0xa0], ebp
movzx ebp, dl
movd dword [rsp + 0xc4], xmm3
movaps xmmword [rsp + 0x150], xmm3
mov eax, dword [rbx + rbp*4]
movzx ebp, ch
mov ecx, r13d
shr ecx, 0x10
movdqa xmm3, xmm5
xor eax, dword [rbx + r14*4 + 0xc00]
mov r14d, edx
shr edx, 0x10
xor eax, dword [rbx + rbp*4 + 0x400]
movzx ebp, cl
mov ecx, r13d
xor eax, dword [rbx + rbp*4 + 0x800]
shr r14d, 0x18
movzx r13d, r13b
movzx edx, dl
movd xmm12, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], eax
movzx eax, r12b
shr r12d, 0x18
mov ebp, dword [rbx + rax*4]
movzx eax, ch
mov ecx, r15d
xor ebp, dword [rbx + r14*4 + 0xc00]
shr ecx, 0x10
mov r14d, dword [rsp + 0x17c]
xor ebp, dword [rbx + rax*4 + 0x400]
movzx eax, cl
mov ecx, r15d
xor ebp, dword [rbx + rax*4 + 0x800]
movzx eax, ch
movd xmm0, dword [rsp + 0xb8]
mov r15d, r14d
shr r15d, 0x18
punpckldq xmm12, xmm0
mov dword [rsp + 0xbc], ebp
mov ebp, dword [rbx + r13*4]
xor ebp, dword [rbx + r12*4 + 0xc00]
mov r13d, dword [rsp + 0x170]
xor ebp, dword [rbx + rax*4 + 0x400]
mov r12d, dword [rsp + 0x178]
xor ebp, dword [rbx + rdx*4 + 0x800]
movd xmm1, dword [rsp + 0xbc]
movzx ecx, r13b
mov eax, dword [rbx + rcx*4]
xor eax, dword [rbx + r15*4 + 0xc00]
mov r15d, r13d
shr r15d, 0x18
mov dword [rsp + 0xc0], ebp
mov ebp, dword [rsp + 0x174]
movd xmm2, dword [rsp + 0xc0]
mov edx, ebp
punpckldq xmm1, xmm2
movzx ecx, dh
mov edx, r12d
shr edx, 0x10
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
punpcklqdq xmm12, xmm1
xor eax, dword [rbx + rcx*4 + 0x800]
mov edx, r12d
movzx ecx, dh
mov edx, r14d
pxor xmm12, xmm5
mov dword [rsp + 0xa0], eax
movzx eax, bpl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r15*4 + 0xc00]
movd dword [rsp + 0xc8], xmm12
movaps xmmword [rsp + 0x160], xmm12
xor eax, dword [rbx + rcx*4 + 0x400]
shr edx, 0x10
mov r15d, ebp
movzx ecx, dl
mov edx, r14d
shr r15d, 0x18
movzx r14d, r14b
shr ebp, 0x10
xor eax, dword [rbx + rcx*4 + 0x800]
movzx ecx, dh
mov edx, r13d
shr edx, 0x10
movzx ebp, bpl
movd xmm2, dword [rsp + 0xa0]
movdqa xmm12, xmm3
mov dword [rsp + 0xb8], eax
movzx eax, r12b
shr r12d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r15*4 + 0xc00]
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r13d
xor eax, dword [rbx + rcx*4 + 0x800]
movzx ecx, dh
mov r13d, dword [rsp + 0x180]
movd xmm5, dword [rsp + 0xb8]
punpckldq xmm2, xmm5
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r14*4]
xor eax, dword [rbx + r12*4 + 0xc00]
mov r14d, dword [rsp + 0x18c]
xor eax, dword [rbx + rcx*4 + 0x400]
mov r12d, dword [rsp + 0x188]
xor eax, dword [rbx + rbp*4 + 0x800]
mov ebp, dword [rsp + 0x184]
mov r15d, r14d
movd xmm1, dword [rsp + 0xbc]
shr r15d, 0x18
mov edx, ebp
mov dword [rsp + 0xc0], eax
movzx ecx, dh
movzx eax, r13b
mov edx, r12d
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r15*4 + 0xc00]
shr edx, 0x10
xor eax, dword [rbx + rcx*4 + 0x400]
movd xmm4, dword [rsp + 0xc0]
movzx ecx, dl
mov r15d, r13d
mov edx, r12d
xor eax, dword [rbx + rcx*4 + 0x800]
punpckldq xmm1, xmm4
shr r15d, 0x18
movzx ecx, dh
mov edx, r14d
shr edx, 0x10
punpcklqdq xmm2, xmm1
mov dword [rsp + 0xa0], eax
movzx eax, bpl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r15*4 + 0xc00]
mov r15d, ebp
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r14d
xor eax, dword [rbx + rcx*4 + 0x800]
pxor xmm2, xmm3
shr r15d, 0x18
movzx ecx, dh
mov edx, r13d
shr edx, 0x10
movzx r14d, r14b
shr ebp, 0x10
movd dword [rsp + 0xcc], xmm2
movzx ebp, bpl
movaps xmmword [rsp + 0x170], xmm2
mov dword [rsp + 0xb8], eax
movzx eax, r12b
shr r12d, 0x18
movdqa xmm2, xmm12
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r15*4 + 0xc00]
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r13d
xor eax, dword [rbx + rcx*4 + 0x800]
movzx ecx, dh
mov r13d, dword [rsp + 0x19c]
movd xmm4, dword [rsp + 0xa0]
movd xmm3, dword [rsp + 0xb8]
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r14*4]
mov r14d, r13d
xor eax, dword [rbx + r12*4 + 0xc00]
mov r12d, dword [rsp + 0x198]
xor eax, dword [rbx + rcx*4 + 0x400]
movd xmm1, dword [rsp + 0xbc]
xor eax, dword [rbx + rbp*4 + 0x800]
mov ebp, dword [rsp + 0x194]
shr r14d, 0x18
punpckldq xmm4, xmm3
mov edx, ebp
mov dword [rsp + 0xc0], eax
movzx ecx, dh
movzx eax, r11b
mov edx, r12d
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r14*4 + 0xc00]
shr edx, 0x10
xor eax, dword [rbx + rcx*4 + 0x400]
mov r14d, r11d
movzx ecx, dl
mov edx, r12d
shr r14d, 0x18
xor eax, dword [rbx + rcx*4 + 0x800]
movzx ecx, dh
mov edx, r13d
shr edx, 0x10
movd xmm0, dword [rsp + 0xc0]
punpckldq xmm1, xmm0
mov dword [rsp + 0xa0], eax
movzx eax, bpl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r14*4 + 0xc00]
mov r14d, ebp
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r13d
xor eax, dword [rbx + rcx*4 + 0x800]
shr r14d, 0x18
movzx ecx, dh
mov edx, r11d
punpcklqdq xmm4, xmm1
shr edx, 0x10
movzx r13d, r13b
shr ebp, 0x10
movzx ebp, bpl
mov dword [rsp + 0xb8], eax
movzx eax, r12b
shr r12d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r14*4 + 0xc00]
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r11d
xor eax, dword [rbx + rcx*4 + 0x800]
pxor xmm4, xmm12
movzx ecx, dh
movaps xmmword [rsp + 0x180], xmm4
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r13*4]
movd r15d, xmm4
xor eax, dword [rbx + r12*4 + 0xc00]
mov r11d, dword [rsp + 0x124]
xor eax, dword [rbx + rcx*4 + 0x400]
mov r12d, dword [rsp + 0x12c]
xor eax, dword [rbx + rbp*4 + 0x800]
mov ebp, dword [rsp + 0x128]
mov edx, r11d
movd xmm1, dword [rsp + 0xa0]
mov r13d, r12d
movzx ecx, dh
movd xmm0, dword [rsp + 0xb8]
shr r13d, 0x18
mov edx, ebp
movd xmm12, dword [rsp + 0xbc]
mov dword [rsp + 0xc0], eax
movzx eax, r10b
shr edx, 0x10
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r13*4 + 0xc00]
mov r13d, r10d
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, ebp
xor eax, dword [rbx + rcx*4 + 0x800]
shr r13d, 0x18
movzx ecx, dh
mov edx, r12d
movd xmm5, dword [rsp + 0xc0]
shr edx, 0x10
punpckldq xmm1, xmm0
punpckldq xmm12, xmm5
mov dword [rsp + 0xa0], eax
movzx eax, r11b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r13*4 + 0xc00]
mov r13d, r11d
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
shr r13d, 0x18
xor eax, dword [rbx + rcx*4 + 0x800]
mov edx, r12d
movzx r12d, r12b
movzx ecx, dh
mov edx, r10d
punpcklqdq xmm1, xmm12
mov dword [rsp + 0xb8], eax
movzx eax, bpl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r13*4 + 0xc00]
xor eax, dword [rbx + rcx*4 + 0x400]
shr edx, 0x10
shr ebp, 0x18
movzx ecx, dl
mov edx, r10d
shr r11d, 0x10
xor eax, dword [rbx + rcx*4 + 0x800]
movzx r11d, r11b
movzx ecx, r9b
pxor xmm1, xmm2
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r12*4]
movd r14d, xmm1
xor eax, dword [rbx + rbp*4 + 0xc00]
movzx ebp, dh
xor eax, dword [rbx + rbp*4 + 0x400]
xor eax, dword [rbx + r11*4 + 0x800]
movaps xmmword [rsp + 0x190], xmm1
mov dword [rsp + 0xc0], eax
mov r10d, dword [rsp + 0x134]
mov ebp, dword [rsp + 0x13c]
mov r11d, dword [rsp + 0x138]
mov eax, dword [rbx + rcx*4]
movd xmm2, dword [rsp + 0xa0]
mov edx, r10d
movd xmm5, dword [rsp + 0xb8]
mov r12d, ebp
movzx ecx, dh
mov edx, r11d
shr r12d, 0x18
shr edx, 0x10
movd xmm12, dword [rsp + 0xbc]
xor eax, dword [rbx + r12*4 + 0xc00]
mov r12d, r9d
movd xmm3, dword [rsp + 0xc0]
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r11d
xor eax, dword [rbx + rcx*4 + 0x800]
shr r12d, 0x18
movzx ecx, dh
mov edx, ebp
punpckldq xmm12, xmm3
shr edx, 0x10
punpckldq xmm2, xmm5
mov dword [rsp + 0xa0], eax
movzx eax, r10b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r12*4 + 0xc00]
mov r12d, r10d
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, ebp
xor eax, dword [rbx + rcx*4 + 0x800]
shr r12d, 0x18
movzx ecx, dh
mov edx, r9d
movzx ebp, bpl
shr r10d, 0x10
shr edx, 0x10
movzx r10d, r10b
movd xmm4, dword [rsp + 0xa0]
punpcklqdq xmm2, xmm12
mov dword [rsp + 0xb8], eax
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r12*4 + 0xc00]
xor eax, dword [rbx + rcx*4 + 0x400]
movzx ecx, dl
mov edx, r9d
xor eax, dword [rbx + rcx*4 + 0x800]
movzx ecx, dh
movd xmm12, dword [rsp + 0xb8]
pxor xmm2, xmm6
punpckldq xmm4, xmm12
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + rbp*4]
movd r13d, xmm2
xor eax, dword [rbx + r11*4 + 0xc00]
movd xmm1, dword [rsp + 0xbc]
xor eax, dword [rbx + rcx*4 + 0x400]
xor eax, dword [rbx + r10*4 + 0x800]
movaps xmmword [rsp + 0x120], xmm2
mov dword [rsp + 0xc0], eax
movzx eax, r8b
movd xmm0, dword [rsp + 0xc0]
punpckldq xmm1, xmm0
punpcklqdq xmm4, xmm1
pxor xmm4, xmm6
movaps xmmword [rsp + 0x130], xmm4
mov r11d, dword [rsp + 0x14c]
mov r9d, dword [rsp + 0x144]
movd r12d, xmm4
mov edx, dword [rsp + 0x148]
mov ebp, r11d
mov r10d, dword [rbx + rax*4]
shr ebp, 0x18
mov ecx, r9d
xor r10d, dword [rbx + rbp*4 + 0xc00]
movzx eax, ch
mov ebp, edx
xor r10d, dword [rbx + rax*4 + 0x400]
shr ebp, 0x10
movzx ecx, bpl
mov ebp, r8d
xor r10d, dword [rbx + rcx*4 + 0x800]
shr ebp, 0x18
mov dword [rsp + 0xa0], r10d
movzx r10d, r9b
mov eax, dword [rbx + r10*4]
mov r10d, r11d
xor eax, dword [rbx + rbp*4 + 0xc00]
shr r10d, 0x10
movzx ebp, dh
movd xmm2, dword [rsp + 0xa0]
xor eax, dword [rbx + rbp*4 + 0x400]
movzx ecx, r10b
mov ebp, r9d
xor eax, dword [rbx + rcx*4 + 0x800]
shr ebp, 0x18
mov ecx, r11d
movzx r11d, r11b
shr r9d, 0x10
movzx r9d, r9b
mov dword [rsp + 0xb8], eax
movzx eax, dl
shr edx, 0x18
mov r10d, dword [rbx + rax*4]
xor r10d, dword [rbx + rbp*4 + 0xc00]
mov ebp, r8d
movzx eax, ch
shr ebp, 0x10
movd xmm1, dword [rsp + 0xb8]
xor r10d, dword [rbx + rax*4 + 0x400]
movzx ecx, bpl
xor r10d, dword [rbx + rcx*4 + 0x800]
punpckldq xmm2, xmm1
mov ecx, dword [rsp + 0x158]
mov dword [rsp + 0xbc], r10d
mov r10d, dword [rbx + r11*4]
xor r10d, dword [rbx + rdx*4 + 0xc00]
mov edx, r8d
movd xmm5, dword [rsp + 0xbc]
movzx eax, dh
mov r8d, dword [rsp + 0x154]
xor r10d, dword [rbx + rax*4 + 0x400]
xor r10d, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0xc4]
movzx edx, r9b
mov dword [rsp + 0xc0], r10d
mov r10d, dword [rsp + 0x15c]
movd xmm3, dword [rsp + 0xc0]
punpckldq xmm5, xmm3
mov r11d, r10d
shr r11d, 0x18
punpcklqdq xmm2, xmm5
pxor xmm2, xmm6
movaps xmmword [rsp + 0x140], xmm2
mov eax, dword [rbx + rdx*4]
mov edx, r8d
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, ecx
movzx edx, dh
movd ebp, xmm2
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r11b
mov r11d, r9d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
movzx edx, ch
mov dword [rsp + 0xa0], eax
movzx eax, r8b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r10d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm4, dword [rsp + 0xa0]
movzx edx, r11b
mov r11d, r8d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r11d, 0x18
mov edx, r10d
movzx edx, dh
movzx r10d, r10b
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r11*4 + 0xc00]
mov r11d, r9d
shr r11d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0xb8]
movzx edx, r11b
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm4, xmm5
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r10*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r9d
shr r8d, 0x10
movzx edx, ch
movzx r9d, r8b
movd xmm12, dword [rsp + 0xbc]
xor eax, dword [rbx + rdx*4 + 0x400]
mov r8d, dword [rsp + 0xc8]
xor eax, dword [rbx + r9*4 + 0x800]
mov r9d, dword [rsp + 0x16c]
mov ecx, dword [rsp + 0x164]
mov r10d, r9d
mov dword [rsp + 0xc0], eax
shr r10d, 0x18
movzx eax, r8b
movd xmm0, dword [rsp + 0xc0]
mov eax, dword [rbx + rax*4]
movzx edx, ch
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x168]
punpckldq xmm12, xmm0
xor eax, dword [rbx + rdx*4 + 0x400]
shr r10d, 0x10
punpcklqdq xmm4, xmm12
movzx edx, r10b
mov r10d, r8d
shr r10d, 0x18
pxor xmm4, xmm6
movaps xmmword [rsp + 0x150], xmm4
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, dword [rsp + 0x168]
movd r11d, xmm4
movzx edx, dh
mov dword [rsp + 0xa0], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, r9d
shr r10d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm2, dword [rsp + 0xa0]
movzx edx, r10b
mov r10d, ecx
shr ecx, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
shr r10d, 0x18
mov edx, r9d
movzx edx, dh
movzx r9d, r9b
mov dword [rsp + 0xb8], eax
movzx eax, byte [rsp + 0x168]
movd xmm12, dword [rsp + 0xb8]
punpckldq xmm2, xmm12
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, r8d
shr r10d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r10b
mov r10d, dword [rsp + 0x168]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r8d
movzx r8d, cl
movzx edx, dh
mov ecx, dword [rsp + 0x178]
shr r10d, 0x18
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r9*4]
xor eax, dword [rbx + r10*4 + 0xc00]
movd xmm1, dword [rsp + 0xbc]
xor eax, dword [rbx + rdx*4 + 0x400]
mov r9d, dword [rsp + 0x17c]
xor eax, dword [rbx + r8*4 + 0x800]
mov r8d, dword [rsp + 0xcc]
mov edx, dword [rsp + 0x174]
mov r10d, r9d
shr r10d, 0x18
mov dword [rsp + 0xc0], eax
movzx eax, r8b
movzx edx, dh
movd xmm3, dword [rsp + 0xc0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, ecx
punpckldq xmm1, xmm3
shr r10d, 0x10
punpcklqdq xmm2, xmm1
pxor xmm2, xmm6
movd dword [rsp + 0xc4], xmm2
movaps xmmword [rsp + 0x160], xmm2
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r10b
mov r10d, r8d
shr r10d, 0x18
xor eax, dword [rbx + rdx*4 + 0x800]
movzx edx, ch
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x174]
movd xmm4, dword [rsp + 0xa0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, r9d
xor eax, dword [rbx + rdx*4 + 0x400]
shr r10d, 0x10
movzx edx, r10b
mov r10d, dword [rsp + 0x174]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r9d
movzx r9d, r9b
movzx edx, dh
shr r10d, 0x18
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r10*4 + 0xc00]
mov r10d, r8d
shr r10d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0xb8]
movzx edx, r10b
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm4, xmm5
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r9*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r8d
mov r8d, dword [rsp + 0x174]
movzx edx, ch
movd xmm1, dword [rsp + 0xbc]
mov ecx, dword [rsp + 0x188]
xor eax, dword [rbx + rdx*4 + 0x400]
mov edx, dword [rsp + 0x184]
shr r8d, 0x10
movzx r10d, r8b
mov r8d, dword [rsp + 0x18c]
xor eax, dword [rbx + r10*4 + 0x800]
movzx edx, dh
mov r9d, r8d
shr r9d, 0x18
mov dword [rsp + 0xc0], eax
movzx eax, r15b
movd xmm0, dword [rsp + 0xc0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, ecx
punpckldq xmm1, xmm0
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, r15d
shr r9d, 0x18
punpcklqdq xmm4, xmm1
pxor xmm4, xmm6
movaps xmmword [rsp + 0x170], xmm4
xor eax, dword [rbx + rdx*4 + 0x800]
movzx edx, ch
movd r10d, xmm4
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x184]
movd xmm2, dword [rsp + 0xa0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r8d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, dword [rsp + 0x184]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r8d
movzx r8d, r8b
movzx edx, dh
shr r9d, 0x18
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r15d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0xb8]
movzx edx, r9b
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm2, xmm1
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r8*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r15d
mov r15d, dword [rsp + 0x184]
movzx edx, ch
mov r8d, dword [rsp + 0x19c]
movd xmm12, dword [rsp + 0xbc]
xor eax, dword [rbx + rdx*4 + 0x400]
mov ecx, dword [rsp + 0x198]
shr r15d, 0x10
movzx r9d, r15b
mov edx, r8d
xor eax, dword [rbx + r9*4 + 0x800]
shr edx, 0x18
mov r9d, ecx
shr r9d, 0x10
mov dword [rsp + 0xc0], eax
movzx eax, r14b
movd xmm3, dword [rsp + 0xc0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x194]
punpckldq xmm12, xmm3
movzx edx, dh
punpcklqdq xmm2, xmm12
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
xor eax, dword [rbx + rdx*4 + 0x800]
mov r9d, r14d
movzx edx, ch
shr r9d, 0x18
pxor xmm2, xmm6
movaps xmmword [rsp + 0x180], xmm2
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x194]
movd r15d, xmm2
movd xmm4, dword [rsp + 0xa0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r8d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, dword [rsp + 0x194]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r8d
movzx r8d, r8b
movzx edx, dh
shr r9d, 0x18
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r14d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0xb8]
movzx edx, r9b
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm4, xmm5
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r8*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r14d
mov r14d, dword [rsp + 0x194]
movzx edx, ch
mov r8d, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x128]
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm12, dword [rsp + 0xbc]
shr r14d, 0x10
movzx r9d, r14b
mov edx, r8d
xor eax, dword [rbx + r9*4 + 0x800]
shr edx, 0x18
mov r9d, ecx
shr r9d, 0x10
mov dword [rsp + 0xc0], eax
movzx eax, r13b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + rdx*4 + 0xc00]
mov edx, dword [rsp + 0x124]
movd xmm0, dword [rsp + 0xc0]
punpckldq xmm12, xmm0
movzx edx, dh
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, r13d
xor eax, dword [rbx + rdx*4 + 0x800]
punpcklqdq xmm4, xmm12
shr r9d, 0x18
movzx edx, ch
pxor xmm4, xmm6
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x124]
movaps xmmword [rsp + 0x190], xmm4
movd r14d, xmm4
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r8d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm4, dword [rsp + 0xa0]
movzx edx, r9b
mov r9d, dword [rsp + 0x124]
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r8d
movzx r8d, r8b
movzx edx, dh
shr r9d, 0x18
mov dword [rsp + 0xb8], eax
movzx eax, cl
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r13d
xor eax, dword [rbx + rdx*4 + 0x400]
shr r9d, 0x10
shr ecx, 0x18
movzx edx, r9b
movd xmm2, dword [rsp + 0xb8]
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm4, xmm2
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r8*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r13d
mov r13d, dword [rsp + 0x124]
movzx edx, ch
mov r8d, dword [rsp + 0x13c]
mov ecx, dword [rsp + 0x138]
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0xbc]
shr r13d, 0x10
movzx r9d, r13b
mov r13d, dword [rsp + 0x134]
mov edx, r8d
xor eax, dword [rbx + r9*4 + 0x800]
shr edx, 0x18
mov r9d, ecx
shr r9d, 0x10
mov dword [rsp + 0xc0], eax
movzx eax, r12b
movd xmm3, dword [rsp + 0xc0]
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + rdx*4 + 0xc00]
mov edx, r13d
punpckldq xmm1, xmm3
movzx edx, dh
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, r12d
xor eax, dword [rbx + rdx*4 + 0x800]
shr r9d, 0x18
movzx edx, ch
punpcklqdq xmm4, xmm1
mov dword [rsp + 0xa0], eax
pxor xmm4, xmm15
movzx eax, r13b
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r8d
shr r9d, 0x10
movaps xmmword [rsp + 0x120], xmm4
xor eax, dword [rbx + rdx*4 + 0x400]
movzx edx, r9b
mov r9d, r13d
shr r9d, 0x18
shr r13d, 0x10
xor eax, dword [rbx + rdx*4 + 0x800]
mov edx, r8d
movzx r8d, r8b
movzx edx, dh
movd xmm3, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [rbx + rax*4]
xor eax, dword [rbx + r9*4 + 0xc00]
mov r9d, r12d
shr r9d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
movd xmm5, dword [rsp + 0xb8]
movzx edx, r9b
xor eax, dword [rbx + rdx*4 + 0x800]
punpckldq xmm3, xmm5
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + r8*4]
xor eax, dword [rbx + rcx*4 + 0xc00]
mov ecx, r12d
movzx r12d, r13b
movzx edx, ch
mov r13d, dword [rsp + 0x144]
mov r8d, dword [rsp + 0x14c]
xor eax, dword [rbx + rdx*4 + 0x400]
mov ecx, dword [rsp + 0x148]
xor eax, dword [rbx + r12*4 + 0x800]
movd xmm12, dword [rsp + 0xbc]
mov edx, r13d
mov r9d, r8d
shr r9d, 0x18
mov dword [rsp + 0xc0], eax
movzx eax, bpl
mov r12d, dword [rbx + rax*4]
movzx eax, dh
mov edx, ecx
xor r12d, dword [rbx + r9*4 + 0xc00]
shr edx, 0x10
movd xmm0, dword [rsp + 0xc0]
xor r12d, dword [rbx + rax*4 + 0x400]
movzx eax, dl
mov r9d, ebp
xor r12d, dword [rbx + rax*4 + 0x800]
punpckldq xmm12, xmm0
shr r9d, 0x18
movzx edx, ch
punpcklqdq xmm3, xmm12
mov dword [rsp + 0xa0], r12d
movzx r12d, r13b
mov eax, dword [rbx + r12*4]
mov r12d, r8d
xor eax, dword [rbx + r9*4 + 0xc00]
shr r12d, 0x10
xor eax, dword [rbx + rdx*4 + 0x400]
mov edx, r13d
movzx r9d, r12b
pxor xmm3, xmm15
xor eax, dword [rbx + r9*4 + 0x800]
shr edx, 0x18
mov r9d, ebp
shr r9d, 0x10
shr r13d, 0x10
movaps xmmword [rsp + 0x130], xmm3
mov dword [rsp + 0xb8], eax
movzx eax, cl
shr ecx, 0x18
mov r12d, dword [rbx + rax*4]
mov eax, r8d
xor r12d, dword [rbx + rdx*4 + 0xc00]
movzx edx, ah
movzx eax, r9b
movzx r8d, r8b
xor r12d, dword [rbx + rdx*4 + 0x400]
movzx edx, r13b
movd xmm5, dword [rsp + 0xa0]
xor r12d, dword [rbx + rax*4 + 0x800]
movzx eax, r11b
movd xmm12, dword [rsp + 0xb8]
punpckldq xmm5, xmm12
mov dword [rsp + 0xbc], r12d
mov r12d, dword [rbx + r8*4]
xor r12d, dword [rbx + rcx*4 + 0xc00]
mov ecx, ebp
mov r8d, dword [rsp + 0x15c]
movzx ebp, ch
mov ecx, dword [rsp + 0x158]
movd xmm1, dword [rsp + 0xbc]
xor r12d, dword [rbx + rbp*4 + 0x400]
xor r12d, dword [rbx + rdx*4 + 0x800]
mov edx, dword [rsp + 0x154]
mov r9d, r8d
shr r9d, 0x18
mov r13d, ecx
shr r13d, 0x10
movzx ebp, dh
mov dword [rsp + 0xc0], r12d
mov r12d, dword [rbx + rax*4]
movzx eax, r13b
xor r12d, dword [rbx + r9*4 + 0xc00]
mov r9d, r11d
movd xmm2, dword [rsp + 0xc0]
xor r12d, dword [rbx + rbp*4 + 0x400]
shr r9d, 0x18
movzx ebp, ch
xor r12d, dword [rbx + rax*4 + 0x800]
mov eax, r8d
shr eax, 0x10
punpckldq xmm1, xmm2
mov dword [rsp + 0xa0], r12d
movzx r12d, dl
mov r13d, dword [rbx + r12*4]
xor r13d, dword [rbx + r9*4 + 0xc00]
movzx r12d, al
xor r13d, dword [rbx + rbp*4 + 0x400]
mov r9d, edx
mov eax, r8d
xor r13d, dword [rbx + r12*4 + 0x800]
shr r9d, 0x18
movzx r8d, r8b
punpcklqdq xmm5, xmm1
mov dword [rsp + 0xb8], r13d
movzx r13d, cl
shr ecx, 0x18
mov ebp, dword [rbx + r13*4]
xor ebp, dword [rbx + r9*4 + 0xc00]
mov r9d, r11d
shr r9d, 0x10
movdqa xmm0, xmm5
pxor xmm0, xmm15
mov r12d, ebp
movzx ebp, ah
mov eax, dword [rbx + rbp*4 + 0x400]
movaps xmmword [rdi + 0x20], xmm0
xor eax, r12d
movzx r12d, r9b
movaps xmmword [rsp + 0x140], xmm0
xor eax, dword [rbx + r12*4 + 0x800]
mov dword [rsp + 0xbc], eax
mov ebp, dword [rbx + r8*4]
xor ebp, dword [rbx + rcx*4 + 0xc00]
mov ecx, r11d
shr edx, 0x10
movzx eax, ch
mov r9d, dword [rsp + 0x16c]
movzx r11d, dl
xor ebp, dword [rbx + rax*4 + 0x400]
mov r13d, dword [rsp + 0xc4]
xor ebp, dword [rbx + r11*4 + 0x800]
mov ecx, dword [rsp + 0x168]
mov edx, dword [rsp + 0x164]
mov r8d, r9d
movd xmm12, dword [rsp + 0xa0]
movzx r12d, r13b
shr r8d, 0x18
movd xmm5, dword [rsp + 0xb8]
mov r11d, ecx
mov eax, dword [rbx + r12*4]
xor eax, dword [rbx + r8*4 + 0xc00]
mov dword [rsp + 0xc0], ebp
shr r11d, 0x10
movzx ebp, dh
xor eax, dword [rbx + rbp*4 + 0x400]
movzx r12d, r11b
mov ebp, r13d
xor eax, dword [rbx + r12*4 + 0x800]
movzx r8d, dl
shr ebp, 0x18
mov r11d, r9d
movd xmm1, dword [rsp + 0xbc]
shr r11d, 0x10
movd xmm2, dword [rsp + 0xc0]
movzx r12d, r11b
punpckldq xmm12, xmm5
mov dword [rsp + 0xa0], eax
mov eax, dword [rbx + r8*4]
movzx r8d, cl
xor eax, dword [rbx + rbp*4 + 0xc00]
movzx ebp, ch
shr ecx, 0x18
xor eax, dword [rbx + rbp*4 + 0x400]
mov ebp, edx
shr edx, 0x10
xor eax, dword [rbx + r12*4 + 0x800]
shr ebp, 0x18
movzx r11d, r10b
punpckldq xmm1, xmm2
mov dword [rsp + 0xb8], eax
mov eax, dword [rbx + r8*4]
xor eax, dword [rbx + rbp*4 + 0xc00]
punpcklqdq xmm12, xmm1
movdqa xmm2, xmm12
mov r12d, eax
mov eax, r9d
movzx r9d, r9b
movzx ebp, ah
pxor xmm2, xmm15
mov r8d, dword [rbx + rbp*4 + 0x400]
mov ebp, dword [rbx + r9*4]
xor ebp, dword [rbx + rcx*4 + 0xc00]
mov ecx, r13d
movaps xmmword [rdi + 0x30], xmm2
xor r8d, r12d
mov r12d, r13d
movzx r13d, dl
shr r12d, 0x10
movzx eax, r12b
xor r8d, dword [rbx + rax*4 + 0x800]
movzx eax, ch
movaps xmmword [rsp + 0x150], xmm2
mov dword [rsp + 0xbc], r8d
xor ebp, dword [rbx + rax*4 + 0x400]
mov r8d, dword [rsp + 0x17c]
xor ebp, dword [rbx + r13*4 + 0x800]
mov edx, dword [rsp + 0x178]
mov eax, dword [rsp + 0x174]
mov ecx, dword [rbx + r11*4]
movd xmm1, dword [rsp + 0xbc]
mov r12d, r8d
movd xmm5, dword [rsp + 0xb8]
shr r12d, 0x18
mov r9d, edx
mov dword [rsp + 0xc0], ebp
xor ecx, dword [rbx + r12*4 + 0xc00]
movzx ebp, ah
shr r9d, 0x10
xor ecx, dword [rbx + rbp*4 + 0x400]
movzx r13d, r9b
movd xmm12, dword [rsp + 0xc0]
xor ecx, dword [rbx + r13*4 + 0x800]
mov r12d, r10d
movzx r11d, al
shr r12d, 0x18
punpckldq xmm1, xmm12
movzx ebp, dh
movd xmm12, dword [rsp + 0xa0]
mov r9d, r8d
mov dword [rsp + 0xa0], ecx
mov ecx, dword [rbx + r11*4]
movzx r11d, dl
xor ecx, dword [rbx + r12*4 + 0xc00]
mov r12d, eax
mov r11d, dword [rbx + r11*4]
xor ecx, dword [rbx + rbp*4 + 0x400]
shr r9d, 0x10
shr r12d, 0x18
movzx r13d, r9b
xor r11d, dword [rbx + r12*4 + 0xc00]
shr edx, 0x18
xor ecx, dword [rbx + r13*4 + 0x800]
punpckldq xmm12, xmm5
mov r9d, r10d
shr eax, 0x10
shr r9d, 0x10
movzx eax, al
movzx r12d, r9b
punpcklqdq xmm12, xmm1
mov dword [rsp + 0xb8], ecx
mov ecx, r8d
movzx r8d, r8b
movzx ecx, ch
mov r13d, dword [rbx + rcx*4 + 0x400]
pxor xmm12, xmm15
movzx ecx, r15b
xor r13d, r11d
mov r11d, dword [rbx + r8*4]
xor r11d, dword [rbx + rdx*4 + 0xc00]
mov edx, r10d
xor r13d, dword [rbx + r12*4 + 0x800]
movzx ebp, dh
xor r11d, dword [rbx + rbp*4 + 0x400]
movaps xmmword [rsp + 0x160], xmm12
mov dword [rsp + 0xbc], r13d
mov r10d, r11d
xor r10d, dword [rbx + rax*4 + 0x800]
movd xmm0, dword [rsp + 0xbc]
mov dword [rsp + 0xc0], r10d
movd xmm2, dword [rsp + 0xc0]
mov r13d, dword [rsp + 0x18c]
mov edx, dword [rsp + 0x188]
mov eax, dword [rsp + 0x184]
mov r12d, dword [rbx + rcx*4]
punpckldq xmm0, xmm2
mov r9d, r13d
movd xmm2, dword [rsp + 0xa0]
shr r9d, 0x18
mov r8d, edx
movzx ebp, ah
xor r12d, dword [rbx + r9*4 + 0xc00]
shr r8d, 0x10
mov r9d, r15d
xor r12d, dword [rbx + rbp*4 + 0x400]
movzx r11d, r8b
movzx r10d, al
xor r12d, dword [rbx + r11*4 + 0x800]
shr r9d, 0x18
mov ecx, dword [rbx + r10*4]
movzx ebp, dh
xor ecx, dword [rbx + r9*4 + 0xc00]
mov r10d, eax
xor ecx, dword [rbx + rbp*4 + 0x400]
movd xmm1, dword [rsp + 0xb8]
movzx r11d, dl
shr r10d, 0x18
shr edx, 0x18
mov r9d, dword [rbx + r11*4]
mov dword [rsp + 0xa0], r12d
mov r12d, r13d
xor r9d, dword [rbx + r10*4 + 0xc00]
shr r12d, 0x10
shr eax, 0x10
movzx r8d, r12b
movzx eax, al
xor ecx, dword [rbx + r8*4 + 0x800]
mov r8d, r15d
shr r8d, 0x10
punpckldq xmm2, xmm1
movzx r11d, r8b
movd xmm1, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], ecx
mov ecx, r13d
movzx r13d, r13b
mov r10d, dword [rbx + r13*4]
xor r10d, dword [rbx + rdx*4 + 0xc00]
mov edx, r15d
movzx ebp, dh
movzx ecx, ch
xor r10d, dword [rbx + rbp*4 + 0x400]
mov r12d, dword [rbx + rcx*4 + 0x400]
movzx ecx, r14b
punpcklqdq xmm2, xmm0
xor r12d, r9d
xor r12d, dword [rbx + r11*4 + 0x800]
mov r15d, r10d
xor r15d, dword [rbx + rax*4 + 0x800]
pxor xmm2, xmm15
mov dword [rsp + 0xbc], r12d
mov dword [rsp + 0xc0], r15d
movd xmm0, dword [rsp + 0xbc]
mov r15d, r14d
movd xmm5, dword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm2
punpckldq xmm0, xmm5
movd xmm5, dword [rsp + 0xb8]
punpckldq xmm1, xmm5
punpcklqdq xmm1, xmm0
pxor xmm1, xmm15
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rdi], xmm4
movaps xmmword [rdi + 0x10], xmm3
movaps xmmword [rdi + 0x40], xmm12
movaps xmmword [rdi + 0x50], xmm2
mov r12d, dword [rsp + 0x19c]
mov edx, dword [rsp + 0x198]
mov eax, dword [rsp + 0x194]
mov r8d, dword [rbx + rcx*4]
mov r9d, r12d
mov r11d, edx
shr r9d, 0x18
movzx ebp, ah
shr r11d, 0x10
xor r8d, dword [rbx + r9*4 + 0xc00]
movzx r13d, r11b
shr r15d, 0x18
xor r8d, dword [rbx + rbp*4 + 0x400]
movzx r10d, al
mov r9d, r12d
xor r8d, dword [rbx + r13*4 + 0x800]
movzx ebp, dh
mov ecx, dword [rbx + r10*4]
shr r9d, 0x10
xor ecx, dword [rbx + r15*4 + 0xc00]
mov r13d, eax
xor ecx, dword [rbx + rbp*4 + 0x400]
movzx r11d, dl
shr r13d, 0x18
mov r15d, dword [rbx + r11*4]
xor r15d, dword [rbx + r13*4 + 0xc00]
shr edx, 0x18
mov dword [rsp + 0xb8], r8d
movzx r8d, r9b
mov r11d, r14d
xor ecx, dword [rbx + r8*4 + 0x800]
shr r11d, 0x10
shr eax, 0x10
movzx r13d, r11b
movzx eax, al
sub rdi, 0xffffffffffffff80
mov dword [rsp + 0xbc], ecx
mov ecx, r12d
movzx r12d, r12b
movzx ebp, ch
movd xmm1, dword [rsp + 0xbc]
mov r8d, dword [rbx + rbp*4 + 0x400]
xor r8d, r15d
mov r15d, dword [rbx + r12*4]
xor r15d, dword [rbx + rdx*4 + 0xc00]
mov edx, r14d
xor r8d, dword [rbx + r13*4 + 0x800]
movzx ecx, dh
xor r15d, dword [rbx + rcx*4 + 0x400]
mov dword [rsp + 0xc0], r8d
movd xmm5, dword [rsp + 0xc0]
mov r14d, r15d
xor r14d, dword [rbx + rax*4 + 0x800]
mov dword [rsp + 0xc4], r14d
movd xmm0, dword [rsp + 0xc4]
punpckldq xmm5, xmm0
movd xmm0, dword [rsp + 0xb8]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm5
pxor xmm0, xmm15
movaps xmmword [rsp + 0x190], xmm0
movdqa xmm4, xmmword [rsp + 0xa0]
movaps xmmword [rdi - 0x10], xmm0
movaps xmmword [rdi - 0x20], xmm4
cmp qword [rsp + 0xd0], rdi
jne 0x4212c0
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret