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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e61de
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x519074]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebx + 0x18]
mov edi, dword [ebp + 8]
push esi
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x178], esi
call fcn.0045a071
add esp, 4
test eax, eax
je 0x42bc5e
push eax
call fcn.004598f3
add esp, 4
mov dword [ebp - 4], 0
lea eax, [ebp - 0x124]
mov dword [ebp - 0x12c], 0
mov dword [ebp - method.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.virtual_0], vtable.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x128], 0xfa
mov byte [ebp - 4], 1
lea eax, [ebp - 0x134]
mov ecx, dword [ebx + 0x20]
push eax
push edi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebx + 0x1c], 0
jne 0x42bd1f
cmp dword [ebx + 0x14], 0
je 0x42bef3
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x160], eax
test eax, eax
je 0x42bef3
xor edi, edi
nop dword [eax]
push 0
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0
push ecx
sub eax, edi
push eax
mov eax, dword [ebp - 0x130]
add eax, edi
push eax
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x42bf84
mov eax, dword [ebp - 0x15c]
test eax, eax
je 0x42bf84
add edi, eax
mov eax, dword [ebp - 0x160]
cmp edi, eax
jb 0x42bcd0
jmp 0x42bef3
cmp byte [ebx + 0x1d], 0
je 0x42beda
mov eax, dword [edi + 0x1c]
cmp dword [edi + 0x20], eax
jbe 0x42beda
push 0
push 0
push eax
push dword [ebp - 0x130]
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov edx, dword [edi + 8]
lea eax, [edi + 8]
mov dword [ebp - 0x168], eax
movzx eax, dl
xor eax, 0x811c9dc5
mov edi, dword [ebx + 0x30]
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x15c], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebx + 0x3c]
and ecx, eax
mov eax, dword [edi + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + ecx*4]
mov edi, dword [ebp - 0x15c]
mov dword [ebp - 0x170], edx
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x164], ecx
cmp ecx, edx
jne 0x42bdca
mov ecx, edx
jmp 0x42bde4
mov edi, dword [ebp - 0x170]
mov ecx, dword [ebx + 0x30]
mov esi, dword [ebp - 0x174]
mov ecx, dword [edi + ecx]
mov edi, dword [ebp - 0x15c]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x42bdfb
cmp dword [eax + 8], edi
je 0x42bdf7
mov eax, dword [eax]
mov ecx, dword [ebp - 0x164]
jmp 0x42bdc2
cmp eax, edx
jne 0x42be65
mov edi, dword [edx]
mov eax, dword [ebp - 0x168]
push ecx
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x168], eax
mov eax, dword [edi + 4]
push ecx
push ecx
push eax
push edi
mov dword [ebp - 0x164], eax
call fcn.00443d20
mov edx, eax
mov ecx, 0xffffffe
mov eax, dword [ebx + 0x2c]
sub ecx, eax
cmp ecx, 1
jb 0x42bfc3
inc eax
lea ecx, [ebx + 0x24]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x164]
mov dword [edi + 4], edx
mov dword [eax], edx
mov eax, dword [ecx + 4]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.00440e70
mov eax, dword [ebp - 0x16c]
movzx edi, word [eax + 0xc]
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov eax, dword [ebp - 0x20]
and eax, 0xfff0
or eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push eax
push dword [ebx + 0x14]
call edi
mov ecx, dword [ebp - 0x160]
push 0
push 0
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x130]
add eax, ecx
push eax
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
push dword [ebp - 0x20]
push dword [ebx + 0x14]
call edi
mov eax, dword [ebp - 0x160]
push 0
push 0
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x12c]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x130]
add eax, ecx
push eax
jmp 0x42beea
push 0
push 0
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov byte [ebp - 4], 0
lea eax, [ebp - 0x124]
mov ecx, dword [ebp - 0x130]
mov dword [ebp - method.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.virtual_0], vtable.fmt::v6::basic_memory_buffer_char__250__class_std::allocator_char__.0
cmp ecx, eax
je 0x42bf3f
mov edx, dword [ebp - 0x128]
mov eax, ecx
cmp edx, 0x1000
jb 0x42bf35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42bfcd
push edx
push ecx
call fcn.00476085
add esp, 8
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.fmt::v6::internal::buffer_char_.0
push esi
mov dword [ebp - 4], 4
call fcn.0045a0e6
add esp, 4
test eax, eax
je 0x42bf66
push eax
call fcn.004598f3
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00476066
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.00453900
sub esp, 0x18
mov byte [ebp - 4], 2
mov ecx, esp
mov edx, str.wincolor_sink:_write_to_file__failed._GetLastError__:
push eax
call fcn.0041c420
add esp, 4
lea ecx, [ebp - 0x158]
call fcn.00404900
push 0x514768
mov eax, ecx
push eax
call fcn.004988b9
push str.list_T__too_long
call fcn.00459634
call fcn.004a3cba
int3