Function at 0x180029180
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4b0]
sub rsp, 0x5b0
mov rax, qword [0x180093030]
xor rax, rsp
mov qword [rbp + 0x4a0], rax
mov rdx, qword [rcx + 0x10]
xor r13d, r13d
mov rdi, rcx
movsxd rbx, dword [rdx + 8]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x30]
mov r14d, ebx
add rdx, 0x75
mov r8d, ebx
mov dword [rsp + 0x24], ebx
mov dword [rbp + 0x1c], 0x67452301
mov dword [rbp + 0x20], 0xefcdab89
mov qword [rsp + 0x40], r14
mov dword [rbp + 0x24], 0x98badcfe
mov dword [rbp + 0x28], 0x10325476
mov r12d, r13d
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x28], r13d
mov dword [rbp - 0x44], 0x67452301
mov dword [rbp - 0x40], 0xefcdab89
mov dword [rbp - 0x3c], 0x98badcfe
mov dword [rbp - 0x38], 0x10325476
mov dword [rbp - 0x34], 0xc3d2e1f0
mov esi, r13d
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], r13d
call fcn.18002d8c0
mov dword [rsp + 0x20], r13d
lea r15d, [r13 + 1]
lea eax, [rbx + 0x40]
lea r13, [rbp + rbx + 0x251]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x38], r13
nop dword [rax + rax]
lea eax, [r15 - 1]
cmp eax, 8
ja 0x1800294bb
lea edx, [r15 - 1]
lea rcx, [rsp + 0x48]
call fcn.180028310
test eax, eax
je 0x1800294bb
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x250]
movsxd r8, r15d
call fcn.18002d8c0
mov rbx, qword [rdi + 0x10]
mov eax, r15d
lea rcx, [rbp + rax + 0x250]
lea rdx, [rbx + 0x75]
mov r8, r14
call fcn.18002d8c0
mov rax, qword [rbx + 0x14]
lea r14, [rbp + 0x250]
mov qword [r13], rax
mov rax, qword [rbx + 0x1c]
mov qword [r13 + 8], rax
mov rax, qword [rbx + 0x24]
mov qword [r13 + 0x10], rax
mov rax, qword [rbx + 0x2c]
mov qword [r13 + 0x18], rax
mov rax, qword [rbx + 0x34]
mov qword [r13 + 0x20], rax
mov rax, qword [rbx + 0x3c]
mov qword [r13 + 0x28], rax
mov rax, qword [rbx + 0x44]
mov qword [r13 + 0x30], rax
mov rax, qword [rbx + 0x4c]
mov qword [r13 + 0x38], rax
mov r13d, dword [rsp + 0x28]
add r13d, r15d
je 0x1800293ab
nop word [rax + rax]
mov eax, esi
mov edi, 0x40
mov rdx, r14
sub edi, esi
lea rcx, [rsp + rax + 0x7c]
cmp r13d, edi
cmovb edi, r13d
mov r8d, edi
mov ebx, edi
call fcn.18002d8c0
mov esi, dword [rsp + 0x70]
add r14, rbx
add esi, edi
sub r13d, edi
mov dword [rsp + 0x70], esi
cmp esi, 0x40
jne 0x18002939d
lea rdx, [rsp + 0x7c]
lea r8d, [rsi - 0x30]
mov eax, dword [rdx]
add rdx, 4
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
dec r8
mov dword [rdx - 4], ecx
jne 0x180029350
lea rcx, [rsp + 0x70]
call fcn.180018840
mov r11d, dword [rsp + 0x74]
mov eax, r11d
add r11d, 0x40
mov dword [rsp + 0x74], r11d
cmp r11d, eax
jae 0x180029397
inc dword [rsp + 0x78]
xor esi, esi
mov dword [rsp + 0x70], esi
test r13d, r13d
jne 0x180029310
mov rdi, qword [rsp + 0x30]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.180019ac0
movsxd rcx, dword [rsp + 0x24]
mov rax, qword [rsp + 0x58]
mov qword [rbp + rcx + 0x30], rax
mov rax, qword [rsp + 0x60]
lea esi, [rcx + 0x14]
mov qword [rbp + rcx + 0x38], rax
mov eax, dword [rsp + 0x68]
lea r13, [rbp + 0x30]
mov dword [rbp + rcx + 0x40], eax
test esi, esi
je 0x180029457
nop word [rax + rax]
mov eax, r12d
mov edi, 0x40
mov rdx, r13
sub edi, r12d
lea rcx, [rbp + rax - 0x24]
cmp esi, edi
cmovb edi, esi
mov r8d, edi
mov ebx, edi
call fcn.18002d8c0
mov r12d, dword [rbp - 0x30]
add r13, rbx
add r12d, edi
sub esi, edi
mov dword [rbp - 0x30], r12d
cmp r12d, 0x40
jne 0x18002944e
lea rcx, [rbp - 0x30]
call fcn.180013eb0
mov r11d, dword [rbp - 0x2c]
mov eax, r11d
add r11d, r12d
mov dword [rbp - 0x2c], r11d
cmp r11d, eax
jae 0x180029447
inc dword [rbp - 0x28]
xor r12d, r12d
mov dword [rbp - 0x30], r12d
test esi, esi
jne 0x1800293f0
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x10]
movsxd rbx, dword [rsp + 0x20]
lea rcx, [rbp - 0x30]
lea rdx, [rbx + rax + 0x275]
call fcn.1800146e0
mov r13, qword [rsp + 0x38]
inc r15d
add ebx, 0x10
inc r13
lea eax, [r15 - 1]
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x38], r13
cmp eax, 3
jge 0x1800294a3
mov r12d, dword [rbp - 0x30]
mov esi, dword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
jmp 0x180029260
mov rcx, rdi
call fcn.180028be0
mov ebx, eax
test eax, eax
jne 0x1800294c0
mov rcx, rdi
call fcn.180028f90
jmp 0x1800294ca
mov ebx, 0xfffffed2
mov rcx, rdi
call fcn.180028f90
mov eax, ebx
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.18002cf50
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret