Function at 0x180092860
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd0
mov eax, dword [0x180270d24]
xor r13d, r13d
xor eax, dword [0x180270d20]
mov r11, rcx
mov ecx, dword [0x180270d18]
mov rbx, r9
mov dword [rbp - 0x59], eax
mov rsi, r8
mov rdi, rdx
mov qword [rbp - 0x51], r13
mov eax, dword [r11]
lea r15d, [r13 + 8]
cmp eax, dword [str.V5DRM3.1]
lea r14d, [r13 + 4]
mov qword [rbp - 0x49], r13
mov r12d, r13d
mov qword [rbp - 0x41], r13
not ecx
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x29], r13
jne 0x180092a33
movzx eax, word [r11 + 4]
cmp ax, word [0x1801c46f4]
jne 0x180092a33
mov eax, dword [0x180270d14]
mov r10d, r13d
xor eax, dword [0x180270d10]
mov dword [rbp - 0x61], eax
mov eax, dword [0x180270d30]
shr ecx, 0xa
xor eax, dword [0x180270d34]
mov dword [rbp - 0x5d], eax
mov dword [rbp - 0x55], ecx
nop word [rax + rax]
movsxd rax, r10d
lea r8, [r11 + 8]
add r8, rax
lea rdx, [r11 + 0xb]
add rdx, rax
mov r9d, r13d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [r8]
add r9d, 2
mov byte [r8], al
lea r8, [r8 + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [r8 - 1]
mov byte [r8 - 1], al
mov byte [rdx + 1], cl
cmp r9d, 2
jb 0x180092940
add r10d, r14d
cmp r10d, 0x40
jb 0x180092920
lea rax, [rbp - 0x61]
mov r8d, 2
lea rcx, [r11 + 8]
mov qword [rsp + 0x20], rax
lea r9, [0x180270cf0]
lea rdx, [rbp - 0x21]
call fcn.18009afe0
lea r11, [rbp - 0x21]
mov r10d, r13d
mov r15d, r13d
mov r12d, 1
nop dword [rax + rax]
movsxd rax, r10d
lea r8, [rbp + 0x1b]
add r8, rax
lea rdx, [rbp + 0x1e]
add rdx, rax
mov r9d, r13d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [r8]
add r9d, 2
mov byte [r8], al
lea r8, [r8 + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [r8 - 1]
mov byte [r8 - 1], al
mov byte [rdx + 1], cl
cmp r9d, 2
jb 0x1800929d0
add r10d, r14d
cmp r10d, r14d
jb 0x1800929b0
mov rcx, r13
lea rdx, [rbp + 0x1b]
lea r8, [0x1801c46fc]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x180092a4b
cmp rcx, r14
jne 0x180092a20
mov dword [rsi], r13d
mov edx, r15d
add rdx, r11
mov eax, dword [rdx]
mov dword [rsi], eax
cmp r12d, 1
jne 0x180092a55
cmp eax, 0x48
je 0x180092a55
mov eax, 0x8ffd0570
jmp 0x180092ca7
mov r9, qword [rbp + 0x6f]
mov r8, qword [rbp + 0x77]
mov eax, r15d
movups xmm0, xmmword [rax + r11 + 4]
mov dword [rdi], r13d
mov eax, dword [rdx + 0x14]
mov dword [rdi], eax
mov dword [rbx], r13d
mov eax, r15d
movups xmmword [rsp + 0x30], xmm0
mov ecx, dword [rax + r11 + 0x18]
mov dword [rbx], ecx
mov dword [r9], r13d
mov eax, dword [rdx + 0x1c]
mov dword [r9], eax
mov dword [r8], r13d
mov eax, dword [rdx + 0x20]
mov dword [r8], eax
test r12d, r12d
jne 0x180092c29
lea rdx, [rsi + 3]
mov r10d, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [rsi]
add r10d, 2
mov byte [rsi], al
lea rsi, [rsi + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [rsi - 1]
mov byte [rsi - 1], al
mov byte [rdx + 1], cl
cmp r10d, 2
jb 0x180092ab0
lea rdx, [rdi + 3]
mov r10d, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [rdi]
add r10d, 2
mov byte [rdi], al
lea rdi, [rdi + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdi - 1]
mov byte [rdi - 1], al
mov byte [rdx + 1], cl
cmp r10d, 2
jb 0x180092af0
lea rdx, [rbx + 3]
mov r10d, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [rbx]
add r10d, 2
mov byte [rbx], al
lea rbx, [rbx + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [rbx - 1]
mov byte [rbx - 1], al
mov byte [rdx + 1], cl
cmp r10d, 2
jb 0x180092b30
lea rdx, [r9 + 3]
mov r10d, r13d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [r9]
add r10d, 2
mov byte [r9], al
lea r9, [r9 + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [r9 - 1]
mov byte [r9 - 1], al
mov byte [rdx + 1], cl
cmp r10d, 2
jb 0x180092b70
lea rdx, [r8 + 3]
mov r9d, r13d
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx - 2]
movzx ecx, byte [r8]
add r9d, 2
mov byte [r8], al
lea r8, [r8 + 2]
mov byte [rdx + 2], cl
movzx eax, byte [rdx + 1]
movzx ecx, byte [r8 - 1]
mov byte [r8 - 1], al
mov byte [rdx + 1], cl
cmp r9d, 2
jb 0x180092bb0
lea r10, [rbp - 0x7e]
lea r8, [r10 - 3]
mov rax, r10
mov r9d, r13d
nop dword [rax]
movzx ecx, byte [rax]
lea rax, [rax - 2]
movzx edx, byte [r8]
add r9d, 2
mov byte [r8], cl
lea r8, [r8 + 2]
mov byte [rax + 2], dl
movzx ecx, byte [rax + 1]
movzx edx, byte [r8 - 1]
mov byte [r8 - 1], cl
mov byte [rax + 1], dl
cmp r9d, 2
jb 0x180092bf0
add r10, 4
sub r14, 1
jne 0x180092be3
movzx eax, byte [rsp + 0x30]
mov byte [rbp - 0x71], al
movzx eax, byte [rbp - 0x80]
mov byte [rbp - 0x70], al
movzx eax, byte [rbp - 0x7f]
mov byte [rbp - 0x6f], al
movzx eax, byte [rbp - 0x7e]
mov byte [rbp - 0x6e], al
movzx eax, byte [rbp - 0x7a]
mov byte [rbp - 0x6d], al
movzx eax, byte [rbp - 0x7b]
mov byte [rbp - 0x6c], al
movzx eax, byte [rbp - 0x7c]
mov byte [rbp - 0x6b], al
movzx eax, byte [rbp - 0x7d]
mov byte [rbp - 0x6a], al
movzx eax, byte [rbp - 0x76]
mov byte [rbp - 0x69], al
movzx eax, byte [rbp - 0x77]
mov byte [rbp - 0x68], al
movzx eax, byte [rbp - 0x78]
mov byte [rbp - 0x67], al
movzx eax, byte [rbp - 0x79]
mov byte [rbp - 0x66], al
movzx eax, byte [rbp - 0x72]
mov byte [rbp - 0x65], al
movzx eax, byte [rbp - 0x73]
mov byte [rbp - 0x64], al
movzx eax, byte [rbp - 0x74]
mov byte [rbp - 0x63], al
movzx eax, byte [rbp - 0x75]
mov byte [rbp - 0x62], al
mov rax, qword [rbp + 0x7f]
movups xmm0, xmmword [rbp - 0x71]
movups xmmword [rax], xmm0
xor eax, eax
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret