Function at 0x14009ccb8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14044e770]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x30], rcx
lea rax, vtable.sense::GenericETW::Transformer.0
mov qword [rcx], rax
add rcx, 8
call fcn.14008220c
nop
lea rax, vtable.sense::GenericETW::FileExtensionExtractTransformer.0
mov qword [rdi], rax
lea rsi, [rdi + 0xd0]
mov qword [rbp - 0x50], rsi
and qword [rsi], 0
and qword [rsi + 8], 0
and qword [rsi + 0x10], 0
mov rax, qword [rdi + 0x38]
cmp qword [rdi + 0x30], rax
sete al
mov rcx, qword [rbp + 0x38]
lea rdx, str.TransformerValues_should_not_be_empty
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x20], al
mov r9d, 0x80070057
lea r8, str.amcorewcd_sourcegenericetw_src_fileextensionextracttransformer.cpp
mov edx, Compress
call fcn.140075ecc
mov r15, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x38]
cmp r15, rbx
je 0x14009cf34
mov rdi, rsi
mov r8b, 1
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.14005f560
nop
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r8, qword [rbp - 0x28]
movabs rcx, 0xcbf29ce484222325
xor edx, edx
mov r11, qword [rbp - 0x18]
lea r9, [r11 + r11]
test r9, r9
je 0x14009cdcb
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x14009cdad
and rcx, qword [0x1404500d0]
mov rax, rcx
add rax, rax
mov r13, qword [0x1404500b8]
mov rax, qword [r13 + rax*8]
add rcx, rcx
mov qword [rbp - 0x48], rcx
mov r14, qword [0x1404500a8]
cmp qword [r13 + rcx*8], r14
jne 0x14009cdfe
mov rcx, r14
jmp 0x14009ce06
mov rcx, qword [r13 + rcx*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14009cebd
lea rdx, [rax + 0x10]
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rcx, qword [rbp - 0x28]
mov r9, rdx
mov r12, qword [rdx + 0x18]
cmp r12, 8
jb 0x14009ce31
mov r9, qword [rdx]
mov rsi, qword [rdx + 0x10]
cmp rsi, r11
jne 0x14009ce64
mov r10, rsi
test rsi, rsi
je 0x14009ce5e
sub r9, rcx
movzx edx, word [r9 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jne 0x14009ce6d
add rcx, 2
sub r10, 1
jne 0x14009ce45
xor ecx, ecx
test ecx, ecx
je 0x14009ce76
mov rax, qword [rax]
mov rcx, qword [rbp - 0x48]
jmp 0x14009cdf2
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jmp 0x14009ce60
lea rcx, [rax + 0x10]
cmp r12, 8
jb 0x14009ce83
mov rcx, qword [rcx]
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
cmp r11, rsi
jne 0x14009cebd
test r11, r11
je 0x14009ceb7
sub rdx, rcx
movzx r8d, word [rdx + rcx]
movzx r9d, word [rcx]
cmp r8w, r9w
jne 0x14009cec9
add rcx, 2
sub r11, 1
jne 0x14009ce9e
xor ecx, ecx
test ecx, ecx
je 0x14009cec0
mov rax, r14
cmp rax, r14
jne 0x14009ced2
xor al, al
jmp 0x14009ceda
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jmp 0x14009ceb9
mov ecx, dword [rax + 0x30]
mov dword [rbp - 0x50], ecx
mov al, 1
mov rcx, qword [rbp + 0x38]
lea rdx, str.ExtractPart_not_supported
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x20], al
mov r9d, 0x80070057
lea r8, str.amcorewcd_sourcegenericetw_src_fileextensionextracttransformer.cpp
mov edx, 0x29
call fcn.14005f36c
nop
lea rcx, [rbp - 0x28]
call fcn.14004b500
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.14009d958
add r15, 0x20
cmp r15, rbx
jne 0x14009cd76
mov rdi, qword [rbp - 0x40]
mov r15, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x38]
sub rbx, r15
sar rbx, 5
cmp rbx, 1
jbe 0x14009cf78
mov rcx, qword [rdi + 0x70]
cmp qword [rdi + 0x68], rcx
sete dl
mov rcx, qword [rbp + 0x38]
lea rax, str.TargetFieldNames_should_not_be_empty
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], dl
mov r9d, 0x80070057
lea r8, str.amcorewcd_sourcegenericetw_src_fileextensionextracttransformer.cpp
mov edx, 0x30
call fcn.140075ecc
nop
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1402ae860
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret