Function at 0x14004d9e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x14033e810]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r13d, r9d
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x38], rcx
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 7
mov word [rcx], ax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], 7
mov word [rcx + 0x20], ax
mov word [rcx + 0x40], 0x100
mov qword [rcx + 0x48], rax
mov qword [rcx + 0x58], rax
mov qword [rcx + 0x60], 7
mov word [rcx + 0x48], ax
lea rbx, [rcx + 0x70]
mov qword [rsp + 0x30], rbx
mov dword [rbx], eax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
lea ecx, [rax + 0x28]
call fcn.140095d1c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x18]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rbx + 0x30], 7
mov qword [rbx + 0x38], 8
mov dword [rbx], 0x3f800000
mov r8, qword [rbx + 8]
lea edx, [rax + 0x10]
call fcn.140050420
nop
xor ebx, ebx
mov qword [rsi + 0xb0], rbx
mov qword [rsi + 0xb8], rbx
mov dword [rsi + 0xc0], ebx
call fcn.1400a2364
mov rcx, rax
test rax, rax
je 0x14004e0d8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 0xc8], rax
call fcn.1400a2364
mov rcx, rax
test rax, rax
je 0x14004e0e3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 0xd0], rax
call fcn.1400a2364
mov rcx, rax
test rax, rax
je 0x14004e0ee
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 0xd8], rax
mov qword [rsi + 0xe0], rbx
mov dword [rsi + 0xf0], ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
lea r9, [rsi + 0x20]
mov r8, rsi
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.14004d3b0
cmp qword [r14 + 0x10], rbx
je 0x14004db86
mov rdx, r14
lea rcx, [rsi + 0x48]
call fcn.140010120
jmp 0x14004dbe0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.14000fca0
mov rdx, rax
lea rcx, [rsi + 0x48]
call fcn.14000f1f0
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14004dbe0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dbdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e0f9
call fcn.1400081a0
lea rdx, str.msiexec.exe
lea rcx, [rsp + 0x60]
call fcn.14000fd70
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x48]
call fcn.140011f50
mov r9, rax
lea rcx, [rsp + 0x60]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0x78]
cmp r11, 8
cmovae rcx, r10
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14004dc27
mov r9, qword [rax]
cmp rdx, qword [rsp + 0x70]
jne 0x14004dc6e
test rdx, rdx
je 0x14004dee9
movzx eax, word [r9]
movzx r8d, word [rcx]
cmp ax, r8w
jb 0x14004dc6e
sub r9, rcx
cmp ax, r8w
ja 0x14004dc6e
cmp rdx, 1
je 0x14004dee9
dec rdx
add rcx, 2
movzx eax, word [rcx + r9]
movzx r8d, word [rcx]
cmp ax, r8w
jae 0x14004dc4c
xor bl, bl
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x14004dcba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dcab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e0ff
call fcn.1400081a0
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x60]
movdqa xmm0, xmmword [0x1402fa1a0]
movdqu xmmword [rbp - 0x70], xmm0
xor r15d, r15d
mov word [rbp - 0x80], r15w
cmp r11, 8
jb 0x14004dd0a
lea rdx, [r11*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14004dd02
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e105
mov rcx, r10
call fcn.1400081a0
test bl, bl
je 0x14004dd67
lea rdx, [rbp - 0x20]
lea rcx, [rsi + 0x48]
call fcn.140011f50
mov rdx, rax
lea rcx, [rsi + 0x48]
call fcn.14000f1f0
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14004dd67
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dd62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e10b
call fcn.1400081a0
mov r14, 0xffffffffffffffff
mov qword [rsi + 0xe8], r14
mov edx, dword [rbp + 0x130]
mov dword [rsi + 0x6c], edx
mov dword [rsi + 0x68], r13d
movzx ecx, dl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0x131]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x132]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x133]
xor rcx, rax
imul rcx, r8
and rcx, qword [0x14034e7f0]
add rcx, rcx
mov r8, qword [0x14034e7d8]
mov rax, qword [r8 + rcx*8 + 8]
mov r9, qword [0x14034e7c8]
cmp rax, r9
je 0x14004dfcc
mov r8, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x14004de12
nop dword [rax]
cmp rax, r8
je 0x14004dfcc
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x14004de00
test rax, rax
je 0x14004dfcc
cmp rax, r9
je 0x14004dfcc
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14004de35
lock inc dword [rcx + 8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rax + 0x18]
mov qword [rsi + 0xb0], rax
mov rbx, qword [rsi + 0xb8]
mov qword [rsi + 0xb8], rcx
test rbx, rbx
je 0x14004de7e
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004de7e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004de7e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsi + 0xb0]
cmp dword [rcx + 0xc0], 0
je 0x14004dfcc
add rcx, 0x48
lea rdx, [rbp - 0x60]
call fcn.140011f50
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x14004deac
mov rbx, qword [rax]
call fcn.1400a2364
mov rcx, rax
test rax, rax
je 0x14004e111
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test rbx, rbx
je 0x14004deff
cmp rbx, 0x10000
jae 0x14004def0
movzx edx, bx
lea rcx, [rsp + 0x30]
call fcn.14000d610
jmp 0x14004df13
mov bl, 1
jmp 0x14004dc70
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x14004def3
jmp 0x14004df02
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14000df90
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14004df53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004df4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e11c
call fcn.1400081a0
movdqa xmm0, xmmword [0x1402fa1a0]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r15w
lea rdi, str.msiexec.exe
lea r15, vtable.CIniData.0
mov rbx, qword [rsp + 0x30]
nop dword [rax + rax]
mov rdx, qword [rdi]
test rdx, rdx
je 0x14004e0cd
mov rcx, rbx
call fcn.14024bf20
test eax, eax
je 0x14004dfa8
add rdi, 8
cmp rdi, r15
jne 0x14004df80
mov eax, 3
jmp 0x14004dfad
mov eax, 5
mov dword [rsi + 0xc0], eax
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x14004dfcc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsi + 0x58], 0
je 0x14004e059
lea rdx, [rsi + 0x48]
cmp qword [rdx + 0x18], 8
jb 0x14004dfe5
mov rdx, qword [rdx]
lea rcx, [rbp]
call fcn.140051c50
nop
lea rcx, [rbp]
call fcn.1400520c0
test eax, eax
je 0x14004e050
lea rcx, [rsi + 0xc8]
lea rdx, [rbp + 0xb0]
call fcn.14000d7c0
movzx eax, word [rbp + 0x7a]
movzx edx, word [rbp + 0x78]
movzx r9d, word [rbp + 0x76]
movzx r8d, word [rbp + 0x74]
lea rcx, [rsi + 0xd0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, str._u._u._u._u
call fcn.14000e180
lea rcx, [rsi + 0xd8]
lea rdx, [rbp + 0x98]
call fcn.14000d7c0
nop
lea rcx, [rbp]
call fcn.140051f80
mov byte [rsi + 0x40], 1
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14004e0a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e09a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e122
call fcn.1400081a0
nop
mov rax, rsi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1402155d0
mov rbx, qword [rsp + 0x228]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400080b0
nop
mov ecx, 0x80004005
call fcn.1400080b0
nop
mov ecx, 0x80004005
call fcn.1400080b0
nop
mov ecx, 0x80004005
call fcn.1400080b0
nop
call fcn.14024b534
nop
call fcn.14024b534
nop
call fcn.14024b534
int3
call fcn.14024b534
nop
mov ecx, 0x80004005
call fcn.1400080b0
nop
call fcn.14024b534
nop
call fcn.14024b534
int3