Function at 0x1400337f0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0xc0
mov rdi, rcx
mov qword [rax - 0x38], rcx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
call fcn.14008c340
nop
lea rax, vtable.Viewer.0
mov qword [rdi], rax
mov qword [rdi + 0xc34], rbp
mov qword [rdi + 0xc3c], rbp
mov qword [rdi + 0xc44], rbp
mov qword [rdi + 0xc4c], rbp
mov qword [rdi + 0xc60], rbp
lea rsi, [rdi + 0xc70]
mov qword [rsp + 0xa0], rsi
lea rax, [0x1400a1d68]
mov qword [rsi], rax
lea rcx, [rsi + 0xa8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x30], 1
lea rbx, [rsi + 8]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsi]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rcx + rsi], rax
mov rax, qword [rsi]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rcx + rsi - 4], edx
mov qword [rsp + 0xa8], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbx], rax
mov byte [rbx + 0x7c], bpl
mov byte [rbx + 0x71], bpl
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbx + 0x80], rbp
mov rax, qword [0x1400c03d8]
mov qword [rbx + 0x74], rax
mov qword [rbx + 0x68], rbp
lea rbx, [rdi + 0xd88]
mov qword [rsp + 0xb0], rbx
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
lea ecx, [rbp + 0x30]
call fcn.14008f5b0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
lea rbx, [rdi + 0xd98]
mov qword [rsp + 0xb8], rbx
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
lea ecx, [rbp + 0x30]
call fcn.14008f5b0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [rdi + 0xdb0], rbp
mov qword [rdi + 0xc3c], rbp
mov dword [rdi + 0xc54], 0x3f000000
mov byte [rdi + 0xc68], bpl
mov dword [rdi + 0xc28], ebp
mov dword [rdi + 0xc5c], 0xffffffff
mov word [rdi + 0xd79], 0x101
mov dword [rdi + 0xda8], 3
lea rcx, [rsi + 8]
lea r8d, [rbp + 2]
lea rdx, str.log.txt
call fcn.14002ea00
mov rcx, qword [rsi]
movsxd rcx, dword [rcx + 4]
xor r8d, r8d
add rcx, rsi
test rax, rax
je 0x1400339c9
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x1400339d4
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov word [rdi + 0xdad], 0
mov dword [rdi + 0xd7b], 0
mov byte [rdi + 0xd80], 0
mov dword [rdi + 0xdb8], 0xffffffff
mov byte [rdi + 0xdac], 0
mov r10, qword [0x1400b2e50]
mov qword [rsp + 0x4c], rbp
mov qword [rsp + 0x54], rbp
mov dword [rsp + 0x5c], ebp
mov qword [rsp + 0x70], rbp
lea rax, str.DefaultOpenPath
mov qword [rsp + 0x40], rax
mov r11d, 0xffffffff
mov edx, r11d
mov r9b, 0x44
lea r8, [0x1400a1de1]
lea rbx, [0x14009ce80]
nop
cmp r9b, 0x23
jne 0x140033a53
cmp byte [r8], r9b
jne 0x140033a53
cmp byte [r8 + 1], r9b
cmove edx, r11d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [rbx + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x140033a40
not edx
mov dword [rsp + 0x48], edx
lea rax, [0x140034110]
mov qword [rsp + 0x60], rax
lea rax, [0x140034120]
mov qword [rsp + 0x68], rax
lea rax, [0x1400341e0]
mov qword [rsp + 0x78], rax
lea rax, [0x1400bfeb0]
mov qword [rsp + 0x80], rax
lea rcx, [r10 + 0x3648]
lea rdx, [rsp + 0x40]
call fcn.14003e6d0
mov dword [rdi + 0xd84], ebp
mov byte [rdi + 0xc2c], 0
mov dword [rdi + 0xc30], 0x40000000
mov byte [rdi + 0xdbc], 0
mov byte [rdi + 0xd7f], 0
mov word [rdi + 0xd81], 0
mov byte [rdi + 0xd78], 0
mov rax, rdi
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret