Function at 0x14009c460
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0xe0]
cmp r12, qword [r14 + 0x10]
jbe 0x14009d099
push rbp
mov rbp, rsp
sub rsp, 0x158
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rcx
test rax, rax
jl 0x14009d085
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x170], rbx
mov rdx, qword [rbx + 0x100]
mov rax, rcx
call rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x108], 0x11
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], rdx
lea rbx, [0x14066a400]
lea rax, [0x140b501a0]
lea rcx, [rsp + 0x108]
call fcn.140077620
nop dword [rax]
test cl, cl
je 0x14009c55f
test rax, rax
je 0x14009d074
mov rcx, qword [0x1405a0580]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x14009d025
mov rax, qword [rsp + 0x168]
mov ebx, 0xa
call fcn.14008d4e0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0xb8]
call fcn.140093720
mov ecx, 1
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x68]
lea r8, [0x14077dfd8]
mov r9, rcx
mov r10, rax
mov r11, rbx
lea rax, [rsp + 0x48]
lea rbx, [0x140780350]
call fcn.140054340
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rbx
call fcn.1400973a0
mov rcx, qword [rsp + 0xb8]
xor edx, edx
jmp 0x14009c5e2
inc rdx
cmp rbx, rdx
jle 0x14009c685
mov rsi, qword [rax + rdx*8]
cmp qword [rsi + 0x30], rcx
jne 0x14009c5df
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x140], rcx
lea rax, [0x14066a400]
lea rbx, [rsp + 0x128]
nop dword [rax]
call fcn.14000c220
lea rbx, [0x14066a400]
mov rcx, rax
lea rdi, [0x1406a3c20]
mov rsi, qword [rsp + 0xc0]
lea rax, [0x140b501a0]
call fcn.1400777e0
test rax, rax
je 0x14009d016
mov rcx, qword [0x1405a05a0]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
jmp 0x14009cfca
lea rcx, [0x1406072a0]
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe0], rcx
lea rax, [0x14066c5c0]
call fcn.14000f3a0
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0xe0]
test byte [rcx], al
cmp dword [0x140bd7e70], 0
je 0x14009c6f6
mov rbx, rax
lea rax, [0x14066c5c0]
call fcn.140015520
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx]
mov qword [rax], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rcx + 0x28]
movups xmmword [rax + 0x28], xmm0
movups xmm0, xmmword [rcx + 0x38]
movups xmmword [rax + 0x38], xmm0
mov rdx, qword [rsp + 0xb8]
movzx r9d, byte [rdx + 0x14]
and r9d, 8
mov byte [rax + 0x14], r9b
mov rbx, qword [rsp + 0x90]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
mov rax, qword [rsp + 0xd8]
call fcn.140001aa0
call fcn.140068ac0
mov rdx, qword [rsp + 0x150]
mov dword [rdx + 0x28], eax
mov r9, qword [rsp + 0xb8]
mov r10d, dword [r9 + 0x10]
xor eax, eax
jmp 0x14009c780
imul r10d, r10d, 0x1000193
xor r10d, 0x5b
mov eax, 1
nop
test rax, rax
jle 0x14009c76f
mov dword [rdx + 0x10], r10d
mov rax, qword [rsp + 0x168]
mov rcx, rax
jmp 0x14009c7a0
mov dword [rdx + 0x10], esi
shr eax, 8
nop dword [rax]
test eax, eax
jbe 0x14009c7ae
mov esi, dword [rdx + 0x10]
xor ebx, ebx
jmp 0x14009cfc0
mov esi, dword [rdx + 0x10]
xor eax, eax
jmp 0x14009c7c3
imul esi, esi, 0x1000193
xor esi, 0x5d
mov eax, 1
test rax, rax
jle 0x14009c7b5
mov dword [rdx + 0x10], esi
cmp dword [0x140bd7e70], 0
je 0x14009c7e4
call fcn.14006d140
mov qword [r11], r9
mov rsi, qword [rdx + 0x30]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x30], r9
mov dword [rdx + 0x2c], 0
mov rsi, qword [r9]
test rsi, rsi
jbe 0x14009c810
mov rax, 0xffffffffffffffff
mov rbx, rdx
xor edx, edx
div rsi
cmp rax, rcx
jae 0x14009c813
jmp 0x14009cf9a
mov rbx, rdx
imul rsi, rcx
mov qword [rbx], rsi
test rcx, rcx
jle 0x14009c83a
mov rdx, qword [r9 + 8]
test rdx, rdx
je 0x14009c83a
mov rsi, qword [r9]
lea rdi, [rcx - 1]
imul rdi, rsi
add rdx, rdi
mov qword [rbx + 8], rdx
movzx edx, byte [r9 + 0x15]
mov byte [rbx + 0x15], dl
movzx edx, byte [r9 + 0x16]
mov byte [rbx + 0x16], dl
mov qword [rbx + 0x40], rcx
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
nop
call fcn.1400991e0
lea rcx, [0x14078db08]
cmp rax, rcx
jne 0x14009cf87
test byte [rbx], al
cmp dword [0x140bd7e70], 0
nop
jne 0x14009c88c
mov rdx, qword [rsp + 0x150]
jmp 0x14009c8a4
call fcn.14006d140
mov qword [r11], rbx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x38]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x38], rbx
mov rsi, qword [rsp + 0xb8]
cmp qword [rsi + 8], 0
je 0x14009c8bf
mov rdi, qword [rdx]
test rdi, rdi
jne 0x14009c8f1
cmp dword [0x140bd7e70], 0
je 0x14009c8d4
mov rcx, qword [rdx + 0x20]
call fcn.14006d120
mov qword [r11], rcx
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], 0
mov r8, qword [rsp + 0x168]
jmp 0x14009cd16
mov r8, qword [rsp + 0x168]
cmp r8, 1
jne 0x14009c945
movzx ecx, byte [rdx + 0x17]
movzx edi, byte [rsi + 0x17]
and edi, 0x40
or ecx, edi
mov byte [rdx + 0x17], cl
mov rcx, qword [rsi + 0x20]
cmp dword [0x140bd7e70], 0
je 0x14009c930
nop dword [rax]
call fcn.14006d140
mov qword [r11], rcx
mov rdi, qword [rdx + 0x20]
mov qword [r11 + 8], rdi
mov qword [rdx + 0x20], rcx
mov rcx, qword [rsi + 8]
mov qword [rdx + 8], rcx
nop dword [rax]
jmp 0x14009cd16
movzx r9d, byte [rsi + 0x17]
test r9b, 0x40
jne 0x14009ca2f
nop word [rax + rax]
nop dword [rax]
cmp rdi, 0x20000
ja 0x14009ca2f
mov rcx, qword [rdx + 8]
shr rcx, 3
add rcx, 7
shr rcx, 3
add rcx, 7
and rcx, 0xfffffffffffffff8
mov qword [rsp + 0x98], rcx
lea rax, [0x1405ffe20]
mov rbx, rcx
call fcn.140050380
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0x150]
mov r8, qword [rdx + 0x40]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
xor edi, edi
mov rsi, qword [rsp + 0xb8]
call fcn.140098d40
mov rdx, qword [rsp + 0x98]
test rdx, rdx
jbe 0x14009cf7d
cmp dword [0x140bd7e70], 0
jne 0x14009c9f6
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
jmp 0x14009ca16
call fcn.14006d140
mov rcx, qword [rsp + 0x148]
mov qword [r11], rcx
mov rdx, qword [rsp + 0x150]
mov rsi, qword [rdx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x20], rcx
mov rsi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
jmp 0x14009cd16
lea rax, [0x140606760]
call fcn.14000f3a0
mov ebx, 4
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
call fcn.140098ec0
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rdx + 8]
shr rsi, 3
mov rdi, qword [rdx]
shr rdi, 3
mov qword [rsp + 0xa8], rdi
cmp rdi, rsi
jbe 0x14009cb0a
mov qword [rsp + 0xa0], rsi
add rbx, 2
cmp rcx, rbx
jae 0x14009cab2
mov edi, 2
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov word [rbx + rax - 2], 1
lea r8, [rsi + 1]
nop dword [rax]
cmp rdi, r8
jbe 0x14009cb0a
inc rbx
cmp rcx, rbx
jae 0x14009caf6
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], 0x81
mov r8, rdi
sub rdi, rsi
lea r9, [rdi - 1]
jmp 0x14009cef1
cmp rdi, 0x80
jae 0x14009cb4d
inc rbx
cmp rcx, rbx
jae 0x14009cb3c
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa8]
or rdi, 0x80
mov byte [rbx + rax - 1], dil
jmp 0x14009cc05
inc rbx
cmp rcx, rbx
jae 0x14009cb76
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa8]
mov byte [rbx + rax - 1], pe_nt_image_headers64
nop
jmp 0x14009cb91
mov r8, rdi
or r8, 0x80
mov byte [rbx + rax - 1], r8b
shr rdi, 7
mov qword [rsp + 0x80], rdi
nop dword [rax]
cmp rdi, 0x80
jb 0x14009cbd7
inc rbx
cmp rcx, rbx
jae 0x14009cb7e
mov edi, 1
lea rsi, [0x1405ffe20]
nop dword [rax]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x80]
jmp 0x14009cb7e
inc rbx
cmp rcx, rbx
jae 0x14009cc00
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x80]
mov byte [rbx + rax - 1], dil
mov r8, qword [rsp + 0x168]
lea r9, [r8 - 1]
jmp 0x14009cc26
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x78], r9
cmp r9, 0x80
jb 0x14009cc64
inc rbx
cmp rcx, rbx
jae 0x14009cc13
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x78]
jmp 0x14009cc13
inc rbx
cmp rcx, rbx
jae 0x14009cc92
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x78]
mov byte [rbx + rax - 1], r9b
inc rbx
cmp rcx, rbx
jae 0x14009ccc0
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x168]
mov byte [rbx + rax - 1], 0
test rbx, rbx
jbe 0x14009ced4
lea rcx, [rbx - 4]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x150]
movzx esi, byte [rcx + 0x17]
or esi, 0x40
mov byte [rcx + 0x17], sil
cmp dword [0x140bd7e70], 0
je 0x14009cd00
call fcn.14006d140
mov qword [r11], rax
mov rsi, qword [rcx + 0x20]
mov qword [r11 + 8], rsi
mov qword [rcx + 0x20], rax
mov rsi, qword [rcx]
mov qword [rcx + 8], rsi
mov rdx, rcx
mov rsi, qword [rsp + 0xb8]
nop
mov rcx, qword [rsi]
cmp dword [0x140bd7e70], 0
je 0x14009cd2f
mov rdi, qword [rdx + 0x18]
call fcn.14006d120
mov qword [r11], rdi
mov qword [rdx + 0x18], 0
mov rdi, qword [rsi + 0x18]
nop dword [rax + rax]
test rdi, rdi
je 0x14009cde0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xf8], rdi
lea rax, [0x14065c920]
nop dword [rax]
call fcn.14000f3a0
lea rcx, [0x14009d0e0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x140bd7e70], 0
jne 0x14009cda0
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x150]
jmp 0x14009cdc4
call fcn.14006d160
mov rdx, qword [rsp + 0xf8]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsi + 0x18]
mov qword [r11 + 0x10], rdi
mov qword [rax + 0x18], rdx
mov qword [rsi + 0x18], rax
mov rdx, rsi
mov rsi, qword [rsp + 0xb8]
mov r8, rcx
nop word [rax + rax]
cmp r8, 1
jne 0x14009cdfb
movzx ecx, byte [rsi + 0x17]
test cl, 0x20
je 0x14009cdfb
movzx ecx, byte [rdx + 0x17]
or ecx, 0x20
mov byte [rdx + 0x17], cl
jmp 0x14009ce05
movzx ecx, byte [rdx + 0x17]
and ecx, 0xffffffdf
mov byte [rdx + 0x17], cl
mov qword [rsp + 0x128], 0x11
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], r8
lea rax, [0x14066a400]
lea rbx, [rsp + 0x128]
nop dword [rax]
call fcn.14000c220
lea rbx, [0x14066a400]
mov rcx, rax
lea rdi, [0x1406a3c20]
mov rsi, qword [rsp + 0x150]
lea rax, [0x140b501a0]
call fcn.1400777e0
test rax, rax
je 0x14009cec8
mov rcx, qword [0x1405a05c0]
mov rdx, qword [rcx]
mov esi, dword [rax + 0x10]
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x14009ceba
lea rsi, [rdi + 1]
test r8, r8
jne 0x14009ce7c
mov qword [rsp + 0xc8], rbx
mov rbx, rax
lea rax, [0x1405a05c0]
call fcn.14000c5e0
mov rbx, qword [rsp + 0xc8]
jmp 0x14009cebf
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1406903a0]
call fcn.14000c1a0
xor eax, eax
mov rcx, rax
call fcn.14006d4e0
mov r10, r9
or r10, 0x80
mov byte [rbx + rax - 1], r10b
shr r9, 7
mov qword [rsp + 0x88], r9
nop dword [rax]
cmp r9, 0x80
jb 0x14009cf3f
inc rbx
cmp rcx, rbx
jae 0x14009cede
mov edi, 1
lea rsi, [0x1405ffe20]
nop dword [rax]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x88]
jmp 0x14009cede
inc rbx
cmp rcx, rbx
jae 0x14009cf70
mov edi, 1
lea rsi, [0x1405ffe20]
call fcn.140050460
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x88]
mov byte [rbx + rax - 1], r9b
mov rdi, r8
jmp 0x14009cb0a
xor eax, eax
mov rcx, rax
call fcn.14006d4e0
mov rbx, qword [str.__j_]
lea rcx, [0x1406903a0]
call fcn.14000c0e0
lea rax, [0x1405ffda0]
lea rbx, [0x140780e30]
call fcn.1400396a0
imul esi, esi, 0x1000193
movzx edi, al
xor esi, edi
mov ebx, 1
nop dword [rax]
test rbx, rbx
jle 0x14009cfad
jmp 0x14009c796
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x14009d008
lea rsi, [rdi + 1]
test r8, r8
jne 0x14009cfca
mov qword [rsp + 0xd0], rbx
mov rbx, rax
lea rax, [0x1405a05a0]
call fcn.14000c5e0
mov rbx, qword [rsp + 0xd0]
jmp 0x14009d00d
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1406903a0]
nop dword [rax]
call fcn.14000c1a0
mov rdi, rsi
and rsi, rdx
shl rsi, 4
mov r8, qword [rcx + rsi + 8]
cmp rax, r8
je 0x14009d066
lea rsi, [rdi + 1]
nop dword [rax]
test r8, r8
jne 0x14009d025
mov qword [rsp + 0x100], rbx
mov rbx, rax
lea rax, [0x1405a0580]
call fcn.14000c5e0
mov rbx, qword [rsp + 0x100]
jmp 0x14009d06b
mov rax, qword [rcx + rsi + 0x10]
add rsp, 0x158
pop rbp
ret
lea rax, [0x1406903a0]
nop dword [rax + rax]
call fcn.14000c1a0
lea rax, [0x1405ffda0]
lea rbx, str.:yl_
call fcn.1400396a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.14006b1e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
jmp fcn.14009c460