Function at 0x427d90
Capabilities:
Encode data using xor

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x138
mov ebx, dword [ecx]
lea ecx, [ebp - 0xa8]
mov edi, dword [ebx]
call sym.std::ios_base::ios_base__
mov esi, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ofstream_char__std::char_traits_char___]
xor eax, eax
pxor xmm0, xmm0
mov word [ebp - 0x34], ax
mov edx, dword [sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__class_type_info]
movups xmmword [ebp - 0x30], xmm0
mov ecx, dword [esi - 0xc]
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll_operator_new_unsigned_int_
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x118], esi
mov dword [ebp + ecx - 0x118], edx
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x114], 0
add ecx, dword [esi - 0xc]
mov dword [esp], 0
call sym.std::basic_ios_char__std::char_traits_char___::init_std::basic_streambuf_char__std::char_traits_char____
sub esp, 4
lea ecx, [ebp - 0x110]
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_char__std::char_traits_char___
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll___cxa_end_catch
call sym.std::basic_filebuf_char__std::char_traits_char___::basic_filebuf__
lea eax, [ebp - 0x110]
lea ecx, [ebp - 0xa8]
mov dword [esp], eax
call sym.std::basic_ios_char__std::char_traits_char___::init_std::basic_streambuf_char__std::char_traits_char____
sub esp, 4
lea ecx, [ebp - 0x110]
mov dword [esp + 4], 0xc
mov dword [esp], edi
call sym.std::basic_filebuf_char__std::char_traits_char___::open_char_const__std::_Ios_Openmode_
mov edi, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
sub esp, 8
add ecx, dword [edi - 0xc]
test eax, eax
je 0x428060
mov dword [esp], 0
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
lea ecx, [ebp - 0xec]
call sym.std::__basic_file_char_::is_open___const
test al, al
je 0x427ff0
mov dword [esp + 8], 2
lea ecx, [ebp - 0x118]
mov dword [esp], 0
mov dword [esp + 4], 0
call sym.std::istream::seekg_long_long__std::_Ios_Seekdir_
sub esp, 0xc
lea ebx, [ebp - 0x118]
lea ecx, [ebp - 0x128]
mov dword [esp], ebx
call sym.std::istream::tellg__
sub esp, 4
mov edi, dword [ebp - 0x128]
lea ecx, [ebp - 0x118]
mov dword [esp + 8], 0
mov dword [esp], 0
mov ebx, edi
mov dword [esp + 4], 0
call sym.std::istream::seekg_long_long__std::_Ios_Seekdir_
sub esp, 0xc
test edi, edi
jne 0x428078
mov dword [esp + 4], 0
lea ecx, [ebp - 0x118]
mov dword [esp], 0
call sym.std::istream::read_char__int_
sub esp, 8
call method.util.init_crc32_table__
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_char__std::char_traits_char___
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll___cxa_end_catch
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt14basic_ofstreamIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ofstream_char__std::char_traits_char___
call sym.std::basic_filebuf_char__std::char_traits_char___::close__
mov dword [esp + 8], 0x24
mov dword [esp + 4], str.Could_not_get_the_CRC32_of_the_file
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov edx, dword [ebx + 4]
mov dword [esp + 8], edx
mov ebx, dword [ebx]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], ebx
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6000ed
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [ebp - 0x130], 0
xor ebx, ebx
mov dword [ebp - 0x12c], 0
jmp 0x427f42
mov edx, dword [ecx + 0x14]
or edx, 4
mov dword [esp], edx
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
jmp 0x427e85
js 0x42827d
mov ecx, 0x7fffffff
cmp edi, ecx
cmovbe ecx, edi
mov dword [ebp - 0x130], ecx
mov dword [esp], ecx
call sym.operator_new_unsigned_int_
mov dword [ebp - 0x12c], eax
mov edx, eax
mov byte [eax], 0
mov eax, edi
sub eax, 1
jne 0x428261
mov dword [esp + 4], edi
mov ebx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x118]
mov dword [esp], ebx
call sym.std::istream::read_char__int_
sub esp, 8
call method.util.init_crc32_table__
lea ecx, [ebx + edi]
mov eax, ebx
mov ebx, 0xffffffff
mov dword [ebp - 0x134], ecx
and edi, 7
je 0x42819f
cmp edi, 1
je 0x428179
cmp edi, 2
je 0x428163
cmp edi, 3
je 0x42814d
cmp edi, 4
je 0x428137
cmp edi, 5
je 0x428121
cmp edi, 6
jne 0x428240
mov edi, ebx
xor bl, byte [eax]
add eax, 1
movzx ebx, bl
shr edi, 8
xor edi, dword [ebx*4 + 0x653da0]
mov ebx, edi
mov edx, ebx
xor bl, byte [eax]
add eax, 1
movzx ecx, bl
shr edx, 8
xor edx, dword [ecx*4 + 0x653da0]
mov ebx, edx
mov edi, ebx
xor bl, byte [eax]
add eax, 1
movzx ebx, bl
shr edi, 8
xor edi, dword [ebx*4 + 0x653da0]
mov ebx, edi
mov edx, ebx
xor bl, byte [eax]
add eax, 1
movzx ecx, bl
shr edx, 8
xor edx, dword [ecx*4 + 0x653da0]
mov ebx, edx
mov edi, ebx
xor bl, byte [eax]
add eax, 1
movzx ebx, bl
shr edi, 8
xor edi, dword [ebx*4 + 0x653da0]
mov ebx, edi
mov edx, ebx
xor bl, byte [eax]
mov edi, dword [ebp - 0x134]
add eax, 1
movzx ecx, bl
shr edx, 8
xor edx, dword [ecx*4 + 0x653da0]
mov ecx, edi
mov ebx, edx
cmp eax, edi
je 0x428239
mov edx, ebx
xor bl, byte [eax]
add eax, 8
movzx ebx, bl
shr edx, 8
xor edx, dword [ebx*4 + 0x653da0]
mov ebx, edx
xor dl, byte [eax - 7]
movzx edi, dl
shr ebx, 8
xor ebx, dword [edi*4 + 0x653da0]
mov edx, ebx
xor bl, byte [eax - 6]
movzx ebx, bl
shr edx, 8
xor edx, dword [ebx*4 + 0x653da0]
mov ebx, edx
xor dl, byte [eax - 5]
movzx edi, dl
shr ebx, 8
xor ebx, dword [edi*4 + 0x653da0]
mov edx, ebx
xor bl, byte [eax - 4]
movzx ebx, bl
shr edx, 8
xor edx, dword [ebx*4 + 0x653da0]
mov ebx, edx
xor dl, byte [eax - 3]
movzx edi, dl
shr ebx, 8
xor ebx, dword [edi*4 + 0x653da0]
mov edx, ebx
xor bl, byte [eax - 2]
movzx ebx, bl
shr edx, 8
xor edx, dword [ebx*4 + 0x653da0]
mov ebx, edx
xor dl, byte [eax - 1]
movzx edi, dl
shr ebx, 8
xor ebx, dword [edi*4 + 0x653da0]
cmp eax, ecx
jne 0x42819f
not ebx
jmp 0x427f42
mov edi, dword [ebp - 0x12c]
movzx edx, byte [edi]
lea eax, [edi + 1]
xor dl, 0xff
mov ebx, dword [edx*4 + 0x653da0]
xor ebx, 0xffffff
jmp 0x42810b
add edx, 1
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
jmp 0x4280ac
mov dword [esp], 0x60013d
call sym.std::__throw_length_error_char_const_
mov esi, eax
jmp method.util.get_file_crc32_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______clone_.cold_