Function at 0x180047da0
Capabilities:
Hash data using fnv

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 - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x180118100]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r13, rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18004827a
add rcx, 0xd0
call fcn.180043570
mov rax, qword [0x1801bdc78]
add rax, 0x40
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180047e15
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
call fcn.180090470
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp - 0x60]
call fcn.18000da70
mov esi, 0xc00
mov dword [rsp + 0x20], esi
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x70]
call fcn.180061650
nop
lea rcx, [rbp - 0x60]
call fcn.18002fb10
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x180047e76
lock inc dword [rbx + 8]
mov rbx, qword [rbp - 0x68]
mov esi, dword [rsp + 0x20]
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x80], xmm0
test rbx, rbx
je 0x180047e90
lock inc dword [rbx + 8]
mov rbx, qword [rbp - 0x68]
mov esi, dword [rsp + 0x20]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r12, 0xffffffffffffffff
test rbx, rbx
je 0x180047ed3
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180047ecf
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180047ecf
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov esi, dword [rsp + 0x20]
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x18004820d
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.18005feb0
mov rax, qword [rsp + 0x50]
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x180047f09
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1800482aa
cmp eax, 1
jbe 0x18004804b
lea rcx, [r14 + 0x20]
cmp qword [r14 + 0x38], 7
jbe 0x180047f21
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x30]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.180060960
cmp rax, rdi
je 0x180047f7b
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x180047f4f
cmp cx, 0x2f
jne 0x180047f58
add rax, 2
cmp rax, rdi
jne 0x180047f40
cmp rax, rdi
je 0x180047f7b
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x180047f7b
cmp cx, 0x2f
je 0x180047f7b
mov rbx, rdx
cmp rax, rdx
jne 0x180047f60
mov r8d, 0x3a
mov rdx, rdi
mov rcx, rbx
call fcn.180091dd0
cmp rbx, rax
je 0x180047fcf
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x180047fcf
cmp word [rdx], 0x2e
jne 0x180047fb1
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x180047fd2
cmp word [rcx], 0x2e
jne 0x180047fd2
jmp 0x180047fcf
sub rdx, 2
cmp rbx, rdx
je 0x180047fcf
nop word [rax + rax]
cmp word [rdx], 0x2e
je 0x180047fd2
sub rdx, 2
cmp rbx, rdx
jne 0x180047fc0
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov r8, rax
lea rcx, [rsp + 0x30]
call fcn.180061220
or esi, 0x380
or esi, 1
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.18005fdc0
or esi, 2
mov dword [rsp + 0x20], esi
cmp qword [rax + 0x18], 0xf
jbe 0x180048024
mov rax, qword [rax]
movsx ecx, byte [rax]
test cl, cl
je 0x18004804b
xor ecx, 0x811c9dc5
imul edx, ecx, 0x1000193
lea rcx, [rax + 1]
call fcn.180036e90
cmp eax, 0x6ef6b76f
jne 0x18004804b
xor bl, bl
jmp 0x18004804d
mov bl, 1
test sil, 2
je 0x180048065
and esi, 0xfffffffd
mov dword [rsp + 0x20], esi
lea rcx, [rsp + 0x60]
call fcn.1800304d0
nop
test sil, 1
je 0x18004807c
and esi, 0xfffffffe
mov dword [rsp + 0x20], esi
lea rcx, [rsp + 0x30]
call fcn.18002fb10
test bl, bl
jne 0x1800481f7
lea rcx, [r14 + 0x20]
cmp qword [r14 + 0x38], 7
jbe 0x180048093
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x30]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.180060960
cmp rax, rdi
je 0x1800480eb
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1800480bf
cmp cx, 0x2f
jne 0x1800480c8
add rax, 2
cmp rax, rdi
jne 0x1800480b0
cmp rax, rdi
je 0x1800480eb
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1800480eb
cmp cx, 0x2f
je 0x1800480eb
mov rbx, rdx
cmp rax, rdx
jne 0x1800480d0
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.180061220
or esi, 0x1c
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.18005fdc0
mov rdi, rax
mov r14, qword [rax + 0x10]
mov rbx, rax
mov r15, qword [rax + 0x18]
cmp r15, 0xf
jbe 0x18004813c
mov rbx, qword [rax]
test r14, r14
je 0x18004818a
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x30]
call fcn.1800bf860
mov byte [rbp - 2], 1
lea rax, [r14 - 1]
mov r8, r12
cmp rax, r12
cmovb r8, rax
add r8, rbx
movzx eax, byte [r8]
cmp byte [rbp + rax - 0x30], 0
jne 0x180048185
cmp r8, rbx
je 0x18004818a
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax - 0x30], 0
je 0x180048172
sub r8, rbx
jmp 0x18004818d
mov r8, r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
cmp r14, r8
cmovb r8, r14
cmp r15, 0xf
jbe 0x1800481ae
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.18002fe70
or esi, 0x60
mov dword [rsp + 0x20], esi
lea rcx, [rsp + 0x60]
call fcn.1800304d0
nop
lea rcx, [rsp + 0x30]
call fcn.18002fb10
mov rcx, qword [r13 + 0x18]
add rcx, 0xd0
lea rdx, [rbp - 0x60]
call fcn.18004c6c0
nop
lea rcx, [rbp - 0x60]
call fcn.1800304d0
xor r15d, r15d
lea rcx, [rbp - 0x80]
call fcn.180060230
test eax, eax
jne 0x1800482bb
jmp 0x180047ed3
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180048247
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180048247
mov rbx, qword [rbp - 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180048247
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x18004827a
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18004827a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r12d
cmp r12d, 1
jne 0x18004827a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1800921e0
lea r11, [rsp + 0x1e0]
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
lea r8, [r14 + 0x20]
lea rcx, str.directory_entry::status
call fcn.18002eb00
int3
mov edx, eax
call fcn.180060680
int3