Function at 0x18001d8f0
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 0x18001d977
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 0x18001d9ba
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001df30
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001d960
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 0x18001d9f7
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 0x18001da3a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001df30
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001d9e0
mov dword [rsp + 0x40], ebx
mov r12d, 0x3e8
lea r14, [0x18008e410]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x18001dad3
mov edi, 8
lea rsi, [rsp + 0xc8]
nop
mov r8d, ebx
dec rdi
and r8d, 3
jne 0x18001da87
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 0x18001daca
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001df30
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001da70
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 0x18001db07
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 0x18001db4a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001df30
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001daf0
mov dword [rsp + 0x40], ebx
lea ebp, [rdi + 0x64]
nop word [rax + rax]
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.18001e590
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 0x18001dbc7
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 0x18001dc0a
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x20]
xor r9d, r9d
mov ebx, r13d
call fcn.18001df30
inc qword [rsp + 0x38]
test rdi, rdi
jne 0x18001dbb0
sub rbp, 1
mov dword [rsp + 0x40], ebx
jne 0x18001db60
sub r12, 1
jne 0x18001da50
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.18001e590
lea r11, [rsp + 0x90]
mov byte [0x18008e424], 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