Function at 0x18002844d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
lea r11, [0x18051c270]
mov r9d, dword [r11]
mov r10d, dword [r11 + 4]
mov r11d, dword [r11 + 8]
test r11d, 0x20000000
jne 0x180029956
and r11d, 0x128
cmp r11d, 0x128
je 0x18002bbd6
and r9d, 0x40000000
and r10d, 0x10000200
or r10d, r9d
cmp r10d, 0x50000200
je 0x18002ac56
test r10d, 0x200
jne 0x180029d16
push rbx
push rbp
push r12
push r13
push r14
push r15
mov r11, rsp
shl rdx, 4
sub rsp, 0x60
lea rdx, [rsi + rdx*4]
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r11
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov r10d, dword [rdi + 0x18]
mov r11d, dword [rdi + 0x1c]
jmp 0x180028510
mov edi, ebx
lea rbp, [0x180029680]
xor edi, ecx
mov r12d, dword [rsi]
mov r13d, r8d
mov r14d, eax
bswap r12d
ror r13d, 0xe
mov r15d, r9d
xor r13d, r8d
ror r14d, 9
xor r15d, r10d
mov dword [rsp], r12d
xor r14d, eax
and r15d, r8d
ror r13d, 5
add r12d, r11d
xor r15d, r10d
ror r14d, 0xb
xor r13d, r8d
add r12d, r15d
mov r15d, eax
add r12d, dword [rbp]
xor r14d, eax
xor r15d, ebx
ror r13d, 6
mov r11d, ebx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r11d, edi
add edx, r12d
add r11d, r12d
lea rbp, [rbp + 4]
add r11d, r14d
mov r12d, dword [rsi + 4]
mov r13d, edx
mov r14d, r11d
bswap r12d
ror r13d, 0xe
mov edi, r8d
xor r13d, edx
ror r14d, 9
xor edi, r9d
mov dword [rsp + 4], r12d
xor r14d, r11d
and edi, edx
ror r13d, 5
add r12d, r10d
xor edi, r9d
ror r14d, 0xb
xor r13d, edx
add r12d, edi
mov edi, r11d
add r12d, dword [rbp]
xor r14d, r11d
xor edi, eax
ror r13d, 6
mov r10d, eax
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r10d, r15d
add ecx, r12d
add r10d, r12d
lea rbp, [rbp + 4]
add r10d, r14d
mov r12d, dword [rsi + 8]
mov r13d, ecx
mov r14d, r10d
bswap r12d
ror r13d, 0xe
mov r15d, edx
xor r13d, ecx
ror r14d, 9
xor r15d, r8d
mov dword [rsp + 8], r12d
xor r14d, r10d
and r15d, ecx
ror r13d, 5
add r12d, r9d
xor r15d, r8d
ror r14d, 0xb
xor r13d, ecx
add r12d, r15d
mov r15d, r10d
add r12d, dword [rbp]
xor r14d, r10d
xor r15d, r11d
ror r13d, 6
mov r9d, r11d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r9d, edi
add ebx, r12d
add r9d, r12d
lea rbp, [rbp + 4]
add r9d, r14d
mov r12d, dword [rsi + 0xc]
mov r13d, ebx
mov r14d, r9d
bswap r12d
ror r13d, 0xe
mov edi, ecx
xor r13d, ebx
ror r14d, 9
xor edi, edx
mov dword [rsp + 0xc], r12d
xor r14d, r9d
and edi, ebx
ror r13d, 5
add r12d, r8d
xor edi, edx
ror r14d, 0xb
xor r13d, ebx
add r12d, edi
mov edi, r9d
add r12d, dword [rbp]
xor r14d, r9d
xor edi, r10d
ror r13d, 6
mov r8d, r10d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r8d, r15d
add eax, r12d
add r8d, r12d
lea rbp, [rbp + 0x14]
add r8d, r14d
mov r12d, dword [rsi + 0x10]
mov r13d, eax
mov r14d, r8d
bswap r12d
ror r13d, 0xe
mov r15d, ebx
xor r13d, eax
ror r14d, 9
xor r15d, ecx
mov dword [rsp + 0x10], r12d
xor r14d, r8d
and r15d, eax
ror r13d, 5
add r12d, edx
xor r15d, ecx
ror r14d, 0xb
xor r13d, eax
add r12d, r15d
mov r15d, r8d
add r12d, dword [rbp]
xor r14d, r8d
xor r15d, r9d
ror r13d, 6
mov edx, r9d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor edx, edi
add r11d, r12d
add edx, r12d
lea rbp, [rbp + 4]
add edx, r14d
mov r12d, dword [rsi + 0x14]
mov r13d, r11d
mov r14d, edx
bswap r12d
ror r13d, 0xe
mov edi, eax
xor r13d, r11d
ror r14d, 9
xor edi, ebx
mov dword [rsp + 0x14], r12d
xor r14d, edx
and edi, r11d
ror r13d, 5
add r12d, ecx
xor edi, ebx
ror r14d, 0xb
xor r13d, r11d
add r12d, edi
mov edi, edx
add r12d, dword [rbp]
xor r14d, edx
xor edi, r8d
ror r13d, 6
mov ecx, r8d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor ecx, r15d
add r10d, r12d
add ecx, r12d
lea rbp, [rbp + 4]
add ecx, r14d
mov r12d, dword [rsi + 0x18]
mov r13d, r10d
mov r14d, ecx
bswap r12d
ror r13d, 0xe
mov r15d, r11d
xor r13d, r10d
ror r14d, 9
xor r15d, eax
mov dword [rsp + 0x18], r12d
xor r14d, ecx
and r15d, r10d
ror r13d, 5
add r12d, ebx
xor r15d, eax
ror r14d, 0xb
xor r13d, r10d
add r12d, r15d
mov r15d, ecx
add r12d, dword [rbp]
xor r14d, ecx
xor r15d, edx
ror r13d, 6
mov ebx, edx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor ebx, edi
add r9d, r12d
add ebx, r12d
lea rbp, [rbp + 4]
add ebx, r14d
mov r12d, dword [rsi + 0x1c]
mov r13d, r9d
mov r14d, ebx
bswap r12d
ror r13d, 0xe
mov edi, r10d
xor r13d, r9d
ror r14d, 9
xor edi, r11d
mov dword [rsp + 0x1c], r12d
xor r14d, ebx
and edi, r9d
ror r13d, 5
add r12d, eax
xor edi, r11d
ror r14d, 0xb
xor r13d, r9d
add r12d, edi
mov edi, ebx
add r12d, dword [rbp]
xor r14d, ebx
xor edi, ecx
ror r13d, 6
mov eax, ecx
and r15d, edi
ror r14d, 2
add r12d, r13d
xor eax, r15d
add r8d, r12d
add eax, r12d
lea rbp, [rbp + 0x14]
add eax, r14d
mov r12d, dword [rsi + 0x20]
mov r13d, r8d
mov r14d, eax
bswap r12d
ror r13d, 0xe
mov r15d, r9d
xor r13d, r8d
ror r14d, 9
xor r15d, r10d
mov dword [rsp + 0x20], r12d
xor r14d, eax
and r15d, r8d
ror r13d, 5
add r12d, r11d
xor r15d, r10d
ror r14d, 0xb
xor r13d, r8d
add r12d, r15d
mov r15d, eax
add r12d, dword [rbp]
xor r14d, eax
xor r15d, ebx
ror r13d, 6
mov r11d, ebx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r11d, edi
add edx, r12d
add r11d, r12d
lea rbp, [rbp + 4]
add r11d, r14d
mov r12d, dword [rsi + 0x24]
mov r13d, edx
mov r14d, r11d
bswap r12d
ror r13d, 0xe
mov edi, r8d
xor r13d, edx
ror r14d, 9
xor edi, r9d
mov dword [rsp + 0x24], r12d
xor r14d, r11d
and edi, edx
ror r13d, 5
add r12d, r10d
xor edi, r9d
ror r14d, 0xb
xor r13d, edx
add r12d, edi
mov edi, r11d
add r12d, dword [rbp]
xor r14d, r11d
xor edi, eax
ror r13d, 6
mov r10d, eax
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r10d, r15d
add ecx, r12d
add r10d, r12d
lea rbp, [rbp + 4]
add r10d, r14d
mov r12d, dword [rsi + 0x28]
mov r13d, ecx
mov r14d, r10d
bswap r12d
ror r13d, 0xe
mov r15d, edx
xor r13d, ecx
ror r14d, 9
xor r15d, r8d
mov dword [rsp + 0x28], r12d
xor r14d, r10d
and r15d, ecx
ror r13d, 5
add r12d, r9d
xor r15d, r8d
ror r14d, 0xb
xor r13d, ecx
add r12d, r15d
mov r15d, r10d
add r12d, dword [rbp]
xor r14d, r10d
xor r15d, r11d
ror r13d, 6
mov r9d, r11d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r9d, edi
add ebx, r12d
add r9d, r12d
lea rbp, [rbp + 4]
add r9d, r14d
mov r12d, dword [rsi + 0x2c]
mov r13d, ebx
mov r14d, r9d
bswap r12d
ror r13d, 0xe
mov edi, ecx
xor r13d, ebx
ror r14d, 9
xor edi, edx
mov dword [rsp + 0x2c], r12d
xor r14d, r9d
and edi, ebx
ror r13d, 5
add r12d, r8d
xor edi, edx
ror r14d, 0xb
xor r13d, ebx
add r12d, edi
mov edi, r9d
add r12d, dword [rbp]
xor r14d, r9d
xor edi, r10d
ror r13d, 6
mov r8d, r10d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r8d, r15d
add eax, r12d
add r8d, r12d
lea rbp, [rbp + 0x14]
add r8d, r14d
mov r12d, dword [rsi + 0x30]
mov r13d, eax
mov r14d, r8d
bswap r12d
ror r13d, 0xe
mov r15d, ebx
xor r13d, eax
ror r14d, 9
xor r15d, ecx
mov dword [rsp + 0x30], r12d
xor r14d, r8d
and r15d, eax
ror r13d, 5
add r12d, edx
xor r15d, ecx
ror r14d, 0xb
xor r13d, eax
add r12d, r15d
mov r15d, r8d
add r12d, dword [rbp]
xor r14d, r8d
xor r15d, r9d
ror r13d, 6
mov edx, r9d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor edx, edi
add r11d, r12d
add edx, r12d
lea rbp, [rbp + 4]
add edx, r14d
mov r12d, dword [rsi + 0x34]
mov r13d, r11d
mov r14d, edx
bswap r12d
ror r13d, 0xe
mov edi, eax
xor r13d, r11d
ror r14d, 9
xor edi, ebx
mov dword [rsp + 0x34], r12d
xor r14d, edx
and edi, r11d
ror r13d, 5
add r12d, ecx
xor edi, ebx
ror r14d, 0xb
xor r13d, r11d
add r12d, edi
mov edi, edx
add r12d, dword [rbp]
xor r14d, edx
xor edi, r8d
ror r13d, 6
mov ecx, r8d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor ecx, r15d
add r10d, r12d
add ecx, r12d
lea rbp, [rbp + 4]
add ecx, r14d
mov r12d, dword [rsi + 0x38]
mov r13d, r10d
mov r14d, ecx
bswap r12d
ror r13d, 0xe
mov r15d, r11d
xor r13d, r10d
ror r14d, 9
xor r15d, eax
mov dword [rsp + 0x38], r12d
xor r14d, ecx
and r15d, r10d
ror r13d, 5
add r12d, ebx
xor r15d, eax
ror r14d, 0xb
xor r13d, r10d
add r12d, r15d
mov r15d, ecx
add r12d, dword [rbp]
xor r14d, ecx
xor r15d, edx
ror r13d, 6
mov ebx, edx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor ebx, edi
add r9d, r12d
add ebx, r12d
lea rbp, [rbp + 4]
add ebx, r14d
mov r12d, dword [rsi + 0x3c]
mov r13d, r9d
mov r14d, ebx
bswap r12d
ror r13d, 0xe
mov edi, r10d
xor r13d, r9d
ror r14d, 9
xor edi, r11d
mov dword [rsp + 0x3c], r12d
xor r14d, ebx
and edi, r9d
ror r13d, 5
add r12d, eax
xor edi, r11d
ror r14d, 0xb
xor r13d, r9d
add r12d, edi
mov edi, ebx
add r12d, dword [rbp]
xor r14d, ebx
xor edi, ecx
ror r13d, 6
mov eax, ecx
and r15d, edi
ror r14d, 2
add r12d, r13d
xor eax, r15d
add r8d, r12d
add eax, r12d
lea rbp, [rbp + 0x14]
jmp 0x180028bb0
mov r13d, dword [rsp + 4]
mov r15d, dword [rsp + 0x38]
mov r12d, r13d
ror r13d, 0xb
add eax, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x24]
add r12d, dword [rsp]
mov r13d, r8d
add r12d, r15d
mov r14d, eax
ror r13d, 0xe
mov r15d, r9d
xor r13d, r8d
ror r14d, 9
xor r15d, r10d
mov dword [rsp], r12d
xor r14d, eax
and r15d, r8d
ror r13d, 5
add r12d, r11d
xor r15d, r10d
ror r14d, 0xb
xor r13d, r8d
add r12d, r15d
mov r15d, eax
add r12d, dword [rbp]
xor r14d, eax
xor r15d, ebx
ror r13d, 6
mov r11d, ebx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r11d, edi
add edx, r12d
add r11d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 8]
mov edi, dword [rsp + 0x3c]
mov r12d, r13d
ror r13d, 0xb
add r11d, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x28]
add r12d, dword [rsp + 4]
mov r13d, edx
add r12d, edi
mov r14d, r11d
ror r13d, 0xe
mov edi, r8d
xor r13d, edx
ror r14d, 9
xor edi, r9d
mov dword [rsp + 4], r12d
xor r14d, r11d
and edi, edx
ror r13d, 5
add r12d, r10d
xor edi, r9d
ror r14d, 0xb
xor r13d, edx
add r12d, edi
mov edi, r11d
add r12d, dword [rbp]
xor r14d, r11d
xor edi, eax
ror r13d, 6
mov r10d, eax
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r10d, r15d
add ecx, r12d
add r10d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0xc]
mov r15d, dword [rsp]
mov r12d, r13d
ror r13d, 0xb
add r10d, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x2c]
add r12d, dword [rsp + 8]
mov r13d, ecx
add r12d, r15d
mov r14d, r10d
ror r13d, 0xe
mov r15d, edx
xor r13d, ecx
ror r14d, 9
xor r15d, r8d
mov dword [rsp + 8], r12d
xor r14d, r10d
and r15d, ecx
ror r13d, 5
add r12d, r9d
xor r15d, r8d
ror r14d, 0xb
xor r13d, ecx
add r12d, r15d
mov r15d, r10d
add r12d, dword [rbp]
xor r14d, r10d
xor r15d, r11d
ror r13d, 6
mov r9d, r11d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r9d, edi
add ebx, r12d
add r9d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x10]
mov edi, dword [rsp + 4]
mov r12d, r13d
ror r13d, 0xb
add r9d, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x30]
add r12d, dword [rsp + 0xc]
mov r13d, ebx
add r12d, edi
mov r14d, r9d
ror r13d, 0xe
mov edi, ecx
xor r13d, ebx
ror r14d, 9
xor edi, edx
mov dword [rsp + 0xc], r12d
xor r14d, r9d
and edi, ebx
ror r13d, 5
add r12d, r8d
xor edi, edx
ror r14d, 0xb
xor r13d, ebx
add r12d, edi
mov edi, r9d
add r12d, dword [rbp]
xor r14d, r9d
xor edi, r10d
ror r13d, 6
mov r8d, r10d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r8d, r15d
add eax, r12d
add r8d, r12d
lea rbp, [rbp + 0x14]
mov r13d, dword [rsp + 0x14]
mov r15d, dword [rsp + 8]
mov r12d, r13d
ror r13d, 0xb
add r8d, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x34]
add r12d, dword [rsp + 0x10]
mov r13d, eax
add r12d, r15d
mov r14d, r8d
ror r13d, 0xe
mov r15d, ebx
xor r13d, eax
ror r14d, 9
xor r15d, ecx
mov dword [rsp + 0x10], r12d
xor r14d, r8d
and r15d, eax
ror r13d, 5
add r12d, edx
xor r15d, ecx
ror r14d, 0xb
xor r13d, eax
add r12d, r15d
mov r15d, r8d
add r12d, dword [rbp]
xor r14d, r8d
xor r15d, r9d
ror r13d, 6
mov edx, r9d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor edx, edi
add r11d, r12d
add edx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x18]
mov edi, dword [rsp + 0xc]
mov r12d, r13d
ror r13d, 0xb
add edx, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x38]
add r12d, dword [rsp + 0x14]
mov r13d, r11d
add r12d, edi
mov r14d, edx
ror r13d, 0xe
mov edi, eax
xor r13d, r11d
ror r14d, 9
xor edi, ebx
mov dword [rsp + 0x14], r12d
xor r14d, edx
and edi, r11d
ror r13d, 5
add r12d, ecx
xor edi, ebx
ror r14d, 0xb
xor r13d, r11d
add r12d, edi
mov edi, edx
add r12d, dword [rbp]
xor r14d, edx
xor edi, r8d
ror r13d, 6
mov ecx, r8d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor ecx, r15d
add r10d, r12d
add ecx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x1c]
mov r15d, dword [rsp + 0x10]
mov r12d, r13d
ror r13d, 0xb
add ecx, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x3c]
add r12d, dword [rsp + 0x18]
mov r13d, r10d
add r12d, r15d
mov r14d, ecx
ror r13d, 0xe
mov r15d, r11d
xor r13d, r10d
ror r14d, 9
xor r15d, eax
mov dword [rsp + 0x18], r12d
xor r14d, ecx
and r15d, r10d
ror r13d, 5
add r12d, ebx
xor r15d, eax
ror r14d, 0xb
xor r13d, r10d
add r12d, r15d
mov r15d, ecx
add r12d, dword [rbp]
xor r14d, ecx
xor r15d, edx
ror r13d, 6
mov ebx, edx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor ebx, edi
add r9d, r12d
add ebx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x20]
mov edi, dword [rsp + 0x14]
mov r12d, r13d
ror r13d, 0xb
add ebx, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp]
add r12d, dword [rsp + 0x1c]
mov r13d, r9d
add r12d, edi
mov r14d, ebx
ror r13d, 0xe
mov edi, r10d
xor r13d, r9d
ror r14d, 9
xor edi, r11d
mov dword [rsp + 0x1c], r12d
xor r14d, ebx
and edi, r9d
ror r13d, 5
add r12d, eax
xor edi, r11d
ror r14d, 0xb
xor r13d, r9d
add r12d, edi
mov edi, ebx
add r12d, dword [rbp]
xor r14d, ebx
xor edi, ecx
ror r13d, 6
mov eax, ecx
and r15d, edi
ror r14d, 2
add r12d, r13d
xor eax, r15d
add r8d, r12d
add eax, r12d
lea rbp, [rbp + 0x14]
mov r13d, dword [rsp + 0x24]
mov r15d, dword [rsp + 0x18]
mov r12d, r13d
ror r13d, 0xb
add eax, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 4]
add r12d, dword [rsp + 0x20]
mov r13d, r8d
add r12d, r15d
mov r14d, eax
ror r13d, 0xe
mov r15d, r9d
xor r13d, r8d
ror r14d, 9
xor r15d, r10d
mov dword [rsp + 0x20], r12d
xor r14d, eax
and r15d, r8d
ror r13d, 5
add r12d, r11d
xor r15d, r10d
ror r14d, 0xb
xor r13d, r8d
add r12d, r15d
mov r15d, eax
add r12d, dword [rbp]
xor r14d, eax
xor r15d, ebx
ror r13d, 6
mov r11d, ebx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r11d, edi
add edx, r12d
add r11d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x28]
mov edi, dword [rsp + 0x1c]
mov r12d, r13d
ror r13d, 0xb
add r11d, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 8]
add r12d, dword [rsp + 0x24]
mov r13d, edx
add r12d, edi
mov r14d, r11d
ror r13d, 0xe
mov edi, r8d
xor r13d, edx
ror r14d, 9
xor edi, r9d
mov dword [rsp + 0x24], r12d
xor r14d, r11d
and edi, edx
ror r13d, 5
add r12d, r10d
xor edi, r9d
ror r14d, 0xb
xor r13d, edx
add r12d, edi
mov edi, r11d
add r12d, dword [rbp]
xor r14d, r11d
xor edi, eax
ror r13d, 6
mov r10d, eax
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r10d, r15d
add ecx, r12d
add r10d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x20]
mov r12d, r13d
ror r13d, 0xb
add r10d, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0xc]
add r12d, dword [rsp + 0x28]
mov r13d, ecx
add r12d, r15d
mov r14d, r10d
ror r13d, 0xe
mov r15d, edx
xor r13d, ecx
ror r14d, 9
xor r15d, r8d
mov dword [rsp + 0x28], r12d
xor r14d, r10d
and r15d, ecx
ror r13d, 5
add r12d, r9d
xor r15d, r8d
ror r14d, 0xb
xor r13d, ecx
add r12d, r15d
mov r15d, r10d
add r12d, dword [rbp]
xor r14d, r10d
xor r15d, r11d
ror r13d, 6
mov r9d, r11d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor r9d, edi
add ebx, r12d
add r9d, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x30]
mov edi, dword [rsp + 0x24]
mov r12d, r13d
ror r13d, 0xb
add r9d, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x10]
add r12d, dword [rsp + 0x2c]
mov r13d, ebx
add r12d, edi
mov r14d, r9d
ror r13d, 0xe
mov edi, ecx
xor r13d, ebx
ror r14d, 9
xor edi, edx
mov dword [rsp + 0x2c], r12d
xor r14d, r9d
and edi, ebx
ror r13d, 5
add r12d, r8d
xor edi, edx
ror r14d, 0xb
xor r13d, ebx
add r12d, edi
mov edi, r9d
add r12d, dword [rbp]
xor r14d, r9d
xor edi, r10d
ror r13d, 6
mov r8d, r10d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor r8d, r15d
add eax, r12d
add r8d, r12d
lea rbp, [rbp + 0x14]
mov r13d, dword [rsp + 0x34]
mov r15d, dword [rsp + 0x28]
mov r12d, r13d
ror r13d, 0xb
add r8d, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x14]
add r12d, dword [rsp + 0x30]
mov r13d, eax
add r12d, r15d
mov r14d, r8d
ror r13d, 0xe
mov r15d, ebx
xor r13d, eax
ror r14d, 9
xor r15d, ecx
mov dword [rsp + 0x30], r12d
xor r14d, r8d
and r15d, eax
ror r13d, 5
add r12d, edx
xor r15d, ecx
ror r14d, 0xb
xor r13d, eax
add r12d, r15d
mov r15d, r8d
add r12d, dword [rbp]
xor r14d, r8d
xor r15d, r9d
ror r13d, 6
mov edx, r9d
and edi, r15d
ror r14d, 2
add r12d, r13d
xor edx, edi
add r11d, r12d
add edx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x2c]
mov r12d, r13d
ror r13d, 0xb
add edx, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x18]
add r12d, dword [rsp + 0x34]
mov r13d, r11d
add r12d, edi
mov r14d, edx
ror r13d, 0xe
mov edi, eax
xor r13d, r11d
ror r14d, 9
xor edi, ebx
mov dword [rsp + 0x34], r12d
xor r14d, edx
and edi, r11d
ror r13d, 5
add r12d, ecx
xor edi, ebx
ror r14d, 0xb
xor r13d, r11d
add r12d, edi
mov edi, edx
add r12d, dword [rbp]
xor r14d, edx
xor edi, r8d
ror r13d, 6
mov ecx, r8d
and r15d, edi
ror r14d, 2
add r12d, r13d
xor ecx, r15d
add r10d, r12d
add ecx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp + 0x3c]
mov r15d, dword [rsp + 0x30]
mov r12d, r13d
ror r13d, 0xb
add ecx, r14d
mov r14d, r15d
ror r15d, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
xor r12d, r13d
xor r15d, r14d
add r12d, dword [rsp + 0x1c]
add r12d, dword [rsp + 0x38]
mov r13d, r10d
add r12d, r15d
mov r14d, ecx
ror r13d, 0xe
mov r15d, r11d
xor r13d, r10d
ror r14d, 9
xor r15d, eax
mov dword [rsp + 0x38], r12d
xor r14d, ecx
and r15d, r10d
ror r13d, 5
add r12d, ebx
xor r15d, eax
ror r14d, 0xb
xor r13d, r10d
add r12d, r15d
mov r15d, ecx
add r12d, dword [rbp]
xor r14d, ecx
xor r15d, edx
ror r13d, 6
mov ebx, edx
and edi, r15d
ror r14d, 2
add r12d, r13d
xor ebx, edi
add r9d, r12d
add ebx, r12d
lea rbp, [rbp + 4]
mov r13d, dword [rsp]
mov edi, dword [rsp + 0x34]
mov r12d, r13d
ror r13d, 0xb
add ebx, r14d
mov r14d, edi
ror edi, 2
xor r13d, r12d
shr r12d, 3
ror r13d, 7
xor edi, r14d
shr r14d, 0xa
ror edi, 0x11
xor r12d, r13d
xor edi, r14d
add r12d, dword [rsp + 0x20]
add r12d, dword [rsp + 0x3c]
mov r13d, r9d
add r12d, edi
mov r14d, ebx
ror r13d, 0xe
mov edi, r10d
xor r13d, r9d
ror r14d, 9
xor edi, r11d
mov dword [rsp + 0x3c], r12d
xor r14d, ebx
and edi, r9d
ror r13d, 5
add r12d, eax
xor edi, r11d
ror r14d, 0xb
xor r13d, r9d
add r12d, edi
mov edi, ebx
add r12d, dword [rbp]
xor r14d, ebx
xor edi, ecx
ror r13d, 6
mov eax, ecx
and r15d, edi
ror r14d, 2
add r12d, r13d
xor eax, r15d
add r8d, r12d
add eax, r12d
lea rbp, [rbp + 0x14]
cmp byte [rbp + 3], 0
jne 0x180028bb0
mov rdi, qword [rsp + 0x40]
add eax, r14d
lea rsi, [rsi + 0x40]
add eax, dword [rdi]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
add r10d, dword [rdi + 0x18]
add r11d, dword [rdi + 0x1c]
cmp rsi, qword [rsp + 0x50]
mov dword [rdi], eax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
jb 0x180028510
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
lea rsp, [rsp - 0x58]
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x28], xmm9
movaps xmmword [rax - 0x18], xmm10
lea rcx, [0x180029700]
movdqu xmm1, xmmword [rdi]
movdqu xmm2, xmmword [rdi + 0x10]
movdqa xmm7, xmmword [rcx + 0x180]
pshufd xmm0, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
pshufd xmm2, xmm2, 0x1b
movdqa xmm8, xmm7
palignr xmm1, xmm2, 8
punpcklqdq xmm2, xmm0
jmp 0x1800299b0
movdqu xmm3, xmmword [rsi]
movdqu xmm4, xmmword [rsi + 0x10]
movdqu xmm5, xmmword [rsi + 0x20]
pshufb xmm3, xmm7
movdqu xmm6, xmmword [rsi + 0x30]
movdqa xmm0, xmmword [rcx - 0x80]
paddd xmm0, xmm3
pshufb xmm4, xmm7
movdqa xmm10, xmm2
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
nop
movdqa xmm9, xmm1
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx - 0x60]
paddd xmm0, xmm4
pshufb xmm5, xmm7
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
lea rsi, [rsi + 0x40]
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx - 0x40]
paddd xmm0, xmm5
pshufb xmm6, xmm7
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx - 0x20]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x20]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
nop
paddd xmm6, xmm7
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x40]
paddd xmm0, xmm5
sha256msg2 xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x60]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x80]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0xa0]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
nop
paddd xmm6, xmm7
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0xc0]
paddd xmm0, xmm5
sha256msg2 xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0xe0]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x100]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x120]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
sha256rnds2 xmm1, xmm2, xmm0
paddd xmm6, xmm7
movdqa xmm0, xmmword [rcx + 0x140]
paddd xmm0, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
sha256msg2 xmm6, xmm5
movdqa xmm7, xmm8
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rcx + 0x160]
paddd xmm0, xmm6
nop
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
dec rdx
nop
sha256rnds2 xmm1, xmm2, xmm0
paddd xmm2, xmm10
paddd xmm1, xmm9
jne 0x1800299b0
pshufd xmm2, xmm2, 0xb1
pshufd xmm7, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
punpckhqdq xmm1, xmm2
palignr xmm2, xmm7, 8
movdqu xmmword [rdi], xmm1
movdqu xmmword [rdi + 0x10], xmm2
movaps xmm6, xmmword [rax - 0x58]
movaps xmm7, xmmword [rax - 0x48]
movaps xmm8, xmmword [rax - 0x38]
movaps xmm9, xmmword [rax - 0x28]
movaps xmm10, xmmword [rax - 0x18]
mov rsp, rax
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
push rbx
push rbp
push r12
push r13
push r14
push r15
mov r11, rsp
shl rdx, 4
sub rsp, 0xa0
lea rdx, [rsi + rdx*4]
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r11
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov r10d, dword [rdi + 0x18]
mov r11d, dword [rdi + 0x1c]
jmp 0x180029d90
movdqa xmm7, xmmword [0x180029880]
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmm2, xmmword [rsi + 0x20]
pshufb xmm0, xmm7
movdqu xmm3, xmmword [rsi + 0x30]
lea rbp, [0x180029680]
pshufb xmm1, xmm7
movdqa xmm4, xmmword [rbp]
movdqa xmm5, xmmword [rbp + 0x20]
pshufb xmm2, xmm7
paddd xmm4, xmm0
movdqa xmm6, xmmword [rbp + 0x40]
pshufb xmm3, xmm7
movdqa xmm7, xmmword [rbp + 0x60]
paddd xmm5, xmm1
paddd xmm6, xmm2
paddd xmm7, xmm3
movdqa xmmword [rsp], xmm4
mov r14d, eax
movdqa xmmword [rsp + 0x10], xmm5
mov edi, ebx
movdqa xmmword [rsp + 0x20], xmm6
xor edi, ecx
movdqa xmmword [rsp + 0x30], xmm7
mov r13d, r8d
jmp 0x180029e10
sub rbp, 0xffffffffffffff80
ror r13d, 0xe
movdqa xmm4, xmm1
mov eax, r14d
mov r12d, r9d
movdqa xmm7, xmm3
ror r14d, 9
xor r13d, r8d
xor r12d, r10d
ror r13d, 5
xor r14d, eax
palignr xmm4, xmm0, 4
and r12d, r8d
xor r13d, r8d
palignr xmm7, xmm2, 4
add r11d, dword [rsp]
mov r15d, eax
xor r12d, r10d
ror r14d, 0xb
movdqa xmm5, xmm4
xor r15d, ebx
add r11d, r12d
movdqa xmm6, xmm4
ror r13d, 6
and edi, r15d
psrld xmm4, 3
xor r14d, eax
add r11d, r13d
xor edi, ebx
paddd xmm0, xmm7
ror r14d, 2
add edx, r11d
psrld xmm6, 7
add r11d, edi
mov r13d, edx
pshufd xmm7, xmm3, 0xfa
add r14d, r11d
ror r13d, 0xe
pslld xmm5, 0xe
mov r11d, r14d
mov r12d, r8d
pxor xmm4, xmm6
ror r14d, 9
xor r13d, edx
xor r12d, r9d
ror r13d, 5
psrld xmm6, 0xb
xor r14d, r11d
pxor xmm4, xmm5
and r12d, edx
xor r13d, edx
pslld xmm5, 0xb
add r10d, dword [rsp + 4]
mov edi, r11d
pxor xmm4, xmm6
xor r12d, r9d
ror r14d, 0xb
movdqa xmm6, xmm7
xor edi, eax
add r10d, r12d
pxor xmm4, xmm5
ror r13d, 6
and r15d, edi
xor r14d, r11d
psrld xmm7, 0xa
add r10d, r13d
xor r15d, eax
paddd xmm0, xmm4
ror r14d, 2
add ecx, r10d
psrlq xmm6, 0x11
add r10d, r15d
mov r13d, ecx
add r14d, r10d
pxor xmm7, xmm6
ror r13d, 0xe
mov r10d, r14d
mov r12d, edx
ror r14d, 9
psrlq xmm6, 2
xor r13d, ecx
xor r12d, r8d
pxor xmm7, xmm6
ror r13d, 5
xor r14d, r10d
and r12d, ecx
pshufd xmm7, xmm7, 0x80
xor r13d, ecx
add r9d, dword [rsp + 8]
mov r15d, r10d
psrldq xmm7, 8
xor r12d, r8d
ror r14d, 0xb
xor r15d, r11d
add r9d, r12d
ror r13d, 6
paddd xmm0, xmm7
and edi, r15d
xor r14d, r10d
add r9d, r13d
pshufd xmm7, xmm0, 0x50
xor edi, r11d
ror r14d, 2
add ebx, r9d
movdqa xmm6, xmm7
add r9d, edi
mov r13d, ebx
psrld xmm7, 0xa
add r14d, r9d
ror r13d, 0xe
psrlq xmm6, 0x11
mov r9d, r14d
mov r12d, ecx
pxor xmm7, xmm6
ror r14d, 9
xor r13d, ebx
xor r12d, edx
ror r13d, 5
xor r14d, r9d
psrlq xmm6, 2
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0xc]
pxor xmm7, xmm6
mov edi, r9d
xor r12d, edx
ror r14d, 0xb
pshufd xmm7, xmm7, 8
xor edi, r10d
add r8d, r12d
movdqa xmm6, xmmword [rbp]
ror r13d, 6
and r15d, edi
pslldq xmm7, 8
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
paddd xmm0, xmm7
ror r14d, 2
add eax, r8d
add r8d, r15d
paddd xmm6, xmm0
mov r13d, eax
add r14d, r8d
movdqa xmmword [rsp], xmm6
ror r13d, 0xe
movdqa xmm4, xmm2
mov r8d, r14d
mov r12d, ebx
movdqa xmm7, xmm0
ror r14d, 9
xor r13d, eax
xor r12d, ecx
ror r13d, 5
xor r14d, r8d
palignr xmm4, xmm1, 4
and r12d, eax
xor r13d, eax
palignr xmm7, xmm3, 4
add edx, dword [rsp + 0x10]
mov r15d, r8d
xor r12d, ecx
ror r14d, 0xb
movdqa xmm5, xmm4
xor r15d, r9d
add edx, r12d
movdqa xmm6, xmm4
ror r13d, 6
and edi, r15d
psrld xmm4, 3
xor r14d, r8d
add edx, r13d
xor edi, r9d
paddd xmm1, xmm7
ror r14d, 2
add r11d, edx
psrld xmm6, 7
add edx, edi
mov r13d, r11d
pshufd xmm7, xmm0, 0xfa
add r14d, edx
ror r13d, 0xe
pslld xmm5, 0xe
mov edx, r14d
mov r12d, eax
pxor xmm4, xmm6
ror r14d, 9
xor r13d, r11d
xor r12d, ebx
ror r13d, 5
psrld xmm6, 0xb
xor r14d, edx
pxor xmm4, xmm5
and r12d, r11d
xor r13d, r11d
pslld xmm5, 0xb
add ecx, dword [rsp + 0x14]
mov edi, edx
pxor xmm4, xmm6
xor r12d, ebx
ror r14d, 0xb
movdqa xmm6, xmm7
xor edi, r8d
add ecx, r12d
pxor xmm4, xmm5
ror r13d, 6
and r15d, edi
xor r14d, edx
psrld xmm7, 0xa
add ecx, r13d
xor r15d, r8d
paddd xmm1, xmm4
ror r14d, 2
add r10d, ecx
psrlq xmm6, 0x11
add ecx, r15d
mov r13d, r10d
add r14d, ecx
pxor xmm7, xmm6
ror r13d, 0xe
mov ecx, r14d
mov r12d, r11d
ror r14d, 9
psrlq xmm6, 2
xor r13d, r10d
xor r12d, eax
pxor xmm7, xmm6
ror r13d, 5
xor r14d, ecx
and r12d, r10d
pshufd xmm7, xmm7, 0x80
xor r13d, r10d
add ebx, dword [rsp + 0x18]
mov r15d, ecx
psrldq xmm7, 8
xor r12d, eax
ror r14d, 0xb
xor r15d, edx
add ebx, r12d
ror r13d, 6
paddd xmm1, xmm7
and edi, r15d
xor r14d, ecx
add ebx, r13d
pshufd xmm7, xmm1, 0x50
xor edi, edx
ror r14d, 2
add r9d, ebx
movdqa xmm6, xmm7
add ebx, edi
mov r13d, r9d
psrld xmm7, 0xa
add r14d, ebx
ror r13d, 0xe
psrlq xmm6, 0x11
mov ebx, r14d
mov r12d, r10d
pxor xmm7, xmm6
ror r14d, 9
xor r13d, r9d
xor r12d, r11d
ror r13d, 5
xor r14d, ebx
psrlq xmm6, 2
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x1c]
pxor xmm7, xmm6
mov edi, ebx
xor r12d, r11d
ror r14d, 0xb
pshufd xmm7, xmm7, 8
xor edi, ecx
add eax, r12d
movdqa xmm6, xmmword [rbp + 0x20]
ror r13d, 6
and r15d, edi
pslldq xmm7, 8
xor r14d, ebx
add eax, r13d
xor r15d, ecx
paddd xmm1, xmm7
ror r14d, 2
add r8d, eax
add eax, r15d
paddd xmm6, xmm1
mov r13d, r8d
add r14d, eax
movdqa xmmword [rsp + 0x10], xmm6
ror r13d, 0xe
movdqa xmm4, xmm3
mov eax, r14d
mov r12d, r9d
movdqa xmm7, xmm1
ror r14d, 9
xor r13d, r8d
xor r12d, r10d
ror r13d, 5
xor r14d, eax
palignr xmm4, xmm2, 4
and r12d, r8d
xor r13d, r8d
palignr xmm7, xmm0, 4
add r11d, dword [rsp + 0x20]
mov r15d, eax
xor r12d, r10d
ror r14d, 0xb
movdqa xmm5, xmm4
xor r15d, ebx
add r11d, r12d
movdqa xmm6, xmm4
ror r13d, 6
and edi, r15d
psrld xmm4, 3
xor r14d, eax
add r11d, r13d
xor edi, ebx
paddd xmm2, xmm7
ror r14d, 2
add edx, r11d
psrld xmm6, 7
add r11d, edi
mov r13d, edx
pshufd xmm7, xmm1, 0xfa
add r14d, r11d
ror r13d, 0xe
pslld xmm5, 0xe
mov r11d, r14d
mov r12d, r8d
pxor xmm4, xmm6
ror r14d, 9
xor r13d, edx
xor r12d, r9d
ror r13d, 5
psrld xmm6, 0xb
xor r14d, r11d
pxor xmm4, xmm5
and r12d, edx
xor r13d, edx
pslld xmm5, 0xb
add r10d, dword [rsp + 0x24]
mov edi, r11d
pxor xmm4, xmm6
xor r12d, r9d
ror r14d, 0xb
movdqa xmm6, xmm7
xor edi, eax
add r10d, r12d
pxor xmm4, xmm5
ror r13d, 6
and r15d, edi
xor r14d, r11d
psrld xmm7, 0xa
add r10d, r13d
xor r15d, eax
paddd xmm2, xmm4
ror r14d, 2
add ecx, r10d
psrlq xmm6, 0x11
add r10d, r15d
mov r13d, ecx
add r14d, r10d
pxor xmm7, xmm6
ror r13d, 0xe
mov r10d, r14d
mov r12d, edx
ror r14d, 9
psrlq xmm6, 2
xor r13d, ecx
xor r12d, r8d
pxor xmm7, xmm6
ror r13d, 5
xor r14d, r10d
and r12d, ecx
pshufd xmm7, xmm7, 0x80
xor r13d, ecx
add r9d, dword [rsp + 0x28]
mov r15d, r10d
psrldq xmm7, 8
xor r12d, r8d
ror r14d, 0xb
xor r15d, r11d
add r9d, r12d
ror r13d, 6
paddd xmm2, xmm7
and edi, r15d
xor r14d, r10d
add r9d, r13d
pshufd xmm7, xmm2, 0x50
xor edi, r11d
ror r14d, 2
add ebx, r9d
movdqa xmm6, xmm7
add r9d, edi
mov r13d, ebx
psrld xmm7, 0xa
add r14d, r9d
ror r13d, 0xe
psrlq xmm6, 0x11
mov r9d, r14d
mov r12d, ecx
pxor xmm7, xmm6
ror r14d, 9
xor r13d, ebx
xor r12d, edx
ror r13d, 5
xor r14d, r9d
psrlq xmm6, 2
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0x2c]
pxor xmm7, xmm6
mov edi, r9d
xor r12d, edx
ror r14d, 0xb
pshufd xmm7, xmm7, 8
xor edi, r10d
add r8d, r12d
movdqa xmm6, xmmword [rbp + 0x40]
ror r13d, 6
and r15d, edi
pslldq xmm7, 8
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
paddd xmm2, xmm7
ror r14d, 2
add eax, r8d
add r8d, r15d
paddd xmm6, xmm2
mov r13d, eax
add r14d, r8d
movdqa xmmword [rsp + 0x20], xmm6
ror r13d, 0xe
movdqa xmm4, xmm0
mov r8d, r14d
mov r12d, ebx
movdqa xmm7, xmm2
ror r14d, 9
xor r13d, eax
xor r12d, ecx
ror r13d, 5
xor r14d, r8d
palignr xmm4, xmm3, 4
and r12d, eax
xor r13d, eax
palignr xmm7, xmm1, 4
add edx, dword [rsp + 0x30]
mov r15d, r8d
xor r12d, ecx
ror r14d, 0xb
movdqa xmm5, xmm4
xor r15d, r9d
add edx, r12d
movdqa xmm6, xmm4
ror r13d, 6
and edi, r15d
psrld xmm4, 3
xor r14d, r8d
add edx, r13d
xor edi, r9d
paddd xmm3, xmm7
ror r14d, 2
add r11d, edx
psrld xmm6, 7
add edx, edi
mov r13d, r11d
pshufd xmm7, xmm2, 0xfa
add r14d, edx
ror r13d, 0xe
pslld xmm5, 0xe
mov edx, r14d
mov r12d, eax
pxor xmm4, xmm6
ror r14d, 9
xor r13d, r11d
xor r12d, ebx
ror r13d, 5
psrld xmm6, 0xb
xor r14d, edx
pxor xmm4, xmm5
and r12d, r11d
xor r13d, r11d
pslld xmm5, 0xb
add ecx, dword [rsp + 0x34]
mov edi, edx
pxor xmm4, xmm6
xor r12d, ebx
ror r14d, 0xb
movdqa xmm6, xmm7
xor edi, r8d
add ecx, r12d
pxor xmm4, xmm5
ror r13d, 6
and r15d, edi
xor r14d, edx
psrld xmm7, 0xa
add ecx, r13d
xor r15d, r8d
paddd xmm3, xmm4
ror r14d, 2
add r10d, ecx
psrlq xmm6, 0x11
add ecx, r15d
mov r13d, r10d
add r14d, ecx
pxor xmm7, xmm6
ror r13d, 0xe
mov ecx, r14d
mov r12d, r11d
ror r14d, 9
psrlq xmm6, 2
xor r13d, r10d
xor r12d, eax
pxor xmm7, xmm6
ror r13d, 5
xor r14d, ecx
and r12d, r10d
pshufd xmm7, xmm7, 0x80
xor r13d, r10d
add ebx, dword [rsp + 0x38]
mov r15d, ecx
psrldq xmm7, 8
xor r12d, eax
ror r14d, 0xb
xor r15d, edx
add ebx, r12d
ror r13d, 6
paddd xmm3, xmm7
and edi, r15d
xor r14d, ecx
add ebx, r13d
pshufd xmm7, xmm3, 0x50
xor edi, edx
ror r14d, 2
add r9d, ebx
movdqa xmm6, xmm7
add ebx, edi
mov r13d, r9d
psrld xmm7, 0xa
add r14d, ebx
ror r13d, 0xe
psrlq xmm6, 0x11
mov ebx, r14d
mov r12d, r10d
pxor xmm7, xmm6
ror r14d, 9
xor r13d, r9d
xor r12d, r11d
ror r13d, 5
xor r14d, ebx
psrlq xmm6, 2
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x3c]
pxor xmm7, xmm6
mov edi, ebx
xor r12d, r11d
ror r14d, 0xb
pshufd xmm7, xmm7, 8
xor edi, ecx
add eax, r12d
movdqa xmm6, xmmword [rbp + 0x60]
ror r13d, 6
and r15d, edi
pslldq xmm7, 8
xor r14d, ebx
add eax, r13d
xor r15d, ecx
paddd xmm3, xmm7
ror r14d, 2
add r8d, eax
add eax, r15d
paddd xmm6, xmm3
mov r13d, r8d
add r14d, eax
movdqa xmmword [rsp + 0x30], xmm6
cmp byte [rbp + 0x83], 0
jne 0x180029e10
ror r13d, 0xe
mov eax, r14d
mov r12d, r9d
ror r14d, 9
xor r13d, r8d
xor r12d, r10d
ror r13d, 5
xor r14d, eax
and r12d, r8d
xor r13d, r8d
add r11d, dword [rsp]
mov r15d, eax
xor r12d, r10d
ror r14d, 0xb
xor r15d, ebx
add r11d, r12d
ror r13d, 6
and edi, r15d
xor r14d, eax
add r11d, r13d
xor edi, ebx
ror r14d, 2
add edx, r11d
add r11d, edi
mov r13d, edx
add r14d, r11d
ror r13d, 0xe
mov r11d, r14d
mov r12d, r8d
ror r14d, 9
xor r13d, edx
xor r12d, r9d
ror r13d, 5
xor r14d, r11d
and r12d, edx
xor r13d, edx
add r10d, dword [rsp + 4]
mov edi, r11d
xor r12d, r9d
ror r14d, 0xb
xor edi, eax
add r10d, r12d
ror r13d, 6
and r15d, edi
xor r14d, r11d
add r10d, r13d
xor r15d, eax
ror r14d, 2
add ecx, r10d
add r10d, r15d
mov r13d, ecx
add r14d, r10d
ror r13d, 0xe
mov r10d, r14d
mov r12d, edx
ror r14d, 9
xor r13d, ecx
xor r12d, r8d
ror r13d, 5
xor r14d, r10d
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 8]
mov r15d, r10d
xor r12d, r8d
ror r14d, 0xb
xor r15d, r11d
add r9d, r12d
ror r13d, 6
and edi, r15d
xor r14d, r10d
add r9d, r13d
xor edi, r11d
ror r14d, 2
add ebx, r9d
add r9d, edi
mov r13d, ebx
add r14d, r9d
ror r13d, 0xe
mov r9d, r14d
mov r12d, ecx
ror r14d, 9
xor r13d, ebx
xor r12d, edx
ror r13d, 5
xor r14d, r9d
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0xc]
mov edi, r9d
xor r12d, edx
ror r14d, 0xb
xor edi, r10d
add r8d, r12d
ror r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
ror r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
ror r13d, 0xe
mov r8d, r14d
mov r12d, ebx
ror r14d, 9
xor r13d, eax
xor r12d, ecx
ror r13d, 5
xor r14d, r8d
and r12d, eax
xor r13d, eax
add edx, dword [rsp + 0x10]
mov r15d, r8d
xor r12d, ecx
ror r14d, 0xb
xor r15d, r9d
add edx, r12d
ror r13d, 6
and edi, r15d
xor r14d, r8d
add edx, r13d
xor edi, r9d
ror r14d, 2
add r11d, edx
add edx, edi
mov r13d, r11d
add r14d, edx
ror r13d, 0xe
mov edx, r14d
mov r12d, eax
ror r14d, 9
xor r13d, r11d
xor r12d, ebx
ror r13d, 5
xor r14d, edx
and r12d, r11d
xor r13d, r11d
add ecx, dword [rsp + 0x14]
mov edi, edx
xor r12d, ebx
ror r14d, 0xb
xor edi, r8d
add ecx, r12d
ror r13d, 6
and r15d, edi
xor r14d, edx
add ecx, r13d
xor r15d, r8d
ror r14d, 2
add r10d, ecx
add ecx, r15d
mov r13d, r10d
add r14d, ecx
ror r13d, 0xe
mov ecx, r14d
mov r12d, r11d
ror r14d, 9
xor r13d, r10d
xor r12d, eax
ror r13d, 5
xor r14d, ecx
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x18]
mov r15d, ecx
xor r12d, eax
ror r14d, 0xb
xor r15d, edx
add ebx, r12d
ror r13d, 6
and edi, r15d
xor r14d, ecx
add ebx, r13d
xor edi, edx
ror r14d, 2
add r9d, ebx
add ebx, edi
mov r13d, r9d
add r14d, ebx
ror r13d, 0xe
mov ebx, r14d
mov r12d, r10d
ror r14d, 9
xor r13d, r9d
xor r12d, r11d
ror r13d, 5
xor r14d, ebx
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x1c]
mov edi, ebx
xor r12d, r11d
ror r14d, 0xb
xor edi, ecx
add eax, r12d
ror r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
ror r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
ror r13d, 0xe
mov eax, r14d
mov r12d, r9d
ror r14d, 9
xor r13d, r8d
xor r12d, r10d
ror r13d, 5
xor r14d, eax
and r12d, r8d
xor r13d, r8d
add r11d, dword [rsp + 0x20]
mov r15d, eax
xor r12d, r10d
ror r14d, 0xb
xor r15d, ebx
add r11d, r12d
ror r13d, 6
and edi, r15d
xor r14d, eax
add r11d, r13d
xor edi, ebx
ror r14d, 2
add edx, r11d
add r11d, edi
mov r13d, edx
add r14d, r11d
ror r13d, 0xe
mov r11d, r14d
mov r12d, r8d
ror r14d, 9
xor r13d, edx
xor r12d, r9d
ror r13d, 5
xor r14d, r11d
and r12d, edx
xor r13d, edx
add r10d, dword [rsp + 0x24]
mov edi, r11d
xor r12d, r9d
ror r14d, 0xb
xor edi, eax
add r10d, r12d
ror r13d, 6
and r15d, edi
xor r14d, r11d
add r10d, r13d
xor r15d, eax
ror r14d, 2
add ecx, r10d
add r10d, r15d
mov r13d, ecx
add r14d, r10d
ror r13d, 0xe
mov r10d, r14d
mov r12d, edx
ror r14d, 9
xor r13d, ecx
xor r12d, r8d
ror r13d, 5
xor r14d, r10d
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 0x28]
mov r15d, r10d
xor r12d, r8d
ror r14d, 0xb
xor r15d, r11d
add r9d, r12d
ror r13d, 6
and edi, r15d
xor r14d, r10d
add r9d, r13d
xor edi, r11d
ror r14d, 2
add ebx, r9d
add r9d, edi
mov r13d, ebx
add r14d, r9d
ror r13d, 0xe
mov r9d, r14d
mov r12d, ecx
ror r14d, 9
xor r13d, ebx
xor r12d, edx
ror r13d, 5
xor r14d, r9d
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0x2c]
mov edi, r9d
xor r12d, edx
ror r14d, 0xb
xor edi, r10d
add r8d, r12d
ror r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
ror r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
ror r13d, 0xe
mov r8d, r14d
mov r12d, ebx
ror r14d, 9
xor r13d, eax
xor r12d, ecx
ror r13d, 5
xor r14d, r8d
and r12d, eax
xor r13d, eax
add edx, dword [rsp + 0x30]
mov r15d, r8d
xor r12d, ecx
ror r14d, 0xb
xor r15d, r9d
add edx, r12d
ror r13d, 6
and edi, r15d
xor r14d, r8d
add edx, r13d
xor edi, r9d
ror r14d, 2
add r11d, edx
add edx, edi
mov r13d, r11d
add r14d, edx
ror r13d, 0xe
mov edx, r14d
mov r12d, eax
ror r14d, 9
xor r13d, r11d
xor r12d, ebx
ror r13d, 5
xor r14d, edx
and r12d, r11d
xor r13d, r11d
add ecx, dword [rsp + 0x34]
mov edi, edx
xor r12d, ebx
ror r14d, 0xb
xor edi, r8d
add ecx, r12d
ror r13d, 6
and r15d, edi
xor r14d, edx
add ecx, r13d
xor r15d, r8d
ror r14d, 2
add r10d, ecx
add ecx, r15d
mov r13d, r10d
add r14d, ecx
ror r13d, 0xe
mov ecx, r14d
mov r12d, r11d
ror r14d, 9
xor r13d, r10d
xor r12d, eax
ror r13d, 5
xor r14d, ecx
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x38]
mov r15d, ecx
xor r12d, eax
ror r14d, 0xb
xor r15d, edx
add ebx, r12d
ror r13d, 6
and edi, r15d
xor r14d, ecx
add ebx, r13d
xor edi, edx
ror r14d, 2
add r9d, ebx
add ebx, edi
mov r13d, r9d
add r14d, ebx
ror r13d, 0xe
mov ebx, r14d
mov r12d, r10d
ror r14d, 9
xor r13d, r9d
xor r12d, r11d
ror r13d, 5
xor r14d, ebx
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x3c]
mov edi, ebx
xor r12d, r11d
ror r14d, 0xb
xor edi, ecx
add eax, r12d
ror r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
ror r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
mov rdi, qword [rsp + 0x40]
mov eax, r14d
add eax, dword [rdi]
lea rsi, [rsi + 0x40]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
add r10d, dword [rdi + 0x18]
add r11d, dword [rdi + 0x1c]
cmp rsi, qword [rsp + 0x50]
mov dword [rdi], eax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
jb 0x180029d90
mov rsi, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
push rbx
push rbp
push r12
push r13
push r14
push r15
mov r11, rsp
shl rdx, 4
sub rsp, 0xa0
lea rdx, [rsi + rdx*4]
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r11
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
vzeroupper
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov r10d, dword [rdi + 0x18]
mov r11d, dword [rdi + 0x1c]
vmovdqa xmm8, xmmword [0x1800298a0]
vmovdqa xmm9, xmmword [0x1800298c0]
jmp 0x18002ace0
vmovdqa xmm7, xmmword [0x180029880]
vmovdqu xmm0, xmmword [rsi]
vmovdqu xmm1, xmmword [rsi + 0x10]
vmovdqu xmm2, xmmword [rsi + 0x20]
vmovdqu xmm3, xmmword [rsi + 0x30]
vpshufb xmm0, xmm0, xmm7
lea rbp, [0x180029680]
vpshufb xmm1, xmm1, xmm7
vpshufb xmm2, xmm2, xmm7
vpaddd xmm4, xmm0, xmmword [rbp]
vpshufb xmm3, xmm3, xmm7
vpaddd xmm5, xmm1, xmmword [rbp + 0x20]
vpaddd xmm6, xmm2, xmmword [rbp + 0x40]
vpaddd xmm7, xmm3, xmmword [rbp + 0x60]
vmovdqa xmmword [rsp], xmm4
mov r14d, eax
vmovdqa xmmword [rsp + 0x10], xmm5
mov edi, ebx
vmovdqa xmmword [rsp + 0x20], xmm6
xor edi, ecx
vmovdqa xmmword [rsp + 0x30], xmm7
mov r13d, r8d
jmp 0x18002ad50
sub rbp, 0xffffffffffffff80
vpalignr xmm4, xmm1, xmm0, 4
shrd r13d, r13d, 0xe
mov eax, r14d
mov r12d, r9d
vpalignr xmm7, xmm3, xmm2, 4
shrd r14d, r14d, 9
xor r13d, r8d
xor r12d, r10d
vpsrld xmm6, xmm4, 7
shrd r13d, r13d, 5
xor r14d, eax
and r12d, r8d
vpaddd xmm0, xmm0, xmm7
xor r13d, r8d
add r11d, dword [rsp]
mov r15d, eax
vpsrld xmm7, xmm4, 3
xor r12d, r10d
shrd r14d, r14d, 0xb
xor r15d, ebx
vpslld xmm5, xmm4, 0xe
add r11d, r12d
shrd r13d, r13d, 6
and edi, r15d
vpxor xmm4, xmm7, xmm6
xor r14d, eax
add r11d, r13d
xor edi, ebx
vpshufd xmm7, xmm3, 0xfa
shrd r14d, r14d, 2
add edx, r11d
add r11d, edi
vpsrld xmm6, xmm6, 0xb
mov r13d, edx
add r14d, r11d
shrd r13d, r13d, 0xe
vpxor xmm4, xmm4, xmm5
mov r11d, r14d
mov r12d, r8d
shrd r14d, r14d, 9
vpslld xmm5, xmm5, 0xb
xor r13d, edx
xor r12d, r9d
shrd r13d, r13d, 5
vpxor xmm4, xmm4, xmm6
xor r14d, r11d
and r12d, edx
xor r13d, edx
vpsrld xmm6, xmm7, 0xa
add r10d, dword [rsp + 4]
mov edi, r11d
xor r12d, r9d
vpxor xmm4, xmm4, xmm5
shrd r14d, r14d, 0xb
xor edi, eax
add r10d, r12d
vpsrlq xmm7, xmm7, 0x11
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r11d
vpaddd xmm0, xmm0, xmm4
add r10d, r13d
xor r15d, eax
shrd r14d, r14d, 2
vpxor xmm6, xmm6, xmm7
add ecx, r10d
add r10d, r15d
mov r13d, ecx
vpsrlq xmm7, xmm7, 2
add r14d, r10d
shrd r13d, r13d, 0xe
mov r10d, r14d
vpxor xmm6, xmm6, xmm7
mov r12d, edx
shrd r14d, r14d, 9
xor r13d, ecx
vpshufb xmm6, xmm6, xmm8
xor r12d, r8d
shrd r13d, r13d, 5
xor r14d, r10d
vpaddd xmm0, xmm0, xmm6
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 8]
vpshufd xmm7, xmm0, 0x50
mov r15d, r10d
xor r12d, r8d
shrd r14d, r14d, 0xb
vpsrld xmm6, xmm7, 0xa
xor r15d, r11d
add r9d, r12d
shrd r13d, r13d, 6
vpsrlq xmm7, xmm7, 0x11
and edi, r15d
xor r14d, r10d
add r9d, r13d
vpxor xmm6, xmm6, xmm7
xor edi, r11d
shrd r14d, r14d, 2
add ebx, r9d
vpsrlq xmm7, xmm7, 2
add r9d, edi
mov r13d, ebx
add r14d, r9d
vpxor xmm6, xmm6, xmm7
shrd r13d, r13d, 0xe
mov r9d, r14d
mov r12d, ecx
vpshufb xmm6, xmm6, xmm9
shrd r14d, r14d, 9
xor r13d, ebx
xor r12d, edx
vpaddd xmm0, xmm0, xmm6
shrd r13d, r13d, 5
xor r14d, r9d
and r12d, ebx
vpaddd xmm6, xmm0, xmmword [rbp]
xor r13d, ebx
add r8d, dword [rsp + 0xc]
mov edi, r9d
xor r12d, edx
shrd r14d, r14d, 0xb
xor edi, r10d
add r8d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
shrd r14d, r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
vmovdqa xmmword [rsp], xmm6
vpalignr xmm4, xmm2, xmm1, 4
shrd r13d, r13d, 0xe
mov r8d, r14d
mov r12d, ebx
vpalignr xmm7, xmm0, xmm3, 4
shrd r14d, r14d, 9
xor r13d, eax
xor r12d, ecx
vpsrld xmm6, xmm4, 7
shrd r13d, r13d, 5
xor r14d, r8d
and r12d, eax
vpaddd xmm1, xmm1, xmm7
xor r13d, eax
add edx, dword [rsp + 0x10]
mov r15d, r8d
vpsrld xmm7, xmm4, 3
xor r12d, ecx
shrd r14d, r14d, 0xb
xor r15d, r9d
vpslld xmm5, xmm4, 0xe
add edx, r12d
shrd r13d, r13d, 6
and edi, r15d
vpxor xmm4, xmm7, xmm6
xor r14d, r8d
add edx, r13d
xor edi, r9d
vpshufd xmm7, xmm0, 0xfa
shrd r14d, r14d, 2
add r11d, edx
add edx, edi
vpsrld xmm6, xmm6, 0xb
mov r13d, r11d
add r14d, edx
shrd r13d, r13d, 0xe
vpxor xmm4, xmm4, xmm5
mov edx, r14d
mov r12d, eax
shrd r14d, r14d, 9
vpslld xmm5, xmm5, 0xb
xor r13d, r11d
xor r12d, ebx
shrd r13d, r13d, 5
vpxor xmm4, xmm4, xmm6
xor r14d, edx
and r12d, r11d
xor r13d, r11d
vpsrld xmm6, xmm7, 0xa
add ecx, dword [rsp + 0x14]
mov edi, edx
xor r12d, ebx
vpxor xmm4, xmm4, xmm5
shrd r14d, r14d, 0xb
xor edi, r8d
add ecx, r12d
vpsrlq xmm7, xmm7, 0x11
shrd r13d, r13d, 6
and r15d, edi
xor r14d, edx
vpaddd xmm1, xmm1, xmm4
add ecx, r13d
xor r15d, r8d
shrd r14d, r14d, 2
vpxor xmm6, xmm6, xmm7
add r10d, ecx
add ecx, r15d
mov r13d, r10d
vpsrlq xmm7, xmm7, 2
add r14d, ecx
shrd r13d, r13d, 0xe
mov ecx, r14d
vpxor xmm6, xmm6, xmm7
mov r12d, r11d
shrd r14d, r14d, 9
xor r13d, r10d
vpshufb xmm6, xmm6, xmm8
xor r12d, eax
shrd r13d, r13d, 5
xor r14d, ecx
vpaddd xmm1, xmm1, xmm6
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x18]
vpshufd xmm7, xmm1, 0x50
mov r15d, ecx
xor r12d, eax
shrd r14d, r14d, 0xb
vpsrld xmm6, xmm7, 0xa
xor r15d, edx
add ebx, r12d
shrd r13d, r13d, 6
vpsrlq xmm7, xmm7, 0x11
and edi, r15d
xor r14d, ecx
add ebx, r13d
vpxor xmm6, xmm6, xmm7
xor edi, edx
shrd r14d, r14d, 2
add r9d, ebx
vpsrlq xmm7, xmm7, 2
add ebx, edi
mov r13d, r9d
add r14d, ebx
vpxor xmm6, xmm6, xmm7
shrd r13d, r13d, 0xe
mov ebx, r14d
mov r12d, r10d
vpshufb xmm6, xmm6, xmm9
shrd r14d, r14d, 9
xor r13d, r9d
xor r12d, r11d
vpaddd xmm1, xmm1, xmm6
shrd r13d, r13d, 5
xor r14d, ebx
and r12d, r9d
vpaddd xmm6, xmm1, xmmword [rbp + 0x20]
xor r13d, r9d
add eax, dword [rsp + 0x1c]
mov edi, ebx
xor r12d, r11d
shrd r14d, r14d, 0xb
xor edi, ecx
add eax, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
shrd r14d, r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
vmovdqa xmmword [rsp + 0x10], xmm6
vpalignr xmm4, xmm3, xmm2, 4
shrd r13d, r13d, 0xe
mov eax, r14d
mov r12d, r9d
vpalignr xmm7, xmm1, xmm0, 4
shrd r14d, r14d, 9
xor r13d, r8d
xor r12d, r10d
vpsrld xmm6, xmm4, 7
shrd r13d, r13d, 5
xor r14d, eax
and r12d, r8d
vpaddd xmm2, xmm2, xmm7
xor r13d, r8d
add r11d, dword [rsp + 0x20]
mov r15d, eax
vpsrld xmm7, xmm4, 3
xor r12d, r10d
shrd r14d, r14d, 0xb
xor r15d, ebx
vpslld xmm5, xmm4, 0xe
add r11d, r12d
shrd r13d, r13d, 6
and edi, r15d
vpxor xmm4, xmm7, xmm6
xor r14d, eax
add r11d, r13d
xor edi, ebx
vpshufd xmm7, xmm1, 0xfa
shrd r14d, r14d, 2
add edx, r11d
add r11d, edi
vpsrld xmm6, xmm6, 0xb
mov r13d, edx
add r14d, r11d
shrd r13d, r13d, 0xe
vpxor xmm4, xmm4, xmm5
mov r11d, r14d
mov r12d, r8d
shrd r14d, r14d, 9
vpslld xmm5, xmm5, 0xb
xor r13d, edx
xor r12d, r9d
shrd r13d, r13d, 5
vpxor xmm4, xmm4, xmm6
xor r14d, r11d
and r12d, edx
xor r13d, edx
vpsrld xmm6, xmm7, 0xa
add r10d, dword [rsp + 0x24]
mov edi, r11d
xor r12d, r9d
vpxor xmm4, xmm4, xmm5
shrd r14d, r14d, 0xb
xor edi, eax
add r10d, r12d
vpsrlq xmm7, xmm7, 0x11
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r11d
vpaddd xmm2, xmm2, xmm4
add r10d, r13d
xor r15d, eax
shrd r14d, r14d, 2
vpxor xmm6, xmm6, xmm7
add ecx, r10d
add r10d, r15d
mov r13d, ecx
vpsrlq xmm7, xmm7, 2
add r14d, r10d
shrd r13d, r13d, 0xe
mov r10d, r14d
vpxor xmm6, xmm6, xmm7
mov r12d, edx
shrd r14d, r14d, 9
xor r13d, ecx
vpshufb xmm6, xmm6, xmm8
xor r12d, r8d
shrd r13d, r13d, 5
xor r14d, r10d
vpaddd xmm2, xmm2, xmm6
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 0x28]
vpshufd xmm7, xmm2, 0x50
mov r15d, r10d
xor r12d, r8d
shrd r14d, r14d, 0xb
vpsrld xmm6, xmm7, 0xa
xor r15d, r11d
add r9d, r12d
shrd r13d, r13d, 6
vpsrlq xmm7, xmm7, 0x11
and edi, r15d
xor r14d, r10d
add r9d, r13d
vpxor xmm6, xmm6, xmm7
xor edi, r11d
shrd r14d, r14d, 2
add ebx, r9d
vpsrlq xmm7, xmm7, 2
add r9d, edi
mov r13d, ebx
add r14d, r9d
vpxor xmm6, xmm6, xmm7
shrd r13d, r13d, 0xe
mov r9d, r14d
mov r12d, ecx
vpshufb xmm6, xmm6, xmm9
shrd r14d, r14d, 9
xor r13d, ebx
xor r12d, edx
vpaddd xmm2, xmm2, xmm6
shrd r13d, r13d, 5
xor r14d, r9d
and r12d, ebx
vpaddd xmm6, xmm2, xmmword [rbp + 0x40]
xor r13d, ebx
add r8d, dword [rsp + 0x2c]
mov edi, r9d
xor r12d, edx
shrd r14d, r14d, 0xb
xor edi, r10d
add r8d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
shrd r14d, r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
vmovdqa xmmword [rsp + 0x20], xmm6
vpalignr xmm4, xmm0, xmm3, 4
shrd r13d, r13d, 0xe
mov r8d, r14d
mov r12d, ebx
vpalignr xmm7, xmm2, xmm1, 4
shrd r14d, r14d, 9
xor r13d, eax
xor r12d, ecx
vpsrld xmm6, xmm4, 7
shrd r13d, r13d, 5
xor r14d, r8d
and r12d, eax
vpaddd xmm3, xmm3, xmm7
xor r13d, eax
add edx, dword [rsp + 0x30]
mov r15d, r8d
vpsrld xmm7, xmm4, 3
xor r12d, ecx
shrd r14d, r14d, 0xb
xor r15d, r9d
vpslld xmm5, xmm4, 0xe
add edx, r12d
shrd r13d, r13d, 6
and edi, r15d
vpxor xmm4, xmm7, xmm6
xor r14d, r8d
add edx, r13d
xor edi, r9d
vpshufd xmm7, xmm2, 0xfa
shrd r14d, r14d, 2
add r11d, edx
add edx, edi
vpsrld xmm6, xmm6, 0xb
mov r13d, r11d
add r14d, edx
shrd r13d, r13d, 0xe
vpxor xmm4, xmm4, xmm5
mov edx, r14d
mov r12d, eax
shrd r14d, r14d, 9
vpslld xmm5, xmm5, 0xb
xor r13d, r11d
xor r12d, ebx
shrd r13d, r13d, 5
vpxor xmm4, xmm4, xmm6
xor r14d, edx
and r12d, r11d
xor r13d, r11d
vpsrld xmm6, xmm7, 0xa
add ecx, dword [rsp + 0x34]
mov edi, edx
xor r12d, ebx
vpxor xmm4, xmm4, xmm5
shrd r14d, r14d, 0xb
xor edi, r8d
add ecx, r12d
vpsrlq xmm7, xmm7, 0x11
shrd r13d, r13d, 6
and r15d, edi
xor r14d, edx
vpaddd xmm3, xmm3, xmm4
add ecx, r13d
xor r15d, r8d
shrd r14d, r14d, 2
vpxor xmm6, xmm6, xmm7
add r10d, ecx
add ecx, r15d
mov r13d, r10d
vpsrlq xmm7, xmm7, 2
add r14d, ecx
shrd r13d, r13d, 0xe
mov ecx, r14d
vpxor xmm6, xmm6, xmm7
mov r12d, r11d
shrd r14d, r14d, 9
xor r13d, r10d
vpshufb xmm6, xmm6, xmm8
xor r12d, eax
shrd r13d, r13d, 5
xor r14d, ecx
vpaddd xmm3, xmm3, xmm6
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x38]
vpshufd xmm7, xmm3, 0x50
mov r15d, ecx
xor r12d, eax
shrd r14d, r14d, 0xb
vpsrld xmm6, xmm7, 0xa
xor r15d, edx
add ebx, r12d
shrd r13d, r13d, 6
vpsrlq xmm7, xmm7, 0x11
and edi, r15d
xor r14d, ecx
add ebx, r13d
vpxor xmm6, xmm6, xmm7
xor edi, edx
shrd r14d, r14d, 2
add r9d, ebx
vpsrlq xmm7, xmm7, 2
add ebx, edi
mov r13d, r9d
add r14d, ebx
vpxor xmm6, xmm6, xmm7
shrd r13d, r13d, 0xe
mov ebx, r14d
mov r12d, r10d
vpshufb xmm6, xmm6, xmm9
shrd r14d, r14d, 9
xor r13d, r9d
xor r12d, r11d
vpaddd xmm3, xmm3, xmm6
shrd r13d, r13d, 5
xor r14d, ebx
and r12d, r9d
vpaddd xmm6, xmm3, xmmword [rbp + 0x60]
xor r13d, r9d
add eax, dword [rsp + 0x3c]
mov edi, ebx
xor r12d, r11d
shrd r14d, r14d, 0xb
xor edi, ecx
add eax, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
shrd r14d, r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
vmovdqa xmmword [rsp + 0x30], xmm6
cmp byte [rbp + 0x83], 0
jne 0x18002ad50
shrd r13d, r13d, 0xe
mov eax, r14d
mov r12d, r9d
shrd r14d, r14d, 9
xor r13d, r8d
xor r12d, r10d
shrd r13d, r13d, 5
xor r14d, eax
and r12d, r8d
xor r13d, r8d
add r11d, dword [rsp]
mov r15d, eax
xor r12d, r10d
shrd r14d, r14d, 0xb
xor r15d, ebx
add r11d, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, eax
add r11d, r13d
xor edi, ebx
shrd r14d, r14d, 2
add edx, r11d
add r11d, edi
mov r13d, edx
add r14d, r11d
shrd r13d, r13d, 0xe
mov r11d, r14d
mov r12d, r8d
shrd r14d, r14d, 9
xor r13d, edx
xor r12d, r9d
shrd r13d, r13d, 5
xor r14d, r11d
and r12d, edx
xor r13d, edx
add r10d, dword [rsp + 4]
mov edi, r11d
xor r12d, r9d
shrd r14d, r14d, 0xb
xor edi, eax
add r10d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r11d
add r10d, r13d
xor r15d, eax
shrd r14d, r14d, 2
add ecx, r10d
add r10d, r15d
mov r13d, ecx
add r14d, r10d
shrd r13d, r13d, 0xe
mov r10d, r14d
mov r12d, edx
shrd r14d, r14d, 9
xor r13d, ecx
xor r12d, r8d
shrd r13d, r13d, 5
xor r14d, r10d
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 8]
mov r15d, r10d
xor r12d, r8d
shrd r14d, r14d, 0xb
xor r15d, r11d
add r9d, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, r10d
add r9d, r13d
xor edi, r11d
shrd r14d, r14d, 2
add ebx, r9d
add r9d, edi
mov r13d, ebx
add r14d, r9d
shrd r13d, r13d, 0xe
mov r9d, r14d
mov r12d, ecx
shrd r14d, r14d, 9
xor r13d, ebx
xor r12d, edx
shrd r13d, r13d, 5
xor r14d, r9d
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0xc]
mov edi, r9d
xor r12d, edx
shrd r14d, r14d, 0xb
xor edi, r10d
add r8d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
shrd r14d, r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
shrd r13d, r13d, 0xe
mov r8d, r14d
mov r12d, ebx
shrd r14d, r14d, 9
xor r13d, eax
xor r12d, ecx
shrd r13d, r13d, 5
xor r14d, r8d
and r12d, eax
xor r13d, eax
add edx, dword [rsp + 0x10]
mov r15d, r8d
xor r12d, ecx
shrd r14d, r14d, 0xb
xor r15d, r9d
add edx, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, r8d
add edx, r13d
xor edi, r9d
shrd r14d, r14d, 2
add r11d, edx
add edx, edi
mov r13d, r11d
add r14d, edx
shrd r13d, r13d, 0xe
mov edx, r14d
mov r12d, eax
shrd r14d, r14d, 9
xor r13d, r11d
xor r12d, ebx
shrd r13d, r13d, 5
xor r14d, edx
and r12d, r11d
xor r13d, r11d
add ecx, dword [rsp + 0x14]
mov edi, edx
xor r12d, ebx
shrd r14d, r14d, 0xb
xor edi, r8d
add ecx, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, edx
add ecx, r13d
xor r15d, r8d
shrd r14d, r14d, 2
add r10d, ecx
add ecx, r15d
mov r13d, r10d
add r14d, ecx
shrd r13d, r13d, 0xe
mov ecx, r14d
mov r12d, r11d
shrd r14d, r14d, 9
xor r13d, r10d
xor r12d, eax
shrd r13d, r13d, 5
xor r14d, ecx
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x18]
mov r15d, ecx
xor r12d, eax
shrd r14d, r14d, 0xb
xor r15d, edx
add ebx, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, ecx
add ebx, r13d
xor edi, edx
shrd r14d, r14d, 2
add r9d, ebx
add ebx, edi
mov r13d, r9d
add r14d, ebx
shrd r13d, r13d, 0xe
mov ebx, r14d
mov r12d, r10d
shrd r14d, r14d, 9
xor r13d, r9d
xor r12d, r11d
shrd r13d, r13d, 5
xor r14d, ebx
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x1c]
mov edi, ebx
xor r12d, r11d
shrd r14d, r14d, 0xb
xor edi, ecx
add eax, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
shrd r14d, r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
shrd r13d, r13d, 0xe
mov eax, r14d
mov r12d, r9d
shrd r14d, r14d, 9
xor r13d, r8d
xor r12d, r10d
shrd r13d, r13d, 5
xor r14d, eax
and r12d, r8d
xor r13d, r8d
add r11d, dword [rsp + 0x20]
mov r15d, eax
xor r12d, r10d
shrd r14d, r14d, 0xb
xor r15d, ebx
add r11d, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, eax
add r11d, r13d
xor edi, ebx
shrd r14d, r14d, 2
add edx, r11d
add r11d, edi
mov r13d, edx
add r14d, r11d
shrd r13d, r13d, 0xe
mov r11d, r14d
mov r12d, r8d
shrd r14d, r14d, 9
xor r13d, edx
xor r12d, r9d
shrd r13d, r13d, 5
xor r14d, r11d
and r12d, edx
xor r13d, edx
add r10d, dword [rsp + 0x24]
mov edi, r11d
xor r12d, r9d
shrd r14d, r14d, 0xb
xor edi, eax
add r10d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r11d
add r10d, r13d
xor r15d, eax
shrd r14d, r14d, 2
add ecx, r10d
add r10d, r15d
mov r13d, ecx
add r14d, r10d
shrd r13d, r13d, 0xe
mov r10d, r14d
mov r12d, edx
shrd r14d, r14d, 9
xor r13d, ecx
xor r12d, r8d
shrd r13d, r13d, 5
xor r14d, r10d
and r12d, ecx
xor r13d, ecx
add r9d, dword [rsp + 0x28]
mov r15d, r10d
xor r12d, r8d
shrd r14d, r14d, 0xb
xor r15d, r11d
add r9d, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, r10d
add r9d, r13d
xor edi, r11d
shrd r14d, r14d, 2
add ebx, r9d
add r9d, edi
mov r13d, ebx
add r14d, r9d
shrd r13d, r13d, 0xe
mov r9d, r14d
mov r12d, ecx
shrd r14d, r14d, 9
xor r13d, ebx
xor r12d, edx
shrd r13d, r13d, 5
xor r14d, r9d
and r12d, ebx
xor r13d, ebx
add r8d, dword [rsp + 0x2c]
mov edi, r9d
xor r12d, edx
shrd r14d, r14d, 0xb
xor edi, r10d
add r8d, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, r9d
add r8d, r13d
xor r15d, r10d
shrd r14d, r14d, 2
add eax, r8d
add r8d, r15d
mov r13d, eax
add r14d, r8d
shrd r13d, r13d, 0xe
mov r8d, r14d
mov r12d, ebx
shrd r14d, r14d, 9
xor r13d, eax
xor r12d, ecx
shrd r13d, r13d, 5
xor r14d, r8d
and r12d, eax
xor r13d, eax
add edx, dword [rsp + 0x30]
mov r15d, r8d
xor r12d, ecx
shrd r14d, r14d, 0xb
xor r15d, r9d
add edx, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, r8d
add edx, r13d
xor edi, r9d
shrd r14d, r14d, 2
add r11d, edx
add edx, edi
mov r13d, r11d
add r14d, edx
shrd r13d, r13d, 0xe
mov edx, r14d
mov r12d, eax
shrd r14d, r14d, 9
xor r13d, r11d
xor r12d, ebx
shrd r13d, r13d, 5
xor r14d, edx
and r12d, r11d
xor r13d, r11d
add ecx, dword [rsp + 0x34]
mov edi, edx
xor r12d, ebx
shrd r14d, r14d, 0xb
xor edi, r8d
add ecx, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, edx
add ecx, r13d
xor r15d, r8d
shrd r14d, r14d, 2
add r10d, ecx
add ecx, r15d
mov r13d, r10d
add r14d, ecx
shrd r13d, r13d, 0xe
mov ecx, r14d
mov r12d, r11d
shrd r14d, r14d, 9
xor r13d, r10d
xor r12d, eax
shrd r13d, r13d, 5
xor r14d, ecx
and r12d, r10d
xor r13d, r10d
add ebx, dword [rsp + 0x38]
mov r15d, ecx
xor r12d, eax
shrd r14d, r14d, 0xb
xor r15d, edx
add ebx, r12d
shrd r13d, r13d, 6
and edi, r15d
xor r14d, ecx
add ebx, r13d
xor edi, edx
shrd r14d, r14d, 2
add r9d, ebx
add ebx, edi
mov r13d, r9d
add r14d, ebx
shrd r13d, r13d, 0xe
mov ebx, r14d
mov r12d, r10d
shrd r14d, r14d, 9
xor r13d, r9d
xor r12d, r11d
shrd r13d, r13d, 5
xor r14d, ebx
and r12d, r9d
xor r13d, r9d
add eax, dword [rsp + 0x3c]
mov edi, ebx
xor r12d, r11d
shrd r14d, r14d, 0xb
xor edi, ecx
add eax, r12d
shrd r13d, r13d, 6
and r15d, edi
xor r14d, ebx
add eax, r13d
xor r15d, ecx
shrd r14d, r14d, 2
add r8d, eax
add eax, r15d
mov r13d, r8d
add r14d, eax
mov rdi, qword [rsp + 0x40]
mov eax, r14d
add eax, dword [rdi]
lea rsi, [rsi + 0x40]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
add r10d, dword [rdi + 0x18]
add r11d, dword [rdi + 0x1c]
cmp rsi, qword [rsp + 0x50]
mov dword [rdi], eax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
jb 0x18002ace0
mov rsi, qword [rsp + 0x58]
vzeroupper
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret
push rbx
push rbp
push r12
push r13
push r14
push r15
mov r11, rsp
sub rsp, 0x260
shl rdx, 4
and rsp, 0xfffffffffffffc00
lea rdx, [rsi + rdx*4]
add rsp, 0x1c0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r11
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
vzeroupper
sub rsi, 0xffffffffffffffc0
mov eax, dword [rdi]
mov r12, rsi
mov ebx, dword [rdi + 4]
cmp rsi, rdx
mov ecx, dword [rdi + 8]
cmove r12, rsp
mov edx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov r10d, dword [rdi + 0x18]
mov r11d, dword [rdi + 0x1c]
vmovdqa ymm8, ymmword [0x1800298a0]
vmovdqa ymm9, ymmword [0x1800298c0]
jmp 0x18002bc70
vmovdqa ymm7, ymmword [0x180029880]
vmovdqu xmm0, xmmword [rsi - 0x40]
vmovdqu xmm1, xmmword [rsi - 0x30]
vmovdqu xmm2, xmmword [rsi - 0x20]
vmovdqu xmm3, xmmword [rsi - 0x10]
vinserti128 ymm0, ymm0, xmmword [r12], 1
vinserti128 ymm1, ymm1, xmmword [r12 + 0x10], 1
vpshufb ymm0, ymm0, ymm7
vinserti128 ymm2, ymm2, xmmword [r12 + 0x20], 1
vpshufb ymm1, ymm1, ymm7
vinserti128 ymm3, ymm3, xmmword [r12 + 0x30], 1
lea rbp, [0x180029680]
vpshufb ymm2, ymm2, ymm7
vpaddd ymm4, ymm0, ymmword [rbp]
vpshufb ymm3, ymm3, ymm7
vpaddd ymm5, ymm1, ymmword [rbp + 0x20]
vpaddd ymm6, ymm2, ymmword [rbp + 0x40]
vpaddd ymm7, ymm3, ymmword [rbp + 0x60]
vmovdqa ymmword [rsp], ymm4
xor r14d, r14d
vmovdqa ymmword [rsp + 0x20], ymm5
lea rsp, [rsp - 0x40]
mov edi, ebx
vmovdqa ymmword [rsp], ymm6
xor edi, ecx
vmovdqa ymmword [rsp + 0x20], ymm7
mov r12d, r9d
sub rbp, 0xffffffffffffff80
jmp 0x18002bd10
lea rsp, [rsp - 0x40]
vpalignr ymm4, ymm1, ymm0, 4
add r11d, dword [rsp + 0x80]
and r12d, r8d
rorx r13d, r8d, 0x19
vpalignr ymm7, ymm3, ymm2, 4
rorx r15d, r8d, 0xb
lea eax, [rax + r14]
lea r11d, [r11 + r12]
vpsrld ymm6, ymm4, 7
andn r12d, r8d, r10d
xor r13d, r15d
rorx r14d, r8d, 6
vpaddd ymm0, ymm0, ymm7
lea r11d, [r11 + r12]
xor r13d, r14d
mov r15d, eax
vpsrld ymm7, ymm4, 3
rorx r12d, eax, 0x16
lea r11d, [r11 + r13]
xor r15d, ebx
vpslld ymm5, ymm4, 0xe
rorx r14d, eax, 0xd
rorx r13d, eax, 2
lea edx, [rdx + r11]
vpxor ymm4, ymm7, ymm6
and edi, r15d
xor r14d, r12d
xor edi, ebx
vpshufd ymm7, ymm3, 0xfa
xor r14d, r13d
lea r11d, [r11 + rdi]
mov r12d, r8d
vpsrld ymm6, ymm6, 0xb
add r10d, dword [rsp + 0x84]
and r12d, edx
rorx r13d, edx, 0x19
vpxor ymm4, ymm4, ymm5
rorx edi, edx, 0xb
lea r11d, [r11 + r14]
lea r10d, [r10 + r12]
vpslld ymm5, ymm5, 0xb
andn r12d, edx, r9d
xor r13d, edi
rorx r14d, edx, 6
vpxor ymm4, ymm4, ymm6
lea r10d, [r10 + r12]
xor r13d, r14d
mov edi, r11d
vpsrld ymm6, ymm7, 0xa
rorx r12d, r11d, 0x16
lea r10d, [r10 + r13]
xor edi, eax
vpxor ymm4, ymm4, ymm5
rorx r14d, r11d, 0xd
rorx r13d, r11d, 2
lea ecx, [rcx + r10]
vpsrlq ymm7, ymm7, 0x11
and r15d, edi
xor r14d, r12d
xor r15d, eax
vpaddd ymm0, ymm0, ymm4
xor r14d, r13d
lea r10d, [r10 + r15]
mov r12d, edx
vpxor ymm6, ymm6, ymm7
add r9d, dword [rsp + 0x88]
and r12d, ecx
rorx r13d, ecx, 0x19
vpsrlq ymm7, ymm7, 2
rorx r15d, ecx, 0xb
lea r10d, [r10 + r14]
lea r9d, [r9 + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, ecx, r8d
xor r13d, r15d
rorx r14d, ecx, 6
vpshufb ymm6, ymm6, ymm8
lea r9d, [r9 + r12]
xor r13d, r14d
mov r15d, r10d
vpaddd ymm0, ymm0, ymm6
rorx r12d, r10d, 0x16
lea r9d, [r9 + r13]
xor r15d, r11d
vpshufd ymm7, ymm0, 0x50
rorx r14d, r10d, 0xd
rorx r13d, r10d, 2
lea ebx, [rbx + r9]
vpsrld ymm6, ymm7, 0xa
and edi, r15d
xor r14d, r12d
xor edi, r11d
vpsrlq ymm7, ymm7, 0x11
xor r14d, r13d
lea r9d, [r9 + rdi]
mov r12d, ecx
vpxor ymm6, ymm6, ymm7
add r8d, dword [rsp + 0x8c]
and r12d, ebx
rorx r13d, ebx, 0x19
vpsrlq ymm7, ymm7, 2
rorx edi, ebx, 0xb
lea r9d, [r9 + r14]
lea r8d, [r8 + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, ebx, edx
xor r13d, edi
rorx r14d, ebx, 6
vpshufb ymm6, ymm6, ymm9
lea r8d, [r8 + r12]
xor r13d, r14d
mov edi, r9d
vpaddd ymm0, ymm0, ymm6
rorx r12d, r9d, 0x16
lea r8d, [r8 + r13]
xor edi, r10d
vpaddd ymm6, ymm0, ymmword [rbp]
rorx r14d, r9d, 0xd
rorx r13d, r9d, 2
lea eax, [rax + r8]
and r15d, edi
xor r14d, r12d
xor r15d, r10d
xor r14d, r13d
lea r8d, [r8 + r15]
mov r12d, ebx
vmovdqa ymmword [rsp], ymm6
vpalignr ymm4, ymm2, ymm1, 4
add edx, dword [rsp + 0xa0]
and r12d, eax
rorx r13d, eax, 0x19
vpalignr ymm7, ymm0, ymm3, 4
rorx r15d, eax, 0xb
lea r8d, [r8 + r14]
lea edx, [rdx + r12]
vpsrld ymm6, ymm4, 7
andn r12d, eax, ecx
xor r13d, r15d
rorx r14d, eax, 6
vpaddd ymm1, ymm1, ymm7
lea edx, [rdx + r12]
xor r13d, r14d
mov r15d, r8d
vpsrld ymm7, ymm4, 3
rorx r12d, r8d, 0x16
lea edx, [rdx + r13]
xor r15d, r9d
vpslld ymm5, ymm4, 0xe
rorx r14d, r8d, 0xd
rorx r13d, r8d, 2
lea r11d, [r11 + rdx]
vpxor ymm4, ymm7, ymm6
and edi, r15d
xor r14d, r12d
xor edi, r9d
vpshufd ymm7, ymm0, 0xfa
xor r14d, r13d
lea edx, [rdx + rdi]
mov r12d, eax
vpsrld ymm6, ymm6, 0xb
add ecx, dword [rsp + 0xa4]
and r12d, r11d
rorx r13d, r11d, 0x19
vpxor ymm4, ymm4, ymm5
rorx edi, r11d, 0xb
lea edx, [rdx + r14]
lea ecx, [rcx + r12]
vpslld ymm5, ymm5, 0xb
andn r12d, r11d, ebx
xor r13d, edi
rorx r14d, r11d, 6
vpxor ymm4, ymm4, ymm6
lea ecx, [rcx + r12]
xor r13d, r14d
mov edi, edx
vpsrld ymm6, ymm7, 0xa
rorx r12d, edx, 0x16
lea ecx, [rcx + r13]
xor edi, r8d
vpxor ymm4, ymm4, ymm5
rorx r14d, edx, 0xd
rorx r13d, edx, 2
lea r10d, [r10 + rcx]
vpsrlq ymm7, ymm7, 0x11
and r15d, edi
xor r14d, r12d
xor r15d, r8d
vpaddd ymm1, ymm1, ymm4
xor r14d, r13d
lea ecx, [rcx + r15]
mov r12d, r11d
vpxor ymm6, ymm6, ymm7
add ebx, dword [rsp + 0xa8]
and r12d, r10d
rorx r13d, r10d, 0x19
vpsrlq ymm7, ymm7, 2
rorx r15d, r10d, 0xb
lea ecx, [rcx + r14]
lea ebx, [rbx + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, r10d, eax
xor r13d, r15d
rorx r14d, r10d, 6
vpshufb ymm6, ymm6, ymm8
lea ebx, [rbx + r12]
xor r13d, r14d
mov r15d, ecx
vpaddd ymm1, ymm1, ymm6
rorx r12d, ecx, 0x16
lea ebx, [rbx + r13]
xor r15d, edx
vpshufd ymm7, ymm1, 0x50
rorx r14d, ecx, 0xd
rorx r13d, ecx, 2
lea r9d, [r9 + rbx]
vpsrld ymm6, ymm7, 0xa
and edi, r15d
xor r14d, r12d
xor edi, edx
vpsrlq ymm7, ymm7, 0x11
xor r14d, r13d
lea ebx, [rbx + rdi]
mov r12d, r10d
vpxor ymm6, ymm6, ymm7
add eax, dword [rsp + 0xac]
and r12d, r9d
rorx r13d, r9d, 0x19
vpsrlq ymm7, ymm7, 2
rorx edi, r9d, 0xb
lea ebx, [rbx + r14]
lea eax, [rax + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, r9d, r11d
xor r13d, edi
rorx r14d, r9d, 6
vpshufb ymm6, ymm6, ymm9
lea eax, [rax + r12]
xor r13d, r14d
mov edi, ebx
vpaddd ymm1, ymm1, ymm6
rorx r12d, ebx, 0x16
lea eax, [rax + r13]
xor edi, ecx
vpaddd ymm6, ymm1, ymmword [rbp + 0x20]
rorx r14d, ebx, 0xd
rorx r13d, ebx, 2
lea r8d, [r8 + rax]
and r15d, edi
xor r14d, r12d
xor r15d, ecx
xor r14d, r13d
lea eax, [rax + r15]
mov r12d, r9d
vmovdqa ymmword [rsp + 0x20], ymm6
lea rsp, [rsp - 0x40]
vpalignr ymm4, ymm3, ymm2, 4
add r11d, dword [rsp + 0x80]
and r12d, r8d
rorx r13d, r8d, 0x19
vpalignr ymm7, ymm1, ymm0, 4
rorx r15d, r8d, 0xb
lea eax, [rax + r14]
lea r11d, [r11 + r12]
vpsrld ymm6, ymm4, 7
andn r12d, r8d, r10d
xor r13d, r15d
rorx r14d, r8d, 6
vpaddd ymm2, ymm2, ymm7
lea r11d, [r11 + r12]
xor r13d, r14d
mov r15d, eax
vpsrld ymm7, ymm4, 3
rorx r12d, eax, 0x16
lea r11d, [r11 + r13]
xor r15d, ebx
vpslld ymm5, ymm4, 0xe
rorx r14d, eax, 0xd
rorx r13d, eax, 2
lea edx, [rdx + r11]
vpxor ymm4, ymm7, ymm6
and edi, r15d
xor r14d, r12d
xor edi, ebx
vpshufd ymm7, ymm1, 0xfa
xor r14d, r13d
lea r11d, [r11 + rdi]
mov r12d, r8d
vpsrld ymm6, ymm6, 0xb
add r10d, dword [rsp + 0x84]
and r12d, edx
rorx r13d, edx, 0x19
vpxor ymm4, ymm4, ymm5
rorx edi, edx, 0xb
lea r11d, [r11 + r14]
lea r10d, [r10 + r12]
vpslld ymm5, ymm5, 0xb
andn r12d, edx, r9d
xor r13d, edi
rorx r14d, edx, 6
vpxor ymm4, ymm4, ymm6
lea r10d, [r10 + r12]
xor r13d, r14d
mov edi, r11d
vpsrld ymm6, ymm7, 0xa
rorx r12d, r11d, 0x16
lea r10d, [r10 + r13]
xor edi, eax
vpxor ymm4, ymm4, ymm5
rorx r14d, r11d, 0xd
rorx r13d, r11d, 2
lea ecx, [rcx + r10]
vpsrlq ymm7, ymm7, 0x11
and r15d, edi
xor r14d, r12d
xor r15d, eax
vpaddd ymm2, ymm2, ymm4
xor r14d, r13d
lea r10d, [r10 + r15]
mov r12d, edx
vpxor ymm6, ymm6, ymm7
add r9d, dword [rsp + 0x88]
and r12d, ecx
rorx r13d, ecx, 0x19
vpsrlq ymm7, ymm7, 2
rorx r15d, ecx, 0xb
lea r10d, [r10 + r14]
lea r9d, [r9 + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, ecx, r8d
xor r13d, r15d
rorx r14d, ecx, 6
vpshufb ymm6, ymm6, ymm8
lea r9d, [r9 + r12]
xor r13d, r14d
mov r15d, r10d
vpaddd ymm2, ymm2, ymm6
rorx r12d, r10d, 0x16
lea r9d, [r9 + r13]
xor r15d, r11d
vpshufd ymm7, ymm2, 0x50
rorx r14d, r10d, 0xd
rorx r13d, r10d, 2
lea ebx, [rbx + r9]
vpsrld ymm6, ymm7, 0xa
and edi, r15d
xor r14d, r12d
xor edi, r11d
vpsrlq ymm7, ymm7, 0x11
xor r14d, r13d
lea r9d, [r9 + rdi]
mov r12d, ecx
vpxor ymm6, ymm6, ymm7
add r8d, dword [rsp + 0x8c]
and r12d, ebx
rorx r13d, ebx, 0x19
vpsrlq ymm7, ymm7, 2
rorx edi, ebx, 0xb
lea r9d, [r9 + r14]
lea r8d, [r8 + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, ebx, edx
xor r13d, edi
rorx r14d, ebx, 6
vpshufb ymm6, ymm6, ymm9
lea r8d, [r8 + r12]
xor r13d, r14d
mov edi, r9d
vpaddd ymm2, ymm2, ymm6
rorx r12d, r9d, 0x16
lea r8d, [r8 + r13]
xor edi, r10d
vpaddd ymm6, ymm2, ymmword [rbp + 0x40]
rorx r14d, r9d, 0xd
rorx r13d, r9d, 2
lea eax, [rax + r8]
and r15d, edi
xor r14d, r12d
xor r15d, r10d
xor r14d, r13d
lea r8d, [r8 + r15]
mov r12d, ebx
vmovdqa ymmword [rsp], ymm6
vpalignr ymm4, ymm0, ymm3, 4
add edx, dword [rsp + 0xa0]
and r12d, eax
rorx r13d, eax, 0x19
vpalignr ymm7, ymm2, ymm1, 4
rorx r15d, eax, 0xb
lea r8d, [r8 + r14]
lea edx, [rdx + r12]
vpsrld ymm6, ymm4, 7
andn r12d, eax, ecx
xor r13d, r15d
rorx r14d, eax, 6
vpaddd ymm3, ymm3, ymm7
lea edx, [rdx + r12]
xor r13d, r14d
mov r15d, r8d
vpsrld ymm7, ymm4, 3
rorx r12d, r8d, 0x16
lea edx, [rdx + r13]
xor r15d, r9d
vpslld ymm5, ymm4, 0xe
rorx r14d, r8d, 0xd
rorx r13d, r8d, 2
lea r11d, [r11 + rdx]
vpxor ymm4, ymm7, ymm6
and edi, r15d
xor r14d, r12d
xor edi, r9d
vpshufd ymm7, ymm2, 0xfa
xor r14d, r13d
lea edx, [rdx + rdi]
mov r12d, eax
vpsrld ymm6, ymm6, 0xb
add ecx, dword [rsp + 0xa4]
and r12d, r11d
rorx r13d, r11d, 0x19
vpxor ymm4, ymm4, ymm5
rorx edi, r11d, 0xb
lea edx, [rdx + r14]
lea ecx, [rcx + r12]
vpslld ymm5, ymm5, 0xb
andn r12d, r11d, ebx
xor r13d, edi
rorx r14d, r11d, 6
vpxor ymm4, ymm4, ymm6
lea ecx, [rcx + r12]
xor r13d, r14d
mov edi, edx
vpsrld ymm6, ymm7, 0xa
rorx r12d, edx, 0x16
lea ecx, [rcx + r13]
xor edi, r8d
vpxor ymm4, ymm4, ymm5
rorx r14d, edx, 0xd
rorx r13d, edx, 2
lea r10d, [r10 + rcx]
vpsrlq ymm7, ymm7, 0x11
and r15d, edi
xor r14d, r12d
xor r15d, r8d
vpaddd ymm3, ymm3, ymm4
xor r14d, r13d
lea ecx, [rcx + r15]
mov r12d, r11d
vpxor ymm6, ymm6, ymm7
add ebx, dword [rsp + 0xa8]
and r12d, r10d
rorx r13d, r10d, 0x19
vpsrlq ymm7, ymm7, 2
rorx r15d, r10d, 0xb
lea ecx, [rcx + r14]
lea ebx, [rbx + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, r10d, eax
xor r13d, r15d
rorx r14d, r10d, 6
vpshufb ymm6, ymm6, ymm8
lea ebx, [rbx + r12]
xor r13d, r14d
mov r15d, ecx
vpaddd ymm3, ymm3, ymm6
rorx r12d, ecx, 0x16
lea ebx, [rbx + r13]
xor r15d, edx
vpshufd ymm7, ymm3, 0x50
rorx r14d, ecx, 0xd
rorx r13d, ecx, 2
lea r9d, [r9 + rbx]
vpsrld ymm6, ymm7, 0xa
and edi, r15d
xor r14d, r12d
xor edi, edx
vpsrlq ymm7, ymm7, 0x11
xor r14d, r13d
lea ebx, [rbx + rdi]
mov r12d, r10d
vpxor ymm6, ymm6, ymm7
add eax, dword [rsp + 0xac]
and r12d, r9d
rorx r13d, r9d, 0x19
vpsrlq ymm7, ymm7, 2
rorx edi, r9d, 0xb
lea ebx, [rbx + r14]
lea eax, [rax + r12]
vpxor ymm6, ymm6, ymm7
andn r12d, r9d, r11d
xor r13d, edi
rorx r14d, r9d, 6
vpshufb ymm6, ymm6, ymm9
lea eax, [rax + r12]
xor r13d, r14d
mov edi, ebx
vpaddd ymm3, ymm3, ymm6
rorx r12d, ebx, 0x16
lea eax, [rax + r13]
xor edi, ecx
vpaddd ymm6, ymm3, ymmword [rbp + 0x60]
rorx r14d, ebx, 0xd
rorx r13d, ebx, 2
lea r8d, [r8 + rax]
and r15d, edi
xor r14d, r12d
xor r15d, ecx
xor r14d, r13d
lea eax, [rax + r15]
mov r12d, r9d
vmovdqa ymmword [rsp + 0x20], ymm6
lea rbp, [rbp + 0x80]
cmp byte [rbp + 3], 0
jne 0x18002bd10
add r11d, dword [rsp + 0x40]
and r12d, r8d
rorx r13d, r8d, 0x19
rorx r15d, r8d, 0xb
lea eax, [rax + r14]
lea r11d, [r11 + r12]
andn r12d, r8d, r10d
xor r13d, r15d
rorx r14d, r8d, 6
lea r11d, [r11 + r12]
xor r13d, r14d
mov r15d, eax
rorx r12d, eax, 0x16
lea r11d, [r11 + r13]
xor r15d, ebx
rorx r14d, eax, 0xd
rorx r13d, eax, 2
lea edx, [rdx + r11]
and edi, r15d
xor r14d, r12d
xor edi, ebx
xor r14d, r13d
lea r11d, [r11 + rdi]
mov r12d, r8d
add r10d, dword [rsp + 0x44]
and r12d, edx
rorx r13d, edx, 0x19
rorx edi, edx, 0xb
lea r11d, [r11 + r14]
lea r10d, [r10 + r12]
andn r12d, edx, r9d
xor r13d, edi
rorx r14d, edx, 6
lea r10d, [r10 + r12]
xor r13d, r14d
mov edi, r11d
rorx r12d, r11d, 0x16
lea r10d, [r10 + r13]
xor edi, eax
rorx r14d, r11d, 0xd
rorx r13d, r11d, 2
lea ecx, [rcx + r10]
and r15d, edi
xor r14d, r12d
xor r15d, eax
xor r14d, r13d
lea r10d, [r10 + r15]
mov r12d, edx
add r9d, dword [rsp + 0x48]
and r12d, ecx
rorx r13d, ecx, 0x19
rorx r15d, ecx, 0xb
lea r10d, [r10 + r14]
lea r9d, [r9 + r12]
andn r12d, ecx, r8d
xor r13d, r15d
rorx r14d, ecx, 6
lea r9d, [r9 + r12]
xor r13d, r14d
mov r15d, r10d
rorx r12d, r10d, 0x16
lea r9d, [r9 + r13]
xor r15d, r11d
rorx r14d, r10d, 0xd
rorx r13d, r10d, 2
lea ebx, [rbx + r9]
and edi, r15d
xor r14d, r12d
xor edi, r11d
xor r14d, r13d
lea r9d, [r9 + rdi]
mov r12d, ecx
add r8d, dword [rsp + 0x4c]
and r12d, ebx
rorx r13d, ebx, 0x19
rorx edi, ebx, 0xb
lea r9d, [r9 + r14]
lea r8d, [r8 + r12]
andn r12d, ebx, edx
xor r13d, edi
rorx r14d, ebx, 6
lea r8d, [r8 + r12]
xor r13d, r14d
mov edi, r9d
rorx r12d, r9d, 0x16
lea r8d, [r8 + r13]
xor edi, r10d
rorx r14d, r9d, 0xd
rorx r13d, r9d, 2
lea eax, [rax + r8]
and r15d, edi
xor r14d, r12d
xor r15d, r10d
xor r14d, r13d
lea r8d, [r8 + r15]
mov r12d, ebx
add edx, dword [rsp + 0x60]
and r12d, eax
rorx r13d, eax, 0x19
rorx r15d, eax, 0xb
lea r8d, [r8 + r14]
lea edx, [rdx + r12]
andn r12d, eax, ecx
xor r13d, r15d
rorx r14d, eax, 6
lea edx, [rdx + r12]
xor r13d, r14d
mov r15d, r8d
rorx r12d, r8d, 0x16
lea edx, [rdx + r13]
xor r15d, r9d
rorx r14d, r8d, 0xd
rorx r13d, r8d, 2
lea r11d, [r11 + rdx]
and edi, r15d
xor r14d, r12d
xor edi, r9d
xor r14d, r13d
lea edx, [rdx + rdi]
mov r12d, eax
add ecx, dword [rsp + 0x64]
and r12d, r11d
rorx r13d, r11d, 0x19
rorx edi, r11d, 0xb
lea edx, [rdx + r14]
lea ecx, [rcx + r12]
andn r12d, r11d, ebx
xor r13d, edi
rorx r14d, r11d, 6
lea ecx, [rcx + r12]
xor r13d, r14d
mov edi, edx
rorx r12d, edx, 0x16
lea ecx, [rcx + r13]
xor edi, r8d
rorx r14d, edx, 0xd
rorx r13d, edx, 2
lea r10d, [r10 + rcx]
and r15d, edi
xor r14d, r12d
xor r15d, r8d
xor r14d, r13d
lea ecx, [rcx + r15]
mov r12d, r11d
add ebx, dword [rsp + 0x68]
and r12d, r10d
rorx r13d, r10d, 0x19
rorx r15d, r10d, 0xb
lea ecx, [rcx + r14]
lea ebx, [rbx + r12]
andn r12d, r10d, eax
xor r13d, r15d
rorx r14d, r10d, 6
lea ebx, [rbx + r12]
xor r13d, r14d
mov r15d, ecx
rorx r12d, ecx, 0x16
lea ebx, [rbx + r13]
xor r15d, edx
rorx r14d, ecx, 0xd
rorx r13d, ecx, 2
lea r9d, [r9 + rbx]
and edi, r15d
xor r14d, r12d
xor edi, edx
xor r14d, r13d
lea ebx, [rbx + rdi]
mov r12d, r10d
add eax, dword [rsp + 0x6c]
and r12d, r9d
rorx r13d, r9d, 0x19
rorx edi, r9d, 0xb
lea ebx, [rbx + r14]
lea eax, [rax + r12]
andn r12d, r9d, r11d
xor r13d, edi
rorx r14d, r9d, 6
lea eax, [rax + r12]
xor r13d, r14d
mov edi, ebx
rorx r12d, ebx, 0x16
lea eax, [rax + r13]
xor edi, ecx
rorx r14d, ebx, 0xd
rorx r13d, ebx, 2
lea r8d, [r8 + rax]
and r15d, edi
xor r14d, r12d
xor r15d, ecx
xor r14d, r13d
lea eax, [rax + r15]
mov r12d, r9d
add r11d, dword [rsp]
and r12d, r8d
rorx r13d, r8d, 0x19
rorx r15d, r8d, 0xb
lea eax, [rax + r14]
lea r11d, [r11 + r12]
andn r12d, r8d, r10d
xor r13d, r15d
rorx r14d, r8d, 6
lea r11d, [r11 + r12]
xor r13d, r14d
mov r15d, eax
rorx r12d, eax, 0x16
lea r11d, [r11 + r13]
xor r15d, ebx
rorx r14d, eax, 0xd
rorx r13d, eax, 2
lea edx, [rdx + r11]
and edi, r15d
xor r14d, r12d
xor edi, ebx
xor r14d, r13d
lea r11d, [r11 + rdi]
mov r12d, r8d
add r10d, dword [rsp + 4]
and r12d, edx
rorx r13d, edx, 0x19
rorx edi, edx, 0xb
lea r11d, [r11 + r14]
lea r10d, [r10 + r12]
andn r12d, edx, r9d
xor r13d, edi
rorx r14d, edx, 6
lea r10d, [r10 + r12]
xor r13d, r14d
mov edi, r11d
rorx r12d, r11d, 0x16
lea r10d, [r10 + r13]
xor edi, eax
rorx r14d, r11d, 0xd
rorx r13d, r11d, 2
lea ecx, [rcx + r10]
and r15d, edi
xor r14d, r12d
xor r15d, eax
xor r14d, r13d
lea r10d, [r10 + r15]
mov r12d, edx
add r9d, dword [rsp + 8]
and r12d, ecx
rorx r13d, ecx, 0x19
rorx r15d, ecx, 0xb
lea r10d, [r10 + r14]
lea r9d, [r9 + r12]
andn r12d, ecx, r8d
xor r13d, r15d
rorx r14d, ecx, 6
lea r9d, [r9 + r12]
xor r13d, r14d
mov r15d, r10d
rorx r12d, r10d, 0x16
lea r9d, [r9 + r13]
xor r15d, r11d
rorx r14d, r10d, 0xd
rorx r13d, r10d, 2
lea ebx, [rbx + r9]
and edi, r15d
xor r14d, r12d
xor edi, r11d
xor r14d, r13d
lea r9d, [r9 + rdi]
mov r12d, ecx
add r8d, dword [rsp + 0xc]
and r12d, ebx
rorx r13d, ebx, 0x19
rorx edi, ebx, 0xb
lea r9d, [r9 + r14]
lea r8d, [r8 + r12]
andn r12d, ebx, edx
xor r13d, edi
rorx r14d, ebx, 6
lea r8d, [r8 + r12]
xor r13d, r14d
mov edi, r9d
rorx r12d, r9d, 0x16
lea r8d, [r8 + r13]
xor edi, r10d
rorx r14d, r9d, 0xd
rorx r13d, r9d, 2
lea eax, [rax + r8]
and r15d, edi
xor r14d, r12d
xor r15d, r10d
xor r14d, r13d
lea r8d, [r8 + r15]
mov r12d, ebx
add edx, dword [rsp + 0x20]
and r12d, eax
rorx r13d, eax, 0x19
rorx r15d, eax, 0xb
lea r8d, [r8 + r14]
lea edx, [rdx + r12]
andn r12d, eax, ecx
xor r13d, r15d
rorx r14d, eax, 6
lea edx, [rdx + r12]
xor r13d, r14d
mov r15d, r8d
rorx r12d, r8d, 0x16
lea edx, [rdx + r13]
xor r15d, r9d
rorx r14d, r8d, 0xd
rorx r13d, r8d, 2
lea r11d, [r11 + rdx]
and edi, r15d
xor r14d, r12d
xor edi, r9d
xor r14d, r13d
lea edx, [rdx + rdi]
mov r12d, eax
add ecx, dword [rsp + 0x24]
and r12d, r11d
rorx r13d, r11d, 0x19
rorx edi, r11d, 0xb
lea edx, [rdx + r14]
lea ecx, [rcx + r12]
andn r12d, r11d, ebx
xor r13d, edi
rorx r14d, r11d, 6
lea ecx, [rcx + r12]
xor r13d, r14d
mov edi, edx
rorx r12d, edx, 0x16
lea ecx, [rcx + r13]
xor edi, r8d
rorx r14d, edx, 0xd
rorx r13d, edx, 2
lea r10d, [r10 + rcx]
and r15d, edi
xor r14d, r12d
xor r15d, r8d
xor r14d, r13d
lea ecx, [rcx + r15]
mov r12d, r11d
add ebx, dword [rsp + 0x28]
and r12d, r10d
rorx r13d, r10d, 0x19
rorx r15d, r10d, 0xb
lea ecx, [rcx + r14]
lea ebx, [rbx + r12]
andn r12d, r10d, eax
xor r13d, r15d
rorx r14d, r10d, 6
lea ebx, [rbx + r12]
xor r13d, r14d
mov r15d, ecx
rorx r12d, ecx, 0x16
lea ebx, [rbx + r13]
xor r15d, edx
rorx r14d, ecx, 0xd
rorx r13d, ecx, 2
lea r9d, [r9 + rbx]
and edi, r15d
xor r14d, r12d
xor edi, edx
xor r14d, r13d
lea ebx, [rbx + rdi]
mov r12d, r10d
add eax, dword [rsp + 0x2c]
and r12d, r9d
rorx r13d, r9d, 0x19
rorx edi, r9d, 0xb
lea ebx, [rbx + r14]
lea eax, [rax + r12]
andn r12d, r9d, r11d
xor r13d, edi
rorx r14d, r9d, 6
lea eax, [rax + r12]
xor r13d, r14d
mov edi, ebx
rorx r12d, ebx, 0x16
lea eax, [rax + r13]
xor edi, ecx
rorx r14d, ebx, 0xd
rorx r13d, ebx, 2
lea r8d, [r8 + rax]
and r15d, edi
xor r14d, r12d
xor r15d, ecx
xor r14d, r13d
lea eax, [rax + r15]
mov r12d, r9d
mov rdi, qword [rsp + 0x200]
add eax, r14d
lea rbp, [rsp + 0x1c0]
add eax, dword [rdi]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
add r10d, dword [rdi + 0x18]
add r11d, dword [rdi + 0x1c]
mov dword [rdi], eax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
cmp rsi, qword [rbp + 0x50]
je 0x18002cfcf
xor r14d, r14d
mov edi, ebx
xor edi, ecx
mov r12d, r9d
jmp 0x18002cc50
add r11d, dword [rbp + 0x10]
and r12d, r8d
rorx r13d, r8d, 0x19
rorx r15d, r8d, 0xb
lea eax, [rax + r14]
lea r11d, [r11 + r12]
andn r12d, r8d, r10d
xor r13d, r15d
rorx r14d, r8d, 6
lea r11d, [r11 + r12]
xor r13d, r14d
mov r15d, eax
rorx r12d, eax, 0x16
lea r11d, [r11 + r13]
xor r15d, ebx
rorx r14d, eax, 0xd
rorx r13d, eax, 2
lea edx, [rdx + r11]
and edi, r15d
xor r14d, r12d
xor edi, ebx
xor r14d, r13d
lea r11d, [r11 + rdi]
mov r12d, r8d
add r10d, dword [rbp + 0x14]
and r12d, edx
rorx r13d, edx, 0x19
rorx edi, edx, 0xb
lea r11d, [r11 + r14]
lea r10d, [r10 + r12]
andn r12d, edx, r9d
xor r13d, edi
rorx r14d, edx, 6
lea r10d, [r10 + r12]
xor r13d, r14d
mov edi, r11d
rorx r12d, r11d, 0x16
lea r10d, [r10 + r13]
xor edi, eax
rorx r14d, r11d, 0xd
rorx r13d, r11d, 2
lea ecx, [rcx + r10]
and r15d, edi
xor r14d, r12d
xor r15d, eax
xor r14d, r13d
lea r10d, [r10 + r15]
mov r12d, edx
add r9d, dword [rbp + 0x18]
and r12d, ecx
rorx r13d, ecx, 0x19
rorx r15d, ecx, 0xb
lea r10d, [r10 + r14]
lea r9d, [r9 + r12]
andn r12d, ecx, r8d
xor r13d, r15d
rorx r14d, ecx, 6
lea r9d, [r9 + r12]
xor r13d, r14d
mov r15d, r10d
rorx r12d, r10d, 0x16
lea r9d, [r9 + r13]
xor r15d, r11d
rorx r14d, r10d, 0xd
rorx r13d, r10d, 2
lea ebx, [rbx + r9]
and edi, r15d
xor r14d, r12d
xor edi, r11d
xor r14d, r13d
lea r9d, [r9 + rdi]
mov r12d, ecx
add r8d, dword [rbp + 0x1c]
and r12d, ebx
rorx r13d, ebx, 0x19
rorx edi, ebx, 0xb
lea r9d, [r9 + r14]
lea r8d, [r8 + r12]
andn r12d, ebx, edx
xor r13d, edi
rorx r14d, ebx, 6
lea r8d, [r8 + r12]
xor r13d, r14d
mov edi, r9d
rorx r12d, r9d, 0x16
lea r8d, [r8 + r13]
xor edi, r10d
rorx r14d, r9d, 0xd
rorx r13d, r9d, 2
lea eax, [rax + r8]
and r15d, edi
xor r14d, r12d
xor r15d, r10d
xor r14d, r13d
lea r8d, [r8 + r15]
mov r12d, ebx
add edx, dword [rbp + 0x30]
and r12d, eax
rorx r13d, eax, 0x19
rorx r15d, eax, 0xb
lea r8d, [r8 + r14]
lea edx, [rdx + r12]
andn r12d, eax, ecx
xor r13d, r15d
rorx r14d, eax, 6
lea edx, [rdx + r12]
xor r13d, r14d
mov r15d, r8d
rorx r12d, r8d, 0x16
lea edx, [rdx + r13]
xor r15d, r9d
rorx r14d, r8d, 0xd
rorx r13d, r8d, 2
lea r11d, [r11 + rdx]
and edi, r15d
xor r14d, r12d
xor edi, r9d
xor r14d, r13d
lea edx, [rdx + rdi]
mov r12d, eax
add ecx, dword [rbp + 0x34]
and r12d, r11d
rorx r13d, r11d, 0x19
rorx edi, r11d, 0xb
lea edx, [rdx + r14]
lea ecx, [rcx + r12]
andn r12d, r11d, ebx
xor r13d, edi
rorx r14d, r11d, 6
lea ecx, [rcx + r12]
xor r13d, r14d
mov edi, edx
rorx r12d, edx, 0x16
lea ecx, [rcx + r13]
xor edi, r8d
rorx r14d, edx, 0xd
rorx r13d, edx, 2
lea r10d, [r10 + rcx]
and r15d, edi
xor r14d, r12d
xor r15d, r8d
xor r14d, r13d
lea ecx, [rcx + r15]
mov r12d, r11d
add ebx, dword [rbp + 0x38]
and r12d, r10d
rorx r13d, r10d, 0x19
rorx r15d, r10d, 0xb
lea ecx, [rcx + r14]
lea ebx, [rbx + r12]
andn r12d, r10d, eax
xor r13d, r15d
rorx r14d, r10d, 6
lea ebx, [rbx + r12]
xor r13d, r14d
mov r15d, ecx
rorx r12d, ecx, 0x16
lea ebx, [rbx + r13]
xor r15d, edx
rorx r14d, ecx, 0xd
rorx r13d, ecx, 2
lea r9d, [r9 + rbx]
and edi, r15d
xor r14d, r12d
xor edi, edx
xor r14d, r13d
lea ebx, [rbx + rdi]
mov r12d, r10d
add eax, dword [rbp + 0x3c]
and r12d, r9d
rorx r13d, r9d, 0x19
rorx edi, r9d, 0xb
lea ebx, [rbx + r14]
lea eax, [rax + r12]
andn r12d, r9d, r11d
xor r13d, edi
rorx r14d, r9d, 6
lea eax, [rax + r12]
xor r13d, r14d
mov edi, ebx
rorx r12d, ebx, 0x16
lea eax, [rax + r13]
xor edi, ecx
rorx r14d, ebx, 0xd
rorx r13d, ebx, 2
lea r8d, [r8 + rax]
and r15d, edi
xor r14d, r12d
xor r15d, ecx
xor r14d, r13d
lea eax, [rax + r15]
mov r12d, r9d
lea rbp, [rbp - 0x40]
cmp rbp, rsp
jae 0x18002cc50
mov rdi, qword [rsp + 0x200]
add eax, r14d
lea rsp, [rsp + 0x1c0]
add eax, dword [rdi]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
lea rsi, [rsi + 0x80]
add r10d, dword [rdi + 0x18]
mov r12, rsi
add r11d, dword [rdi + 0x1c]
cmp rsi, qword [rsp + 0x50]
mov dword [rdi], eax
cmove r12, rsp
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
jbe 0x18002bc70
lea rbp, [rsp]
lea rsp, [rbp]
mov rsi, qword [rsp + 0x58]
vzeroupper
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret