Function at 0x1800234d0
Capabilities:
Hash data using sha1

Disassembly:
mov r11, rsp
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0xf0
mov rax, qword [0x18010db20]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rbx, qword [rcx + 8]
xor eax, eax
mov byte [rsp + 0x90], 0
xor edi, edi
mov r14d, r8d
mov r13, rdx
mov r12, r9
mov qword [r11 - 0x87], rax
mov qword [r11 - 0x7f], rax
mov qword [r11 - 0x77], rax
mov qword [r11 - 0x6f], rax
mov qword [r11 - 0x67], rax
mov qword [r11 - 0x5f], rax
mov qword [r11 - 0x57], rax
mov dword [r11 - 0x4f], eax
mov word [r11 - 0x4b], ax
mov byte [r11 - 0x49], al
mov edx, edi
mov r8, rbx
test rbx, rbx
je 0x180023569
mov eax, dword [r8 + 0x10]
test al, al
jns 0x180023554
cmp eax, 0x10
jne 0x18002355c
inc edx
jmp 0x18002355c
and al, 0x1f
cmp al, 0x10
jne 0x18002355c
inc edx
cmp edx, 2
je 0x180023573
mov r8, qword [r8]
test r8, r8
jne 0x180023543
mov eax, 0x8007000d
jmp 0x1800236ea
mov rdx, qword [r8 + 8]
mov ecx, edi
test rdx, rdx
je 0x180023569
nop
mov eax, dword [rdx + 0x10]
test al, al
jns 0x180023590
cmp eax, 6
jne 0x180023599
inc ecx
jmp 0x180023599
and eax, 0x1f
cmp al, 6
jne 0x180023599
inc ecx
cmp ecx, 1
je 0x1800235b0
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180023580
mov eax, 0x8007000d
jmp 0x1800236ea
test rdx, rdx
je 0x180023569
mov rcx, rdx
mov qword [rsp + 0xe0], rsi
call fcn.18001a410
mov esi, eax
test eax, eax
jne 0x1800235d5
mov eax, 0x8007000d
jmp 0x1800236e2
mov qword [rsp + 0xe8], rbp
cmp eax, 1
jne 0x1800235e7
lea ebp, [rax + 0x13]
jmp 0x180023612
cmp eax, 2
jne 0x1800235f1
lea ebp, [rax + 0x1e]
jmp 0x180023612
cmp eax, 3
jne 0x1800235fb
lea ebp, [rax + 0x2d]
jmp 0x180023612
cmp eax, 4
jne 0x180023605
lea ebp, [rax + 0x3c]
jmp 0x180023612
mov ebp, edi
mov eax, 0x1c
cmp esi, 5
cmove ebp, eax
mov ecx, edi
test rbx, rbx
je 0x180023648
nop dword [rax]
mov eax, dword [rbx + 0x10]
test al, al
jns 0x180023632
cmp eax, 0xa0
jne 0x18002363b
inc ecx
jmp 0x18002363b
and eax, 0x1f
cmp al, 0xa0
jne 0x18002363b
inc ecx
cmp ecx, 1
je 0x18002364b
mov rbx, qword [rbx]
test rbx, rbx
jne 0x180023620
mov rbx, rdi
mov qword [r12], rbx
test rbx, rbx
je 0x1800236d5
mov edx, 0x10
mov rcx, rbx
call fcn.18001dc10
test rax, rax
je 0x1800236d5
mov rdx, qword [rax + 8]
mov ecx, edi
test rdx, rdx
je 0x18002369b
mov eax, dword [rdx + 0x10]
test al, al
jns 0x180023685
cmp eax, 0x11
jne 0x18002368e
inc ecx
jmp 0x18002368e
and eax, 0x1f
cmp al, 0x11
jne 0x18002368e
inc ecx
cmp ecx, 1
je 0x18002369e
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180023675
mov rdx, rdi
test rdx, rdx
je 0x1800236d5
mov rbx, qword [rdx + 8]
mov ecx, edi
test rbx, rbx
je 0x1800236d5
nop
mov eax, dword [rbx + 0x10]
test al, al
jns 0x1800236c0
cmp eax, 4
jne 0x1800236c8
inc ecx
jmp 0x1800236c8
and al, 0x1f
cmp al, 4
jne 0x1800236c8
inc ecx
cmp ecx, 1
je 0x18002370a
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1800236b0
mov eax, 0x8007000d
mov rbp, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.180037360
add rsp, 0xf0
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
test rbx, rbx
je 0x1800236d5
cmp dword [rbx + 0x14], ebp
jne 0x1800236d5
cmp esi, 1
jne 0x1800237ef
lea rcx, [rsp + 0x20]
mov r8d, r14d
mov rdx, r13
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x38], edi
mov word [rsp + 0x3c], di
mov dword [rsp + 0x20], 0x67452301
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov dword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x30], 0xc3d2e1f0
mov dword [rsp + 0x80], edi
mov dword [rsp + 0x84], edi
call fcn.18001e580
cmp dword [rsp + 0x84], edi
jne 0x180023859
cmp dword [rsp + 0x80], edi
jne 0x1800237af
lea rcx, [rsp + 0x20]
call fcn.18001ae40
lea r8d, [rsi + 0x3f]
lea rcx, [rsp + 0x3e]
xor edx, edx
call fcn.180037390
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x80], esi
lea r8, [rsp + 0x90]
mov r9, rdi
nop word [rax + rax]
mov eax, edi
mov ecx, 3
inc edi
and eax, 3
inc r8
sub ecx, eax
mov rax, r9
inc r9
sar rax, 2
shl ecx, 3
mov edx, dword [rsp + rax*4 + 0x20]
shr edx, cl
cmp edi, 0x14
mov byte [r8 - 1], dl
jl 0x1800237c0
jmp 0x180023859
cmp esi, 2
jne 0x180023809
lea r8, [rsp + 0x90]
mov rdx, r14
mov rcx, r13
call fcn.180020840
jmp 0x180023859
cmp esi, 3
jne 0x180023823
lea r8, [rsp + 0x90]
mov rdx, r14
mov rcx, r13
call fcn.18001e990
jmp 0x180023859
cmp esi, 4
jne 0x18002383d
lea r8, [rsp + 0x90]
mov rdx, r14
mov rcx, r13
call fcn.18001eaf0
jmp 0x180023859
cmp esi, 5
jne 0x1800236d5
lea r8, [rsp + 0x90]
mov rdx, r14
mov rcx, r13
call fcn.180020730
mov rdx, qword [rbx + 0x18]
lea rcx, [rsp + 0x90]
mov r8d, ebp
call fcn.180037820
neg eax
sbb eax, eax
and eax, 0x8007000d
jmp 0x1800236da