Function at 0x1801038e0
Capabilities:
Encrypt data using camellia
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 1]
movzx r14d, byte [rdx]
mov r12, r8
shl r14d, 8
mov r11d, ecx
xor r14d, eax
movzx eax, byte [rdx + 2]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdx + 3]
shl r14d, 8
xor r14d, eax
mov dword [r8], r14d
movzx eax, byte [rdx + 5]
movzx r15d, byte [rdx + 4]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rdx + 6]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rdx + 7]
shl r15d, 8
xor r15d, eax
mov dword [r8 + 4], r15d
movzx eax, byte [rdx + 9]
movzx r13d, byte [rdx + 8]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdx + 0xa]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdx + 0xb]
shl r13d, 8
xor r13d, eax
mov dword [r8 + 8], r13d
movzx eax, byte [rdx + 0xd]
movzx ebp, byte [rdx + 0xc]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 0xe]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 0xf]
shl ebp, 8
xor ebp, eax
mov dword [r8 + 0xc], ebp
cmp ecx, 0x80
je 0x180103a76
movzx eax, byte [rdx + 0x11]
movzx r14d, byte [rdx + 0x10]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdx + 0x12]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdx + 0x13]
shl r14d, 8
xor r14d, eax
mov dword [r8 + 0x20], r14d
movzx eax, byte [rdx + 0x15]
movzx r15d, byte [rdx + 0x14]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rdx + 0x16]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rdx + 0x17]
shl r15d, 8
xor r15d, eax
mov dword [r8 + 0x24], r15d
cmp ecx, 0xc0
jne 0x180103a1a
mov r13d, r14d
mov ebp, r15d
not r13d
not ebp
mov dword [r8 + 0x28], r13d
jmp 0x180103a63
movzx eax, byte [rdx + 0x19]
movzx r13d, byte [rdx + 0x18]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdx + 0x1a]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdx + 0x1b]
shl r13d, 8
xor r13d, eax
mov dword [r8 + 0x28], r13d
movzx eax, byte [rdx + 0x1d]
movzx ebp, byte [rdx + 0x1c]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 0x1e]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdx + 0x1f]
shl ebp, 8
xor ebp, eax
xor r14d, dword [r8]
xor r15d, dword [r8 + 4]
xor r13d, dword [r8 + 8]
mov dword [r8 + 0x2c], ebp
xor ebp, dword [r8 + 0xc]
mov edi, dword [r12]
mov esi, dword [r12 + 4]
lea rbx, [0x180244bf0]
mov eax, r14d
mov r9d, r15d
xor eax, 0xa09e667f
xor r9d, 0x3bcc908b
mov r8d, eax
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r10d, dword [rbx + rdx*4 + 0x800]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r10d, dword [rbx + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [rbx + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [rbx + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
mov r9d, dword [rbx + rdx*4 + 0xc00]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r9d, dword [rbx + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [rbx + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [rbx + rax*4]
mov eax, r10d
shl eax, 0x18
xor r9d, r10d
shr r10d, 8
add eax, r10d
xor r13d, r9d
xor eax, r9d
xor ebp, eax
mov eax, r13d
xor eax, 0xb67ae858
mov r9d, ebp
mov r8d, eax
shr rax, 0x10
xor r9d, 0x4caa73b2
movzx edx, al
mov eax, r8d
mov r10d, dword [rbx + rdx*4 + 0x800]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r10d, dword [rbx + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [rbx + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [rbx + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
mov r9d, dword [rbx + rdx*4 + 0xc00]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r9d, dword [rbx + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [rbx + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [rbx + rax*4]
mov eax, edi
xor r9d, r10d
xor eax, r9d
xor r14d, eax
mov eax, r10d
shr r10d, 8
shl eax, 0x18
add eax, r10d
xor eax, esi
xor eax, r9d
xor r15d, eax
mov eax, r14d
xor eax, 0xc6ef372f
mov r9d, r15d
mov r8d, eax
shr rax, 0x10
xor r9d, 0xe94f82be
movzx edx, al
mov eax, r8d
mov r10d, dword [rbx + rdx*4 + 0x800]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r10d, dword [rbx + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [rbx + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [rbx + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
mov r9d, dword [rbx + rdx*4 + 0xc00]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r9d, dword [rbx + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [rbx + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [rbx + rax*4]
mov eax, dword [r12 + 8]
mov ebx, dword [r12 + 0xc]
xor r9d, r10d
xor eax, r9d
xor r13d, eax
mov eax, r10d
shr r10d, 8
shl eax, 0x18
add eax, r10d
xor eax, ebx
xor eax, r9d
xor ebp, eax
mov eax, r13d
xor eax, 0x54ff53a5
mov r9d, ebp
mov r8d, eax
shr rax, 0x10
xor r9d, 0xf1d36f1c
movzx edx, al
mov eax, r8d
shr rax, 8
movzx ecx, al
lea rax, [0x180244bf0]
mov r10d, dword [rax + rdx*4 + 0x800]
lea rdx, [0x180244bf0]
mov eax, r8d
xor r10d, dword [rdx + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [rdx + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [rdx + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
lea rax, [0x180244bf0]
mov r9d, dword [rax + rdx*4 + 0xc00]
lea rdx, [0x180244bf0]
mov eax, r8d
xor r9d, dword [rdx + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [rdx + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [rdx + rax*4]
xor r9d, r10d
mov eax, r10d
shr r10d, 8
shl eax, 0x18
xor r14d, r9d
add eax, r10d
xor eax, r9d
xor r15d, eax
cmp r11d, 0x80
jne 0x1801040eb
mov r8d, ebp
mov dword [r12 + 0x1c], ebp
shl ebp, 0xf
shr r8d, 0x11
mov edx, r13d
mov ecx, r15d
shr edx, 0x11
shr ecx, 0x11
mov eax, r14d
shr eax, 0x11
mov dword [r12 + 0x18], r13d
shl r13d, 0xf
or ebp, eax
or r8d, r13d
mov dword [r12 + 0x14], r15d
mov r11d, ebp
mov dword [r12 + 0x3c], ebp
mov r10d, r8d
shr r11d, 0x11
shl ebp, 0xf
mov dword [r12 + 0x38], r8d
shl r8d, 0xf
shr r10d, 0x11
shl r15d, 0xf
or edx, r15d
or r11d, r8d
mov dword [r12 + 0x10], r14d
mov r9d, edx
mov dword [r12 + 0x34], edx
shl edx, 0xf
or r10d, edx
shr r9d, 0x11
mov edx, r11d
shr edx, 0x11
mov dword [r12 + 0x48], r11d
shl r11d, 0xf
shl r14d, 0xf
mov dword [r12 + 0x44], r10d
or ecx, r14d
mov eax, ecx
mov dword [r12 + 0x30], ecx
shl ecx, 0xf
or r9d, ecx
shr eax, 0x11
mov ecx, r10d
or ebp, eax
mov eax, r9d
mov dword [r12 + 0x40], r9d
shl r9d, 0xf
mov dword [r12 + 0x4c], ebp
shr eax, 0x11
shr ecx, 0x11
shl r10d, 0xf
or ecx, r9d
or edx, r10d
mov r9d, ebp
mov dword [r12 + 0x64], edx
shr r9d, 0x11
shl ebp, 0xf
or r9d, r11d
mov r11d, edx
shl edx, 0xf
or ebp, eax
mov r8d, r9d
mov eax, ecx
shr r8d, 0x11
shr r11d, 0x11
shl r9d, 0xf
or r8d, edx
mov edx, ebp
mov dword [r12 + 0x60], ecx
shr edx, 0x11
shl ecx, 0xf
shr eax, 0x11
or edx, r9d
or r11d, ecx
shl ebp, 0xf
mov dword [r12 + 0x78], edx
or ebp, eax
mov dword [r12 + 0x70], r11d
mov dword [r12 + 0x74], r8d
lea eax, [r8*4]
mov ecx, r8d
mov r9d, edx
shr ecx, 0x1e
shr r9d, 0x1e
mov r8d, ebp
or r9d, eax
lea eax, [rdx*4]
shr r8d, 0x1e
or r8d, eax
mov edx, r9d
mov dword [r12 + 0xa0], r9d
shl r9d, 0x11
shr edx, 0xf
mov dword [r12 + 0xa4], r8d
mov eax, r11d
shl r11d, 2
lea r10d, [rbp*4]
shr eax, 0x1e
or r11d, ecx
mov ecx, r8d
or r10d, eax
shl r8d, 0x11
shr ecx, 0xf
or ecx, r9d
mov r9d, ebx
mov eax, r10d
shr eax, 0xf
mov dword [r12 + 0xc0], ecx
mov ecx, dword [r12 + 8]
or eax, r8d
mov r8d, ecx
shr r9d, 0x11
mov dword [r12 + 0xc4], eax
shr r8d, 0x11
shl ecx, 0xf
or r9d, ecx
mov eax, r11d
shl ebx, 0xf
shr eax, 0xf
mov dword [r12 + 0xa8], r10d
mov dword [r12 + 0xac], r11d
shl r10d, 0x11
shl r11d, 0x11
mov dword [r12 + 0x28], r9d
or r10d, eax
or r11d, edx
mov eax, edi
shr eax, 0x11
mov edx, esi
shl esi, 0xf
or ebx, eax
or r8d, esi
shr edx, 0x11
mov eax, r8d
shl edi, 0xf
mov dword [r12 + 0x24], r8d
shr eax, 2
or edx, edi
shl r8d, 0x1e
mov ecx, edx
mov dword [r12 + 0x20], edx
shl edx, 0x1e
or edx, eax
mov eax, r9d
shl r9d, 0x1e
shr eax, 2
mov dword [r12 + 0x2c], ebx
shr ecx, 2
or r8d, eax
mov eax, ebx
shl ebx, 0x1e
shr eax, 2
mov dword [r12 + 0x7c], ebp
mov dword [r12 + 0xc8], r10d
or r9d, eax
mov dword [r12 + 0xcc], r11d
mov dword [r12 + 0x50], edx
or ebx, ecx
mov dword [r12 + 0x54], r8d
mov dword [r12 + 0x58], r9d
mov eax, edx
shl edx, 0xf
mov ecx, r8d
shr ecx, 0x11
shr eax, 0x11
shl r8d, 0xf
or ecx, edx
mov edx, r9d
shl r9d, 0xf
shr edx, 0x11
mov dword [r12 + 0x5c], ebx
or edx, r8d
mov r8d, ebx
shl ebx, 0xf
or ebx, eax
mov eax, ecx
shl ecx, 0x11
shr eax, 0xf
mov dword [r12 + 0x6c], ebx
shr r8d, 0x11
or r8d, r9d
mov r9d, edx
shl edx, 0x11
shr r9d, 0xf
mov dword [r12 + 0x68], r8d
or r9d, ecx
mov ecx, r8d
shl r8d, 0x11
shr ecx, 0xf
mov dword [r12 + 0x80], r9d
or ecx, edx
mov edx, ebx
shl ebx, 0x11
or ebx, eax
shr edx, 0xf
mov eax, r9d
or edx, r8d
shl r9d, 0x11
shr eax, 0xf
mov r10d, ecx
mov r11d, ebx
mov dword [r12 + 0x84], ecx
shl ecx, 0x11
mov dword [r12 + 0x88], edx
mov dword [r12 + 0x8c], ebx
shr r10d, 0xf
shr r11d, 0xf
shl ebx, 0x11
or r10d, r9d
or ebx, eax
mov r9d, edx
shl edx, 0x11
shr r9d, 0xf
mov eax, ebx
or r9d, ecx
or r11d, edx
shr eax, 0xf
mov edx, r9d
mov ecx, r11d
mov r8d, r10d
mov dword [r12 + 0x9c], ebx
shr edx, 0xf
shr ecx, 0xf
mov dword [r12 + 0x90], r10d
shl r10d, 0x11
mov dword [r12 + 0x94], r9d
shl r9d, 0x11
or edx, r10d
mov dword [r12 + 0x98], r11d
shl r11d, 0x11
or ecx, r9d
shr r8d, 0xf
or eax, r11d
shl ebx, 0x11
mov dword [r12 + 0xb0], edx
or ebx, r8d
mov dword [r12 + 0xb8], eax
mov dword [r12 + 0xb4], ecx
mov dword [r12 + 0xbc], ebx
mov eax, 3
jmp 0x180104725
mov ebx, dword [r12 + 0x20]
mov edi, dword [r12 + 0x24]
mov esi, dword [r12 + 0x2c]
mov dword [r12 + 0x30], r14d
mov dword [r12 + 0x34], r15d
mov dword [r12 + 0x38], r13d
mov dword [r12 + 0x3c], ebp
lea r11, [0x180244bf0]
xor r14d, ebx
mov eax, r14d
xor r15d, edi
xor eax, 0x10e527fa
mov r9d, r15d
mov r8d, eax
shr rax, 0x10
xor r9d, 0xde682d1d
movzx edx, al
mov eax, r8d
mov r10d, dword [r11 + rdx*4 + 0x800]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r10d, dword [r11 + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [r11 + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [r11 + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
mov r9d, dword [r11 + rdx*4 + 0xc00]
shr rax, 8
movzx ecx, al
mov eax, r8d
xor r9d, dword [r11 + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [r11 + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [r11 + rax*4]
mov r11d, dword [r12 + 0x28]
xor r9d, r10d
mov eax, r9d
xor eax, r11d
xor r13d, eax
mov eax, r10d
shr r10d, 8
shl eax, 0x18
add eax, r10d
xor eax, r9d
xor eax, esi
xor ebp, eax
mov eax, r13d
xor eax, 0xb05688c2
mov r9d, ebp
mov r8d, eax
shr rax, 0x10
xor r9d, 0xb3e6c1fd
movzx edx, al
mov eax, r8d
shr rax, 8
movzx ecx, al
lea rax, [0x180244bf0]
mov r10d, dword [rax + rdx*4 + 0x800]
lea rdx, [0x180244bf0]
mov eax, r8d
xor r10d, dword [rdx + rcx*4 + 0xc00]
shr rax, 0x18
xor r10d, dword [rdx + rax*4]
movzx eax, r8b
mov r8d, r9d
xor r10d, dword [rdx + rax*4 + 0x400]
mov eax, r9d
shr rax, 0x10
movzx edx, al
mov eax, r9d
shr rax, 8
movzx ecx, al
lea rax, [0x180244bf0]
mov r9d, dword [rax + rdx*4 + 0xc00]
lea rdx, [0x180244bf0]
mov eax, r8d
xor r9d, dword [rdx + rcx*4 + 0x400]
shr rax, 0x18
xor r9d, dword [rdx + rax*4 + 0x800]
movzx eax, r8b
xor r9d, dword [rdx + rax*4]
mov dword [r12 + 0x1c], ebp
mov dword [r12 + 0x18], r13d
xor r9d, r10d
mov eax, r10d
shr r10d, 8
shl eax, 0x18
xor r14d, r9d
add eax, r10d
mov ecx, r14d
mov dword [r12 + 0x10], r14d
xor eax, r9d
shr ecx, 2
shl r14d, 0x1e
xor r15d, eax
mov eax, r15d
mov dword [r12 + 0x14], r15d
shl r15d, 0x1e
shr eax, 2
or r14d, eax
mov eax, r13d
shl r13d, 0x1e
shr eax, 2
mov dword [r12 + 0x50], r14d
or r15d, eax
mov eax, ebp
shl ebp, 0x1e
shr eax, 2
or ebp, ecx
mov ecx, r14d
or r13d, eax
shr ecx, 2
mov eax, r15d
shr eax, 2
shl r14d, 0x1e
mov dword [r12 + 0x5c], ebp
or r14d, eax
mov eax, r13d
mov dword [r12 + 0x54], r15d
shr eax, 2
shl r15d, 0x1e
mov dword [r12 + 0x58], r13d
or r15d, eax
mov eax, ebp
shl ebp, 0x1e
shr eax, 2
or ebp, ecx
shl r13d, 0x1e
or r13d, eax
mov eax, ebp
mov edx, r15d
shr eax, 0xd
mov ecx, r13d
mov dword [r12 + 0xac], ebp
mov dword [r12 + 0xa0], r14d
shl ebp, 0x13
shr edx, 0xd
shr ecx, 0xd
mov dword [r12 + 0xa8], r13d
shl r13d, 0x13
or eax, r13d
mov dword [r12 + 0xa4], r15d
shl r15d, 0x13
mov dword [r12 + 0x104], eax
mov eax, r14d
shl r14d, 0x13
shr eax, 0xd
or ecx, r15d
or r14d, edx
or ebp, eax
mov eax, ebx
mov dword [r12 + 0x100], ecx
shr eax, 0x11
mov dword [r12 + 0x108], ebp
mov dword [r12 + 0x10c], r14d
mov r8d, esi
mov edx, r11d
shl r11d, 0xf
shr edx, 0x11
shl esi, 0xf
shr r8d, 0x11
or esi, eax
or r8d, r11d
mov ecx, edi
shr ecx, 0x11
mov r9d, esi
mov r10d, r8d
shr r10d, 0x11
mov dword [r12 + 0x2c], esi
shl esi, 0xf
shr r9d, 0x11
mov dword [r12 + 0x28], r8d
shl r8d, 0xf
or r9d, r8d
shl ebx, 0xf
shl edi, 0xf
or ecx, ebx
or edx, edi
mov dword [r12 + 0x48], r9d
mov eax, ecx
mov dword [r12 + 0x20], ecx
shl ecx, 0xf
shr eax, 0x11
mov r11d, edx
mov dword [r12 + 0x24], edx
or esi, eax
shl edx, 0xf
shr r11d, 0x11
or r11d, ecx
or r10d, edx
mov dword [r12 + 0x4c], esi
mov eax, r10d
mov ecx, r11d
mov dword [r12 + 0x40], r11d
shr eax, 2
shr ecx, 2
shl r11d, 0x1e
or r11d, eax
mov eax, r9d
mov dword [r12 + 0x44], r10d
shr eax, 2
shl r10d, 0x1e
shl r9d, 0x1e
or r10d, eax
mov eax, esi
shl esi, 0x1e
shr eax, 2
or esi, ecx
mov r8d, r10d
or r9d, eax
lea eax, [r10*4]
mov ecx, esi
shr ecx, 0x1e
mov edx, r9d
shr r8d, 0x1e
shr edx, 0x1e
mov dword [r12 + 0x90], r11d
mov dword [r12 + 0x94], r10d
or edx, eax
lea eax, [r9*4]
mov dword [r12 + 0x98], r9d
or ecx, eax
mov eax, r11d
mov dword [r12 + 0xd0], edx
mov edx, dword [r12 + 0x38]
shr eax, 0x1e
mov dword [r12 + 0xd4], ecx
lea ecx, [rsi*4]
mov dword [r12 + 0x9c], esi
or ecx, eax
lea eax, [r11*4]
or eax, r8d
mov dword [r12 + 0xd8], ecx
mov ecx, dword [r12 + 0x34]
mov dword [r12 + 0xdc], eax
mov eax, dword [r12 + 0x30]
mov r11d, dword [r12 + 0x3c]
mov edi, dword [r12]
mov r8d, eax
shl eax, 0xf
mov ebx, ecx
shl ecx, 0xf
mov r9d, edx
shr ebx, 0x11
mov r10d, r11d
or ebx, eax
shr r9d, 0x11
shl edx, 0xf
or r9d, ecx
mov ecx, ebx
mov dword [r12 + 0x30], ebx
shr ecx, 2
mov eax, r9d
shl r11d, 0xf
shr eax, 2
shr r10d, 0x11
shl ebx, 0x1e
or ebx, eax
or r10d, edx
shr r8d, 0x11
or r11d, r8d
mov dword [r12 + 0x34], r9d
shl r9d, 0x1e
mov eax, r10d
mov dword [r12 + 0x3c], r11d
mov dword [r12 + 0x70], ebx
shr eax, 2
mov dword [r12 + 0xcc], ebx
mov dword [r12 + 0x38], r10d
or r9d, eax
mov eax, r11d
shl r11d, 0x1e
or r11d, ecx
shr eax, 2
mov edx, r9d
shr edx, 0xf
shl r10d, 0x1e
mov dword [r12 + 0x74], r9d
or r10d, eax
mov eax, r11d
mov dword [r12 + 0xc0], r9d
shr eax, 0xf
shl r9d, 0x11
mov ecx, r10d
shr ecx, 0xf
mov dword [r12 + 0x7c], r11d
mov dword [r12 + 0xc8], r11d
or ecx, r9d
mov r9d, dword [r12 + 8]
shl r11d, 0x11
mov dword [r12 + 0xe0], ecx
mov dword [r12 + 0x78], r10d
mov dword [r12 + 0xc4], r10d
shl r10d, 0x11
or eax, r10d
mov dword [r12 + 0xe4], eax
mov eax, ebx
shl ebx, 0x11
or ebx, edx
shr eax, 0xf
mov edx, r9d
or r11d, eax
mov eax, dword [r12 + 4]
mov dword [r12 + 0xec], ebx
mov ebx, dword [r12 + 0xc]
mov ecx, eax
shl eax, 0xd
mov r8d, ebx
shr edx, 0x13
shl r9d, 0xd
shr r8d, 0x13
or edx, eax
shr ecx, 0x13
or r8d, r9d
shl ebx, 0xd
mov dword [r12 + 0xe8], r11d
mov eax, edi
shr eax, 0x13
shl edi, 0xd
mov dword [r12 + 0x60], edx
or ebx, eax
or edi, ecx
mov ecx, edx
shr ecx, 0x11
shl edx, 0xf
mov eax, edi
shr eax, 0x11
mov r9d, r8d
mov r10d, ebx
shr r9d, 0x11
mov dword [r12 + 0x68], ebx
mov dword [r12 + 0x6c], edi
or r9d, edx
shl ebx, 0xf
shl edi, 0xf
or ebx, eax
or edi, ecx
mov dword [r12 + 0x64], r8d
shl r8d, 0xf
mov ecx, r9d
shr r10d, 0x11
or r10d, r8d
shr ecx, 0xf
mov edx, ebx
shr edx, 0xf
mov eax, edi
mov dword [r12 + 0x80], r9d
shr eax, 0xf
shl r9d, 0x11
mov dword [r12 + 0x88], ebx
mov r11d, r10d
shl ebx, 0x11
mov dword [r12 + 0x8c], edi
or ebx, eax
shl edi, 0x11
shr r11d, 0xf
or edi, ecx
or r11d, r9d
mov dword [r12 + 0x84], r10d
shl r10d, 0x11
mov r8d, ebx
mov ecx, r11d
or edx, r10d
shr r8d, 0x1e
shr ecx, 0x1e
lea eax, [rdx*4]
mov r9d, edx
mov dword [r12 + 0xb4], edx
or r8d, eax
mov eax, edi
lea edx, [rbx*4]
shr eax, 0x1e
shr r9d, 0x1e
mov dword [r12 + 0xb0], r11d
or edx, eax
lea eax, [rdi*4]
mov dword [r12 + 0xb8], ebx
or ecx, eax
lea eax, [r11*4]
mov dword [r12 + 0xbc], edi
or eax, r9d
mov dword [r12 + 0xf0], r8d
mov dword [r12 + 0xf4], edx
mov dword [r12 + 0xfc], eax
mov eax, 4
mov dword [r12 + 0xf8], ecx
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret