Function at 0x18001dfb0
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x90
xor r13d, r13d
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 qword [rsp + 0x38], r13
mov dword [rsp + 0x40], r13d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, 4
lea rsi, [rsp + 0xc0]
mov ebx, r13d
mov dword [rsp + 0xc0], eax
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001e037
mov eax, ebx
shr rax, 2
mov dword [rsp + rax*4 + 0x44], r13d
movzx eax, byte [rsi]
mov edx, ebx
mov ecx, 3
sub ecx, r8d
shr rdx, 2
inc ebx
shl ecx, 3
inc rsi
shl eax, cl
or dword [rsp + rdx*4 + 0x44], eax
cmp ebx, 0x40
jne 0x18001e07a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001e5f0
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001e020
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, 4
mov dword [rsp + 0xc0], eax
lea rsi, [rsp + 0xc0]
nop dword [rax]
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001e0b7
mov eax, ebx
shr rax, 2
mov dword [rsp + rax*4 + 0x44], r13d
movzx eax, byte [rsi]
mov edx, ebx
mov ecx, 3
sub ecx, r8d
shr rdx, 2
inc ebx
shl ecx, 3
inc rsi
shl eax, cl
or dword [rsp + rdx*4 + 0x44], eax
cmp ebx, 0x40
jne 0x18001e0fa
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001e5f0
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001e0a0
mov dword [rsp + 0x40], ebx
mov r12d, 0x3e8
lea r14, [0x18008d3c8]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x18001e193
mov edi, 8
lea rsi, [rsp + 0xc8]
nop
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001e147
mov eax, ebx
shr rax, 2
mov dword [rsp + rax*4 + 0x44], r13d
movzx eax, byte [rsi]
mov edx, ebx
mov ecx, 3
sub ecx, r8d
shr rdx, 2
inc ebx
shl ecx, 3
inc rsi
shl eax, cl
or dword [rsp + rdx*4 + 0x44], eax
cmp ebx, 0x40
jne 0x18001e18a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001e5f0
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001e130
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, 4
lea rsi, [rsp + 0xc0]
mov dword [rsp + 0xc0], eax
nop dword [rax]
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001e1c7
mov eax, ebx
shr rax, 2
mov dword [rsp + rax*4 + 0x44], r13d
movzx eax, byte [rsi]
mov edx, ebx
mov ecx, 3
sub ecx, r8d
shr rdx, 2
inc ebx
shl ecx, 3
inc rsi
shl eax, cl
or dword [rsp + rdx*4 + 0x44], eax
cmp ebx, 0x40
jne 0x18001e20a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001e5f0
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001e1b0
mov dword [rsp + 0x40], ebx
lea ebp, [rdi + 0x64]
nop word [rax + rax]
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.18001ec50
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 qword [rsp + 0x38], r13
mov dword [rsp + 0x40], r13d
mov edi, 0x14
mov rsi, r14
mov ebx, r13d
nop word [rax + rax]
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001e287
mov eax, ebx
shr rax, 2
mov dword [rsp + rax*4 + 0x44], r13d
movzx eax, byte [rsi]
mov edx, ebx
mov ecx, 3
sub ecx, r8d
shr rdx, 2
inc ebx
shl ecx, 3
inc rsi
shl eax, cl
or dword [rsp + rdx*4 + 0x44], eax
cmp ebx, 0x40
jne 0x18001e2ca
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001e5f0
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001e270
sub rbp, 1
mov dword [rsp + 0x40], ebx
jne 0x18001e220
sub r12, 1
jne 0x18001e110
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.18001ec50
lea r11, [rsp + 0x90]
mov byte [0x18008d3dc], r13b
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret