Function at 0x1400324b0
Capabilities:
Hash data using fnv
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x240], rbx
mov rax, qword [0x14005a138]
xor rax, rsp
mov qword [rbp + 0xe8], rax
mov r14, rdx
mov rsi, rcx
mov rbx, qword [rcx + 0x28]
mov qword [rsp + 0x48], rbx
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
je 0x140032510
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
xor r15d, r15d
mov qword [rbp - 0x80], r15
lea rax, vtable.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.0
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], 0xfa
mov rcx, qword [rsi + 0x38]
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov rdx, r14
call qword [rax + 8]
cmp byte [rsi + 0x30], r15b
jne 0x1400325b7
cmp qword [rsi + 0x20], r15
je 0x14003279f
mov r14d, dword [rbp - 0x80]
test r14d, r14d
je 0x14003279f
mov edi, r15d
nop word [rax + rax]
mov dword [rsp + 0x38], r15d
mov edx, edi
add rdx, qword [rsp + 0x78]
mov r8d, r14d
sub r8d, edi
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x38]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140032836
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x140032836
add edi, eax
cmp edi, r14d
jae 0x14003279f
jmp 0x140032570
cmp byte [rsi + 0x31], 0
je 0x140032783
mov rax, qword [r14 + 0x28]
cmp qword [r14 + 0x30], rax
jbe 0x140032783
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8d, eax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
lea rdi, [r14 + 0x10]
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
xor rdx, rax
imul rdx, r9
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r9
mov rcx, qword [rsi + 0x70]
and rcx, rdx
shl rcx, 4
mov r10, qword [rsi + 0x58]
mov r9, qword [r10 + rcx]
mov rax, r9
lea r11, [rcx + 8]
mov rdx, qword [rsi + 0x48]
nop dword [rax + rax]
cmp r9, rdx
jne 0x14003266a
mov rcx, rdx
jmp 0x140032671
mov rcx, qword [r11 + r10]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14003268a
cmp dword [rax + 0x10], r8d
je 0x140032681
mov rax, qword [rax]
jmp 0x140032660
cmp rax, rdx
jne 0x14003270d
mov qword [rsp + 0x38], rdi
mov rdi, qword [rdx]
mov r15, qword [rdi + 8]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x140045ab7]
mov r8, r15
mov rdx, rdi
lea rcx, [rsi + 0x48]
call fcn.140017970
mov rdx, rax
mov rax, qword [rsi + 0x50]
movabs rcx, 0xaaaaaaaaaaaaaa9
sub rcx, rax
cmp rcx, 1
jb 0x140032829
inc rax
mov qword [rsi + 0x50], rax
mov qword [rdi + 8], rdx
mov qword [r15], rdx
mov r9, qword [rsi + 0x48]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rsp + 0x50]
lea rcx, [rsi + 0x40]
call fcn.1400184f0
mov rax, qword [rsp + 0x50]
xor r15d, r15d
movzx edi, word [rax + 0x14]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
movzx edx, word [rsp + 0x58]
mov eax, 0xfff0
and dx, ax
or dx, di
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov r8, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x28]
sub r8d, ecx
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
movzx edx, word [rsp + 0x58]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [r14 + 0x30]
mov r8d, dword [rbp - 0x80]
sub r8d, ecx
mov rdx, qword [rsp + 0x78]
add rdx, rcx
jmp 0x14003278c
mov r8d, dword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
nop
lea rax, vtable.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.0
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x70]
mov rcx, qword [rsp + 0x78]
cmp rcx, rax
je 0x1400327eb
mov rdx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400327e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400327e5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140035a38
nop
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_unlock
test eax, eax
je 0x1400327ff
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
mov rcx, qword [rbp + 0xe8]
xor rcx, rsp
call fcn.140035b50
mov rbx, qword [rsp + 0x240]
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.list_T__too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rbp + 0xc8]
call fcn.140035290
nop
mov r8, rax
lea rdx, str.wincolor_sink:_write_to_file__failed._GetLastError__:
lea rcx, [rsp + 0x50]
call fcn.140015780
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140026490
lea rdx, [0x1400580a0]
lea rcx, [rbp + 0x90]
call sub.VCRUNTIME140.dll__CxxThrowException
int3