Function at 0x1401307d0
Capabilities:
Encrypt data using aes
Encrypt data using aes via x86 extensions
Hash data with crc32
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov edx, dword [rcx + 8]
mov ebx, dword [rcx + 4]
lea r8, [0x1401fac60]
mov edi, dword [rcx + 0x2c]
mov esi, dword [rcx + 0x30]
mov r15d, dword [rcx + 0x34]
mov r14d, dword [rcx + 0x38]
mov rax, rdx
xor eax, dword [rcx + 0x3c]
shl rbx, 0x20
mov r9, rcx
add rbx, rdx
mov r10d, dword [r9 + 0x24]
vmovd xmm4, edi
mov dword [rsp + 8], edi
vmovd xmm5, r15d
vpinsrd xmm1, xmm4, esi, 1
mov dword [rsp + 0xc], esi
mov dword [rsp + 0x10], r15d
vpinsrd xmm3, xmm5, r14d, 1
mov dword [rsp + 0x14], r14d
vpunpcklqdq xmm4, xmm1, xmm3
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov edx, dword [rcx + 0x20]
xor edx, eax
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
xor r10d, edx
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [r8 + rcx*4]
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [r8 + rcx*4]
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [r8 + rcx*4]
movzx ecx, r10b
shr r10d, 8
xor r10d, dword [r8 + rcx*4]
mov ecx, dword [r9 + 0x28]
xor ecx, r10d
vmovd xmm5, r10d
movzx r11d, cl
shr ecx, 8
xor ecx, dword [r8 + r11*4]
movzx r11d, cl
shr ecx, 8
xor ecx, dword [r8 + r11*4]
movzx r11d, cl
shr ecx, 8
xor ecx, dword [r8 + r11*4]
movzx r11d, cl
shr ecx, 8
xor ecx, dword [r8 + r11*4]
vpinsrd xmm2, xmm5, ecx, 1
vmovd xmm5, eax
lea rax, [r9 + 0x20]
vpinsrd xmm0, xmm5, edx, 1
mov qword [rsp + 0x18], rax
vpunpcklqdq xmm0, xmm0, xmm2
vinserti128 ymm0, ymm0, xmm4, 1
vmovq r11, xmm0
vpextrq r10, xmm0, 1
vmovdqu ymmword [r9 + 0x20], ymm0
mov rbp, r10
mov r12, r11
mov rdi, r11
mov rsi, r10
not rbp
not r12
bswap rdi
bswap rsi
cmp r11, 0xffffffffffffffff
je 0x140130968
test rdi, rdi
je 0x140130968
cmp rdi, r12
jae 0x140132ea0
mov rax, r12
xor edx, edx
div rdi
sub r10, rdx
sub r11, rax
test rbp, rbp
je 0x140130989
test rsi, rsi
je 0x140130989
cmp rsi, rbp
jae 0x140132e80
mov rax, rbp
xor edx, edx
div rsi
sub r11, rdx
sub r10, rax
xor ecx, r11d
shr r11, 0x20
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx edx, cl
mov eax, ecx
mov rcx, rbx
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r11d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
shr r10, 0x20
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x28], eax
xor eax, r10d
mov r10d, dword [r9 + 0xc]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
shr rcx, 8
xor eax, dword [r8 + rdx*4]
and ecx, 0xffffff
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, bl
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
mov dword [r9 + 0x2c], eax
mov dword [r9 + 8], eax
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov r11d, dword [r8 + rdx*4]
mov rdx, rbx
shr rdx, 0x20
xor rdx, rcx
xor rdx, r11
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, rbx
mov r11d, edx
and r11d, 0x7ff
cmp r10d, 0x1f
jbe 0x140130d50
add r11, 0x10
mov rcx, rdx
mov rdi, qword [r9 + r11*8]
shr rcx, 0xb
ror rdi, cl
mov rcx, rdi
add rcx, rdx
js 0x140130b0f
mov qword [r9 + r11*8], rcx
mov ebx, r10d
mov r10d, 1
movzx edx, cl
mov r11, rcx
mov edx, dword [r8 + rdx*4]
shr r11, 8
and r11d, 0xffffff
xor r11, rdx
movzx edx, r11b
shr r11, 8
mov edx, dword [r8 + rdx*4]
xor r11, rdx
movzx edx, r11b
shr r11, 8
mov edx, dword [r8 + rdx*4]
xor r11, rdx
movzx edx, r11b
shr r11, 8
mov esi, dword [r8 + rdx*4]
mov rdx, rcx
shr rdx, 0x20
xor rdx, r11
xor rdx, rsi
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
add rdx, rcx
mov rsi, rdx
mov rcx, rdx
and esi, 0x7ff
shr rcx, 0xb
add rsi, 0x10
mov rdi, qword [r9 + rsi*8]
mov r11, rdi
ror r11, cl
add r11, rdx
cmovns rdi, r11
mov qword [r9 + rsi*8], rdi
cmp r10d, 3
je 0x140131049
movzx edx, r11b
mov rcx, r11
mov edx, dword [r8 + rdx*4]
shr rcx, 8
and ecx, 0xffffff
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov esi, dword [r8 + rdx*4]
mov rdx, r11
shr rdx, 0x20
xor rdx, rcx
xor rdx, rsi
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, r11
mov rsi, rdx
mov rcx, rdx
and esi, 0x7ff
shr rcx, 0xb
add rsi, 0x10
mov rdi, qword [r9 + rsi*8]
mov r11, rdi
ror r11, cl
add r11, rdx
cmovns rdi, r11
mov qword [r9 + rsi*8], rdi
cmp r10d, 1
jne 0x140131049
movzx edx, r11b
mov rcx, r11
mov edx, dword [r8 + rdx*4]
shr rcx, 8
and ecx, 0xffffff
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov r10d, dword [r8 + rdx*4]
mov rdx, r11
shr rdx, 0x20
xor rdx, rcx
xor rdx, r10
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, r11
mov r10, rdx
mov rcx, rdx
and r10d, 0x7ff
shr rcx, 0xb
add r10, 0x10
mov rsi, qword [r9 + r10*8]
mov r11, rsi
ror r11, cl
add r11, rdx
cmovns rsi, r11
mov qword [r9 + r10*8], rsi
jmp 0x140131049
mov ecx, r10d
lea ebx, [r10 + 1]
mov dword [r9 + 0xc], ebx
mov word [r9 + rcx*2 + 0x40], r11w
add r11, 0x10
mov rcx, rdx
shr rcx, 0xb
mov rsi, qword [r9 + r11*8]
mov rdi, rsi
ror rdi, cl
mov rcx, rdi
add rcx, rdx
cmovns rsi, rcx
mov rdx, rcx
mov qword [r9 + r11*8], rsi
movzx r11d, cl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
and edx, 0xffffff
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov esi, dword [r8 + r11*4]
mov r11, rcx
shr r11, 0x20
xor rdx, r11
xor rdx, rsi
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
add rdx, rcx
mov ecx, edx
and ecx, 0x7ff
cmp ebx, 0x20
jne 0x140130e50
mov r10d, ecx
mov rcx, rdx
add r10, 0x10
shr rcx, 0xb
mov rdi, qword [r9 + r10*8]
ror rdi, cl
mov rcx, rdi
add rcx, rdx
js 0x140130e40
mov qword [r9 + r10*8], rcx
mov r10d, 2
jmp 0x140130b18
lea r11d, [r10 + 2]
mov dword [r9 + 0xc], r11d
mov word [r9 + rbx*2 + 0x40], cx
mov ebx, ecx
mov rcx, rdx
add rbx, 0x10
shr rcx, 0xb
mov rsi, qword [r9 + rbx*8]
mov rdi, rsi
ror rdi, cl
mov rcx, rdi
add rcx, rdx
cmovns rsi, rcx
mov rdx, rcx
mov qword [r9 + rbx*8], rsi
movzx ebx, cl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
and edx, 0xffffff
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov esi, dword [r8 + rbx*4]
mov rbx, rcx
shr rbx, 0x20
xor rdx, rbx
xor rdx, rsi
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
movzx ebx, dl
shr rdx, 8
mov ebx, dword [r8 + rbx*4]
xor rdx, rbx
add rdx, rcx
mov ecx, edx
and ecx, 0x7ff
cmp r11d, 0x20
jne 0x140130f50
mov r10d, ecx
mov rcx, rdx
add r10, 0x10
shr rcx, 0xb
mov rdi, qword [r9 + r10*8]
ror rdi, cl
mov rcx, rdi
add rcx, rdx
js 0x140130f38
mov qword [r9 + r10*8], rcx
mov ebx, 0x20
mov r10d, 3
jmp 0x140130b18
lea esi, [r10 + 3]
mov dword [r9 + 0xc], esi
mov word [r9 + r11*2 + 0x40], cx
mov r11d, ecx
mov rcx, rdx
add r11, 0x10
shr rcx, 0xb
mov rbx, qword [r9 + r11*8]
mov rdi, rbx
ror rdi, cl
mov rcx, rdi
add rcx, rdx
cmovns rbx, rcx
movzx edx, cl
mov qword [r9 + r11*8], rbx
mov r11d, dword [r8 + rdx*4]
mov rdx, rcx
mov rbx, rcx
shr rdx, 8
shr rbx, 0x20
and edx, 0xffffff
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, rbx
mov ebx, 0x20
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov edi, dword [r8 + r11*4]
xor rdi, rdx
add rdi, rcx
mov ecx, edi
and ecx, 0x7ff
cmp esi, 0x20
jne 0x140131470
mov edx, ecx
mov rcx, rdi
add rdx, 0x10
shr rcx, 0xb
mov r10, qword [r9 + rdx*8]
mov r11, r10
ror r11, cl
add r11, rdi
cmovns r10, r11
mov qword [r9 + rdx*8], r10
mov rdx, qword [r9 + 0x20]
mov ecx, r11d
lea rdi, [0x1401fb080]
movabs r10, 0x547c783804a8c18e
add r10, qword [r9 + 0x28]
mov ebp, r11d
ror rdx, cl
movzx ecx, r11b
add rdx, qword [rdi + rcx]
mov ecx, r10d
mov rsi, rdx
rol rsi, cl
mov ecx, edx
ror r10, cl
mov rdx, rsi
mov ecx, r10d
ror rdx, cl
mov ecx, esi
xor eax, edx
rol r10, cl
shr rdx, 0x20
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
mov dword [r9 + 0x20], eax
xor eax, edx
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
mov ecx, eax
shr ecx, 8
xor ecx, dword [r8 + rdx*4]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r8 + rdx*4]
shr r10, 0x20
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x28], ecx
xor ecx, r10d
mov r10, qword [r9 + 0x20]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov r15, r10
mov r13, r10
not r15
bswap r13
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x2c], ecx
mov rsi, qword [r9 + 0x28]
mov r14, rsi
mov r12, rsi
not r14
bswap r12
cmp r10, 0xffffffffffffffff
je 0x140131195
test r13, r13
je 0x140131195
cmp r13, r15
jae 0x140132e60
mov rax, r15
xor edx, edx
div r13
sub r10, rax
sub rsi, rdx
test r14, r14
je 0x1401311b6
test r12, r12
je 0x1401311b6
cmp r12, r14
jae 0x140132e40
mov rax, r14
xor edx, edx
div r12
sub r10, rdx
sub rsi, rax
xor ecx, r10d
shr r10, 0x20
movzx edx, cl
shr ecx, 8
mov eax, dword [r8 + rdx*4]
xor eax, ecx
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, esi
shr rsi, 0x20
mov rcx, qword [r9 + 0x20]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov r15, rcx
mov r13, rcx
not r15
movzx edx, al
mov r10d, eax
shr r10d, 8
xor r10d, dword [r8 + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [r8 + rdx*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
mov dword [r9 + 0x28], r10d
xor r10d, esi
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
bswap r13
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
mov dword [r9 + 0x2c], r10d
mov rsi, qword [r9 + 0x28]
mov r14, rsi
mov r12, rsi
not r14
bswap r12
cmp rcx, 0xffffffffffffffff
je 0x1401312cd
test r13, r13
je 0x1401312cd
cmp r13, r15
jae 0x140133020
mov rax, r15
xor edx, edx
div r13
sub rsi, rdx
sub rcx, rax
test r14, r14
je 0x1401312ee
test r12, r12
je 0x1401312ee
cmp r12, r14
jae 0x140133000
mov rax, r14
xor edx, edx
div r12
sub rcx, rdx
sub rsi, rax
xor r10d, ecx
shr rcx, 0x20
movzx r11d, r11b
movzx edx, r10b
shr r10d, 8
mov eax, dword [r8 + rdx*4]
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, ecx
mov rcx, rbp
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, esi
shr rsi, 0x20
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x28], eax
xor eax, esi
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
shr rcx, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov edx, dword [r8 + r11*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov dword [r9 + 0x2c], eax
mov dword [r9 + 8], eax
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, rbp
mov r10d, edx
and r10d, 0x7ff
cmp ebx, 0x1f
jbe 0x140131490
add r10, 0x10
mov rcx, rdx
mov rsi, qword [r9 + r10*8]
shr rcx, 0xb
ror rsi, cl
mov rcx, rsi
add rcx, rdx
js 0x14013145c
mov qword [r9 + r10*8], rcx
mov esi, ebx
mov r11d, 1
jmp 0x14013168d
lea ebx, [r10 + 4]
mov edx, esi
mov dword [r9 + 0xc], ebx
mov word [r9 + rdx*2 + 0x40], cx
jmp 0x140131027
mov ecx, ebx
lea esi, [rbx + 1]
mov dword [r9 + 0xc], esi
mov word [r9 + rcx*2 + 0x40], r10w
add r10, 0x10
mov rcx, rdx
shr rcx, 0xb
mov r11, qword [r9 + r10*8]
mov r15, r11
ror r15, cl
mov rcx, r15
add rcx, rdx
cmovns r11, rcx
mov rdx, rcx
mov qword [r9 + r10*8], r11
movzx r10d, cl
shr rdx, 8
mov r11, rcx
mov r10d, dword [r8 + r10*4]
and edx, 0xffffff
shr r11, 0x20
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r11
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
add rdx, rcx
mov r11d, edx
and r11d, 0x7ff
cmp esi, 0x20
jne 0x140131590
mov ecx, r11d
lea r10, [rcx + 0x10]
mov rcx, rdx
mov rbx, qword [r9 + r10*8]
shr rcx, 0xb
ror rbx, cl
mov rcx, rbx
add rcx, rdx
js 0x140131580
mov qword [r9 + r10*8], rcx
mov r11d, 2
jmp 0x14013168d
lea r10d, [rbx + 2]
mov rcx, rdx
mov dword [r9 + 0xc], r10d
mov word [r9 + rsi*2 + 0x40], r11w
add r11, 0x10
shr rcx, 0xb
mov rsi, qword [r9 + r11*8]
mov r15, rsi
ror r15, cl
mov rcx, r15
add rcx, rdx
cmovns rsi, rcx
mov rdx, rcx
mov qword [r9 + r11*8], rsi
movzx r11d, cl
shr rdx, 8
mov rsi, rcx
mov r11d, dword [r8 + r11*4]
and edx, 0xffffff
shr rsi, 0x20
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, rsi
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
add rdx, rcx
mov ecx, edx
and ecx, 0x7ff
cmp r10d, 0x20
jne 0x1401318d0
mov r10d, ecx
mov rcx, rdx
add r10, 0x10
shr rcx, 0xb
mov rsi, qword [r9 + r10*8]
ror rsi, cl
mov rcx, rsi
add rcx, rdx
js 0x140131682
mov qword [r9 + r10*8], rcx
mov esi, 0x20
mov r11d, 3
movzx r10d, cl
mov rdx, rcx
mov rbx, rcx
mov r10d, dword [r8 + r10*4]
shr rdx, 8
shr rbx, 0x20
and edx, 0xffffff
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor rdx, rbx
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
mov rbp, rdx
xor rbp, r10
movzx edx, bpl
shr rbp, 8
mov r10d, dword [r8 + rdx*4]
xor rbp, r10
movzx edx, bpl
shr rbp, 8
mov edx, dword [r8 + rdx*4]
xor rbp, rdx
movzx edx, bpl
shr rbp, 8
mov edx, dword [r8 + rdx*4]
xor rbp, rdx
add rbp, rcx
mov rdx, rbp
mov rcx, rbp
and edx, 0x7ff
shr rcx, 0xb
add rdx, 0x10
mov r10, qword [r9 + rdx*8]
mov rbx, r10
ror rbx, cl
add rbx, rbp
cmovns r10, rbx
mov qword [r9 + rdx*8], r10
cmp r11d, 3
je 0x1401319cb
movzx ecx, bl
mov rdx, rbx
mov r10, rbx
mov ecx, dword [r8 + rcx*4]
shr rdx, 8
shr r10, 0x20
and edx, 0xffffff
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, r10
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
mov rbp, rdx
xor rbp, rcx
movzx edx, bpl
shr rbp, 8
mov ecx, dword [r8 + rdx*4]
xor rbp, rcx
movzx edx, bpl
shr rbp, 8
mov edx, dword [r8 + rdx*4]
xor rbp, rdx
movzx edx, bpl
shr rbp, 8
mov edx, dword [r8 + rdx*4]
xor rbp, rdx
add rbp, rbx
mov rdx, rbp
mov rcx, rbp
and edx, 0x7ff
shr rcx, 0xb
add rdx, 0x10
mov r10, qword [r9 + rdx*8]
mov rbx, r10
ror rbx, cl
add rbx, rbp
cmovns r10, rbx
mov qword [r9 + rdx*8], r10
cmp r11d, 1
jne 0x1401319cb
movzx edx, bl
mov rcx, rbx
mov edx, dword [r8 + rdx*4]
shr rcx, 8
and ecx, 0xffffff
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov edx, dword [r8 + rdx*4]
xor rcx, rdx
movzx edx, cl
shr rcx, 8
mov r10d, dword [r8 + rdx*4]
mov rdx, rbx
shr rdx, 0x20
xor rdx, rcx
xor rdx, r10
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, rbx
mov r10, rdx
mov rcx, rdx
and r10d, 0x7ff
shr rcx, 0xb
add r10, 0x10
mov r11, qword [r9 + r10*8]
mov rbx, r11
ror rbx, cl
add rbx, rdx
cmovns r11, rbx
mov qword [r9 + r10*8], r11
jmp 0x1401319cb
lea r11d, [rbx + 3]
mov dword [r9 + 0xc], r11d
mov word [r9 + r10*2 + 0x40], cx
mov r10d, ecx
mov rcx, rdx
add r10, 0x10
shr rcx, 0xb
mov rsi, qword [r9 + r10*8]
mov r14, rsi
ror r14, cl
mov rcx, r14
add rcx, rdx
cmovns rsi, rcx
movzx edx, cl
mov qword [r9 + r10*8], rsi
mov r10d, dword [r8 + rdx*4]
mov rdx, rcx
shr rdx, 8
and edx, 0xffffff
xor r10, rdx
movzx edx, r10b
shr r10, 8
mov edx, dword [r8 + rdx*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor r10, rdx
movzx edx, r10b
shr r10, 8
mov esi, dword [r8 + rdx*4]
mov rdx, rcx
shr rdx, 0x20
xor rdx, r10
xor rdx, rsi
mov esi, 0x20
mov r10, rdx
movzx edx, dl
mov edx, dword [r8 + rdx*4]
shr r10, 8
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor r10, rdx
movzx edx, r10b
shr r10, 8
mov edx, dword [r8 + rdx*4]
xor rdx, r10
movzx r10d, dl
shr rdx, 8
mov r10d, dword [r8 + r10*4]
xor r10, rdx
add r10, rcx
mov edx, r10d
and edx, 0x7ff
cmp r11d, 0x20
jne 0x140131de0
add rdx, 0x10
mov rcx, r10
mov r11, qword [r9 + rdx*8]
shr rcx, 0xb
mov rbx, r11
ror rbx, cl
add rbx, r10
cmovns r11, rbx
mov qword [r9 + rdx*8], r11
mov rdx, qword [r9 + 0x20]
mov r12d, ebx
movabs r10, 0x547c783804a8c18e
mov rbp, r12
add r10, qword [r9 + 0x28]
shr rbp, 8
mov ecx, ebp
ror rdx, cl
movzx ecx, bpl
add rdx, qword [rdi + rcx]
mov ecx, r10d
mov r11, rdx
rol r11, cl
mov ecx, edx
ror r10, cl
mov rdx, r11
mov ecx, r10d
ror rdx, cl
mov ecx, r11d
xor eax, edx
rol r10, cl
shr rdx, 0x20
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
mov dword [r9 + 0x20], eax
xor eax, edx
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
mov r11, qword [r9 + 0x20]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov r14, r11
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
shr r10, 0x20
xor eax, dword [r8 + rdx*4]
bswap r14
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov rdx, r11
not rdx
xor r10d, eax
mov dword [r9 + 0x28], eax
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
mov rax, rdx
mov dword [r9 + 0x2c], r10d
mov rcx, qword [r9 + 0x28]
mov r15, rcx
mov r13, rcx
not r15
bswap r13
cmp r11, 0xffffffffffffffff
je 0x140131b1d
test r14, r14
je 0x140131b1d
cmp r14, rdx
jae 0x140132fe0
xor edx, edx
div r14
sub rcx, rdx
sub r11, rax
test r15, r15
je 0x140131b3e
test r13, r13
je 0x140131b3e
cmp r13, r15
jae 0x140132fc0
mov rax, r15
xor edx, edx
div r13
sub r11, rdx
sub rcx, rax
xor r10d, r11d
shr r11, 0x20
movzx edx, r10b
shr r10d, 8
mov eax, dword [r8 + rdx*4]
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r11d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, ecx
shr rcx, 0x20
mov r11, qword [r9 + 0x20]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov r14, r11
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov rdx, r11
not rdx
xor ecx, eax
mov dword [r9 + 0x28], eax
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
bswap r14
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov rax, rdx
mov dword [r9 + 0x2c], ecx
mov r10, qword [r9 + 0x28]
mov r15, r10
mov r13, r10
not r15
bswap r13
cmp r11, 0xffffffffffffffff
je 0x140131c47
test r14, r14
je 0x140131c47
cmp r14, rdx
jae 0x140132fa0
xor edx, edx
div r14
sub r11, rax
sub r10, rdx
test r15, r15
je 0x140131c68
test r13, r13
je 0x140131c68
cmp r13, r15
jae 0x140132f80
mov rax, r15
xor edx, edx
div r13
sub r10, rax
sub r11, rdx
xor ecx, r11d
shr r11, 0x20
movzx ebx, bl
movzx edx, cl
shr ecx, 8
mov eax, dword [r8 + rdx*4]
xor eax, ecx
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r11d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov rdx, r10
shr rdx, 0x20
xor edx, eax
mov dword [r9 + 0x28], eax
movzx eax, dl
shr edx, 8
xor edx, dword [r8 + rax*4]
movzx eax, dl
shr edx, 8
xor edx, dword [r8 + rax*4]
movzx eax, dl
shr edx, 8
xor edx, dword [r8 + rax*4]
movzx eax, dl
shr edx, 8
xor edx, dword [r8 + rax*4]
mov eax, dword [r8 + rbx*4]
xor rax, rbp
movzx ecx, al
shr rax, 8
mov dword [r9 + 0x2c], edx
mov dword [r9 + 8], edx
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
add rax, r12
mov r10d, eax
and r10d, 0x7ff
cmp esi, 0x1f
jbe 0x140131e00
mov ecx, r10d
lea r10, [rcx + 0x10]
mov rcx, rax
mov r11, qword [r9 + r10*8]
shr rcx, 0xb
ror r11, cl
add r11, rax
js 0x140131dd0
mov qword [r9 + r10*8], r11
mov ebx, esi
mov r10d, 1
jmp 0x140131ff9
lea esi, [rbx + 4]
mov dword [r9 + 0xc], esi
mov word [r9 + r11*2 + 0x40], dx
jmp 0x1401319ab
mov ecx, esi
lea ebx, [rsi + 1]
mov dword [r9 + 0xc], ebx
mov word [r9 + rcx*2 + 0x40], r10w
add r10, 0x10
mov rcx, rax
shr rcx, 0xb
mov r11, qword [r9 + r10*8]
mov r14, r11
ror r14, cl
mov rcx, r14
add rcx, rax
cmovns r11, rcx
mov rax, rcx
mov qword [r9 + r10*8], r11
movzx r10d, cl
shr rax, 8
mov r11, rcx
mov r10d, dword [r8 + r10*4]
and eax, 0xffffff
shr r11, 0x20
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r11
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor rax, r10
add rax, rcx
mov r11d, eax
and r11d, 0x7ff
cmp ebx, 0x20
jne 0x140131f00
mov ecx, r11d
lea r10, [rcx + 0x10]
mov rcx, rax
mov r11, qword [r9 + r10*8]
shr rcx, 0xb
ror r11, cl
add r11, rax
js 0x140131eec
mov qword [r9 + r10*8], r11
mov r10d, 2
jmp 0x140131ff9
lea r10d, [rsi + 2]
mov rcx, rax
mov dword [r9 + 0xc], r10d
mov word [r9 + rbx*2 + 0x40], r11w
add r11, 0x10
shr rcx, 0xb
mov rbx, qword [r9 + r11*8]
mov r14, rbx
ror r14, cl
mov rcx, r14
add rcx, rax
cmovns rbx, rcx
mov rax, rcx
mov qword [r9 + r11*8], rbx
movzx r11d, cl
shr rax, 8
mov rbx, rcx
mov r11d, dword [r8 + r11*4]
and eax, 0xffffff
shr rbx, 0x20
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, rbx
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
movzx r11d, al
shr rax, 8
mov r11d, dword [r8 + r11*4]
xor rax, r11
add rax, rcx
mov ecx, eax
and ecx, 0x7ff
cmp r10d, 0x20
jne 0x140132230
mov r10d, ecx
mov rcx, rax
add r10, 0x10
shr rcx, 0xb
mov r11, qword [r9 + r10*8]
ror r11, cl
add r11, rax
js 0x140131fee
mov qword [r9 + r10*8], r11
mov ebx, 0x20
mov r10d, 3
movzx eax, r11b
mov ecx, dword [r8 + rax*4]
mov rax, r11
shr rax, 8
and eax, 0xffffff
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [r8 + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov esi, dword [r8 + rax*4]
mov rax, r11
shr rax, 0x20
xor rax, rcx
xor rsi, rax
movzx eax, sil
mov rcx, rsi
mov eax, dword [r8 + rax*4]
shr rcx, 8
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [r8 + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ebp, dword [r8 + rcx*4]
xor rbp, rax
add rbp, r11
mov rax, rbp
mov rcx, rbp
and eax, 0x7ff
shr rcx, 0xb
add rax, 0x10
mov rsi, qword [r9 + rax*8]
mov r11, rsi
ror r11, cl
add r11, rbp
cmovns rsi, r11
mov qword [r9 + rax*8], rsi
cmp r10d, 3
je 0x140132329
movzx eax, r11b
mov rcx, r11
mov rsi, r11
mov eax, dword [r8 + rax*4]
shr rcx, 8
shr rsi, 0x20
and ecx, 0xffffff
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rsi
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
mov rbp, rax
xor rbp, rcx
movzx eax, bpl
shr rbp, 8
mov ecx, dword [r8 + rax*4]
xor rbp, rcx
movzx eax, bpl
shr rbp, 8
mov eax, dword [r8 + rax*4]
xor rbp, rax
movzx eax, bpl
shr rbp, 8
mov eax, dword [r8 + rax*4]
xor rbp, rax
add rbp, r11
mov rax, rbp
mov rcx, rbp
and eax, 0x7ff
shr rcx, 0xb
add rax, 0x10
mov rsi, qword [r9 + rax*8]
mov r11, rsi
ror r11, cl
add r11, rbp
cmovns rsi, r11
mov qword [r9 + rax*8], rsi
cmp r10d, 1
jne 0x140132329
movzx eax, r11b
mov rcx, r11
mov eax, dword [r8 + rax*4]
shr rcx, 8
and ecx, 0xffffff
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [r8 + rax*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [r8 + rax*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov r10d, dword [r8 + rax*4]
mov rax, r11
shr rax, 0x20
xor rax, rcx
xor rax, r10
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r8 + rcx*4]
xor rax, rcx
add rax, r11
mov r10, rax
mov rcx, rax
and r10d, 0x7ff
shr rcx, 0xb
add r10, 0x10
mov rsi, qword [r9 + r10*8]
mov r11, rsi
ror r11, cl
add r11, rax
cmovns rsi, r11
mov qword [r9 + r10*8], rsi
jmp 0x140132329
lea r11d, [rsi + 3]
mov dword [r9 + 0xc], r11d
mov word [r9 + r10*2 + 0x40], cx
mov r10d, ecx
mov rcx, rax
add r10, 0x10
shr rcx, 0xb
mov rbx, qword [r9 + r10*8]
mov r15, rbx
ror r15, cl
mov rcx, r15
add rcx, rax
cmovns rbx, rcx
movzx eax, cl
mov qword [r9 + r10*8], rbx
mov r10d, dword [r8 + rax*4]
mov rax, rcx
shr rax, 8
and eax, 0xffffff
xor r10, rax
movzx eax, r10b
shr r10, 8
mov eax, dword [r8 + rax*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor r10, rax
movzx eax, r10b
shr r10, 8
mov ebx, dword [r8 + rax*4]
mov rax, rcx
shr rax, 0x20
xor rax, r10
xor rax, rbx
mov ebx, 0x20
mov r10, rax
movzx eax, al
mov eax, dword [r8 + rax*4]
shr r10, 8
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor r10, rax
movzx eax, r10b
shr r10, 8
mov eax, dword [r8 + rax*4]
xor rax, r10
movzx r10d, al
shr rax, 8
mov r10d, dword [r8 + r10*4]
xor r10, rax
add r10, rcx
mov eax, r10d
and eax, 0x7ff
cmp r11d, 0x20
jne 0x140132e20
add rax, 0x10
mov rcx, r10
mov rsi, qword [r9 + rax*8]
shr rcx, 0xb
mov r11, rsi
ror r11, cl
add r11, r10
cmovns rsi, r11
mov qword [r9 + rax*8], rsi
mov rax, qword [r9 + 0x20]
mov ebp, r11d
movabs r10, 0x547c783804a8c18e
mov rcx, rbp
add r10, qword [r9 + 0x28]
shr rcx, 0x10
ror rax, cl
movzx ecx, cl
add rax, qword [rdi + rcx]
mov ecx, r10d
mov rsi, rax
rol rsi, cl
mov ecx, eax
ror r10, cl
mov rax, rsi
mov ecx, r10d
ror rax, cl
mov ecx, esi
xor edx, eax
rol r10, cl
shr rax, 0x20
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
shr edx, 8
xor edx, dword [r8 + rcx*4]
xor eax, edx
mov dword [r9 + 0x20], edx
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
mov ecx, eax
shr ecx, 8
xor ecx, dword [r8 + rdx*4]
movzx edx, cl
shr ecx, 8
shr r10, 0x20
xor ecx, dword [r8 + rdx*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x28], ecx
xor ecx, r10d
mov r10, qword [r9 + 0x20]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov r15, r10
mov r13, r10
not r15
bswap r13
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x2c], ecx
mov rsi, qword [r9 + 0x28]
mov r14, rsi
mov r12, rsi
not r14
bswap r12
cmp r10, 0xffffffffffffffff
je 0x140132471
test r13, r13
je 0x140132471
cmp r13, r15
jae 0x140132f60
mov rax, r15
xor edx, edx
div r13
sub r10, rax
sub rsi, rdx
test r14, r14
je 0x140132492
test r12, r12
je 0x140132492
cmp r12, r14
jae 0x140132f40
mov rax, r14
xor edx, edx
div r12
sub r10, rdx
sub rsi, rax
xor ecx, r10d
shr r10, 0x20
movzx edx, cl
shr ecx, 8
mov eax, dword [r8 + rdx*4]
xor eax, ecx
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, esi
shr rsi, 0x20
mov rcx, qword [r9 + 0x20]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov r15, rcx
mov r13, rcx
not r15
movzx edx, al
mov r10d, eax
shr r10d, 8
xor r10d, dword [r8 + rdx*4]
movzx edx, r10b
shr r10d, 8
xor r10d, dword [r8 + rdx*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
mov dword [r9 + 0x28], r10d
xor r10d, esi
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
bswap r13
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 8
xor r10d, dword [r8 + rax*4]
mov dword [r9 + 0x2c], r10d
mov rsi, qword [r9 + 0x28]
mov r14, rsi
mov r12, rsi
not r14
bswap r12
cmp rcx, 0xffffffffffffffff
je 0x1401325a9
test r13, r13
je 0x1401325a9
cmp r13, r15
jae 0x140132f20
mov rax, r15
xor edx, edx
div r13
sub rcx, rax
sub rsi, rdx
test r14, r14
je 0x1401325ca
test r12, r12
je 0x1401325ca
cmp r12, r14
jae 0x140132f00
mov rax, r14
xor edx, edx
div r12
sub rcx, rdx
sub rsi, rax
xor r10d, ecx
shr rcx, 0x20
movzx r11d, r11b
movzx edx, r10b
shr r10d, 8
mov eax, dword [r8 + rdx*4]
xor eax, r10d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, ecx
mov rcx, rbp
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, esi
shr rsi, 0x20
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x28], eax
xor eax, esi
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
shr rcx, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov edx, dword [r8 + r11*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov dword [r9 + 0x2c], eax
mov dword [r9 + 8], eax
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
movzx ecx, dl
shr rdx, 8
mov ecx, dword [r8 + rcx*4]
xor rdx, rcx
add rdx, rbp
mov ecx, edx
and ecx, 0x7ff
cmp ebx, 0x1f
ja 0x140132726
lea r10d, [rbx + 1]
mov dword [r9 + 0xc], r10d
mov word [r9 + rbx*2 + 0x40], cx
lea r10, [rcx + 0x10]
mov rcx, rdx
mov r11, qword [r9 + r10*8]
shr rcx, 0xb
mov rsi, r11
ror rsi, cl
mov rcx, rsi
add rcx, rdx
cmovns r11, rcx
mov rdx, rcx
mov qword [r9 + r10*8], r11
movzx r11d, cl
shr rdx, 8
mov r10d, dword [r9 + 0xc]
mov r11d, dword [r8 + r11*4]
and edx, 0xffffff
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov ebx, dword [r8 + r11*4]
mov r11, rcx
shr r11, 0x20
xor rdx, r11
xor rdx, rbx
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
add rdx, rcx
mov ecx, edx
and ecx, 0x7ff
cmp r10d, 0x1f
ja 0x1401327f7
lea r11d, [r10 + 1]
mov dword [r9 + 0xc], r11d
mov word [r9 + r10*2 + 0x40], cx
lea r10, [rcx + 0x10]
mov rcx, rdx
mov r11, qword [r9 + r10*8]
shr rcx, 0xb
mov rsi, r11
ror rsi, cl
mov rcx, rsi
add rcx, rdx
cmovns r11, rcx
movzx edx, cl
mov qword [r9 + r10*8], r11
mov r11d, dword [r8 + rdx*4]
mov rdx, rcx
mov r10d, dword [r9 + 0xc]
shr rdx, 8
and edx, 0xffffff
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov ebx, dword [r8 + r11*4]
mov r11, rcx
shr r11, 0x20
xor rdx, r11
xor rdx, rbx
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
add rdx, rcx
mov ecx, edx
and ecx, 0x7ff
cmp r10d, 0x1f
ja 0x1401328c7
lea r11d, [r10 + 1]
mov dword [r9 + 0xc], r11d
mov word [r9 + r10*2 + 0x40], cx
lea r11, [rcx + 0x10]
mov rcx, rdx
mov rbx, qword [r9 + r11*8]
shr rcx, 0xb
mov r10, rbx
ror r10, cl
add r10, rdx
cmovns rbx, r10
movzx edx, r10b
mov qword [r9 + r11*8], rbx
mov r11d, dword [r8 + rdx*4]
mov rdx, r10
mov rbx, r10
shr rdx, 8
shr rbx, 0x20
mov ecx, dword [r9 + 0xc]
and edx, 0xffffff
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, rbx
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor rdx, r11
movzx r11d, dl
shr rdx, 8
mov r11d, dword [r8 + r11*4]
xor r11, rdx
add r11, r10
mov edx, r11d
and edx, 0x7ff
cmp ecx, 0x1f
ja 0x140132995
lea r10d, [rcx + 1]
mov dword [r9 + 0xc], r10d
mov word [r9 + rcx*2 + 0x40], dx
add rdx, 0x10
mov rcx, r11
mov r10, qword [r9 + rdx*8]
shr rcx, 0xb
mov rsi, r10
ror rsi, cl
mov rcx, rsi
add rcx, r11
cmovns r10, rcx
shr rcx, 0x18
mov qword [r9 + rdx*8], r10
mov r10, qword [r9 + 0x20]
movzx edx, cl
ror r10, cl
add r10, qword [rdi + rdx]
movabs rdx, 0x547c783804a8c18e
add rdx, qword [r9 + 0x28]
mov r11, r10
mov ecx, edx
rol r11, cl
mov ecx, r10d
ror rdx, cl
mov r10, r11
mov ecx, edx
ror r10, cl
mov ecx, r11d
xor eax, r10d
rol rdx, cl
shr r10, 0x20
movzx ecx, al
shr eax, 8
xor eax, dword [r8 + rcx*4]
mov ecx, eax
movzx eax, al
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x20], ecx
xor ecx, r10d
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x24], ecx
xor ecx, edx
mov r11, qword [r9 + 0x20]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov rbp, r11
mov rsi, r11
not rbp
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
shr rdx, 0x20
xor ecx, dword [r8 + rax*4]
bswap rsi
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x28], ecx
xor ecx, edx
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
mov dword [r9 + 0x2c], ecx
mov r10, qword [r9 + 0x28]
mov rdi, r10
mov rbx, r10
not rdi
bswap rbx
cmp r11, 0xffffffffffffffff
je 0x140132afa
test rsi, rsi
je 0x140132afa
cmp rsi, rbp
jae 0x140132ee0
mov rax, rbp
xor edx, edx
div rsi
sub r11, rax
sub r10, rdx
test rdi, rdi
je 0x140132b1b
test rbx, rbx
je 0x140132b1b
cmp rbx, rdi
jae 0x140132ec0
mov rax, rdi
xor edx, edx
div rbx
sub r11, rdx
sub r10, rax
xor ecx, r11d
shr r11, 0x20
mov edi, dword [rsp + 0x14]
vpunpcklqdq xmm1, xmm1, xmm3
movzx eax, cl
shr ecx, 8
xor ecx, dword [r8 + rax*4]
rorx ebx, edi, 8
movzx edx, cl
mov eax, ecx
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, r11d
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, r10d
shr r10, 0x20
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x28], eax
xor eax, r10d
lea r10, str.cw
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x2c], eax
xor eax, dword [r9]
mov dword [r9], 0
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 8], eax
movzx eax, bh
movzx ecx, byte [r10 + rax]
mov eax, ebx
shr eax, 0x10
movzx eax, al
movzx eax, byte [r10 + rax]
shl ecx, 8
shl eax, 0x10
or ecx, eax
mov eax, ebx
shr eax, 0x18
movzx eax, byte [r10 + rax]
shl eax, 0x18
mov edx, eax
movzx eax, bl
movzx eax, byte [r10 + rax]
or eax, edx
mov edx, edi
or ecx, eax
mov eax, dword [rsp + 8]
mov r15d, dword [rsp + 0xc]
mov r11d, dword [rsp + 0x10]
xor ecx, 1
xor ecx, eax
mov eax, r15d
xor eax, ecx
vmovd xmm4, ecx
xor r11d, eax
vpinsrd xmm0, xmm4, eax, 1
xor edx, r11d
vmovd xmm2, r11d
rorx esi, edx, 8
vpinsrd xmm2, xmm2, edx, 1
mov edx, esi
mov eax, esi
vpunpcklqdq xmm0, xmm0, xmm2
shr edx, 0x10
movzx eax, ah
vinserti128 ymm1, ymm1, xmm0, 1
movzx edx, dl
movzx eax, byte [r10 + rax]
vmovdqu ymmword [rsp + 0x20], ymm1
movzx edx, byte [r10 + rdx]
shl eax, 8
shl edx, 0x10
or eax, edx
mov edx, esi
shr edx, 0x18
movzx edx, byte [r10 + rdx]
mov ebx, edx
movzx edx, sil
movzx edx, byte [r10 + rdx]
shl ebx, 0x18
or edx, ebx
or eax, edx
mov edx, r15d
xor eax, 2
xor edx, eax
xor ecx, eax
mov eax, edi
mov rdi, qword [rsp + 0x18]
xor r11d, edx
xor eax, edx
vmovd xmm0, ecx
vmovd xmm1, r11d
vpinsrd xmm0, xmm0, edx, 1
vpinsrd xmm1, xmm1, eax, 1
lea rax, [rsp + 0x20]
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rax]
pxor xmm0, xmm1
movups xmm2, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
aesenc xmm0, xmm2
aesenclast xmm0, xmm1
movups xmmword [rdi], xmm0
mov eax, dword [r9 + 8]
xor eax, dword [r9 + 0x20]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x20], eax
xor eax, dword [r9 + 0x24]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x24], eax
xor eax, dword [r9 + 0x28]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x28], eax
xor eax, dword [r9 + 0x2c]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
movzx edx, al
shr eax, 8
xor eax, dword [r8 + rdx*4]
mov dword [r9 + 0x2c], eax
mov dword [r9 + 8], eax
vzeroupper
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea ebx, [rsi + 4]
mov dword [r9 + 0xc], ebx
mov word [r9 + r11*2 + 0x40], ax
jmp 0x140132309
mov rax, r12
xor edx, edx
div r14
sub r10, rdx
sub rsi, rax
jmp 0x1401311b6
mov rax, r13
xor edx, edx
div r15
sub r10, rax
sub rsi, rdx
jmp 0x140131195
mov rax, rsi
xor edx, edx
div rbp
sub r11, rdx
sub r10, rax
jmp 0x140130989
mov rax, rdi
xor edx, edx
div r12
sub r10, rdx
sub r11, rax
jmp 0x140130968
mov rax, rbx
xor edx, edx
div rdi
sub r11, rdx
sub r10, rax
jmp 0x140132b1b
mov rax, rsi
xor edx, edx
div rbp
sub r11, rax
sub r10, rdx
jmp 0x140132afa
mov rax, r12
xor edx, edx
div r14
sub rcx, rdx
sub rsi, rax
jmp 0x1401325ca
mov rax, r13
xor edx, edx
div r15
sub rcx, rax
sub rsi, rdx
jmp 0x1401325a9
mov rax, r12
xor edx, edx
div r14
sub r10, rdx
sub rsi, rax
jmp 0x140132492
mov rax, r13
xor edx, edx
div r15
sub r10, rax
sub rsi, rdx
jmp 0x140132471
mov rax, r13
xor edx, edx
div r15
sub r10, rax
sub r11, rdx
jmp 0x140131c68
mov rax, r14
mov r14, rdx
xor edx, edx
div r14
sub r11, rax
sub r10, rdx
jmp 0x140131c47
mov rax, r13
xor edx, edx
div r15
sub r11, rdx
sub rcx, rax
jmp 0x140131b3e
mov rax, r14
mov r14, rdx
xor edx, edx
div r14
sub rcx, rdx
sub r11, rax
jmp 0x140131b1d
mov rax, r12
xor edx, edx
div r14
sub rcx, rdx
sub rsi, rax
jmp 0x1401312ee
mov rax, r13
xor edx, edx
div r15
sub rsi, rdx
sub rcx, rax
jmp 0x1401312cd