Function at 0x549230
Capabilities:
Get file size
Read file via mapping

Disassembly:
sub esp, 0x164
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
xor ebx, ebx
cmp eax, 0xffffffff
mov dword [esp + 8], ebx
je 0x549338
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [esi + 0xc], eax
je 0x549338
mov eax, dword [esp + 0x170]
mov ecx, dword [esi + 4]
push ebx
push ebx
push ebx
or eax, 2
push eax
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
test eax, eax
mov dword [esi], eax
jne 0x549345
mov esi, dword [0x6553f0]
test esi, esi
jne 0x5492c9
push str.MemoryMappedFile.CreateFileMapping
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 1
push 0x3e81
push 0x3e80
lea edx, [esp + 0x34]
push 1
push edx
call fcn.00569ee0
add esp, 0x14
lea ecx, [esp + 0x28]
mov esi, eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [0x6553f0], esi
cmp dword [0x6553b4], 1
jne 0x54931d
call fcn.005416d0
cmp eax, 3
jg 0x54931d
lea eax, [esi + 8]
push str.MemoryMappedFile.CreateFileMapping
push eax
call dword [sym.imp.MSVCP80.dll_bool___cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
test al, al
jne 0x54931d
push 3
push 0x402
push str.._file_util_win.cc
lea ecx, [esp + 0x50]
mov ebx, 1
call fcn.005420d0
add eax, 4
push str.Check_failed:_histogram_pointer__histogram_name_____MemoryMappedFile.CreateFileMapping_.
push eax
call fcn.004701f0
add esp, 8
test bl, 1
je 0x54932b
lea ecx, [esp + 0x44]
call fcn.00542670
call sub.KERNEL32.dll_GetLastError
push eax
mov ecx, esi
call fcn.005641e0
pop esi
xor al, al
pop ebx
add esp, 0x164
ret 4
push 0
push 0
push 0
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
mov dword [esi + 8], eax
jne 0x54941c
push edi
mov edi, dword [0x6553ec]
test edi, edi
jne 0x5493a6
push str.MemoryMappedFile.MapViewOfFile
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 1
push 0x3e81
push 0x3e80
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.00569ee0
add esp, 0x14
lea ecx, [esp + 0x10]
mov edi, eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [0x6553ec], edi
cmp dword [0x6553b4], 1
jne 0x5493fd
call fcn.005416d0
cmp eax, 3
jg 0x5493fd
lea edx, [edi + 8]
push str.MemoryMappedFile.MapViewOfFile
push edx
call dword [sym.imp.MSVCP80.dll_bool___cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
test al, al
jne 0x5493fd
push 3
push 0x40a
push str.._file_util_win.cc
lea ecx, [esp + 0xe8]
mov ebx, 2
call fcn.005420d0
add eax, 4
push str.Check_failed:_histogram_pointer__histogram_name_____MemoryMappedFile.MapViewOfFile_.
push eax
call fcn.004701f0
add esp, 8
test bl, 2
je 0x54940e
lea ecx, [esp + 0xdc]
call fcn.00542670
call sub.KERNEL32.dll_GetLastError
push eax
mov ecx, edi
call fcn.005641e0
pop edi
xor eax, eax
cmp dword [esi + 8], eax
pop esi
setne al
pop ebx
add esp, 0x164
ret 4