Function at 0x402560
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x438914
mov eax, dword fs:[0]
push eax
mov eax, 0x105c
mov dword fs:[0], esp
call fcn.00437df0
mov eax, dword [0x44e7a0]
push ebx
push ebp
mov dword [esp + 0x1060], eax
push esi
xor ebx, ebx
lea eax, [esp + 0x10]
mov dword [esp + 0xc], ebx
mov ecx, dword [0x450af4]
push eax
call fcn.004306c0
push str.facekwc.img
push eax
lea ecx, [esp + 0x50]
mov ebp, 1
push ecx
mov dword [esp + 0x107c], ebp
call fcn.00401fd0
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x1070], 3
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x4025e4
lea eax, [esp + 0x4c]
push 0x43d76c
push eax
call dword [sym.imp.MSVCR71.dll_fopen]
add esp, 8
mov esi, eax
cmp esi, ebx
push 0x43d5a0
jne 0x402616
mov esi, dword [esp + 0x107c]
mov ecx, esi
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0xc], ebp
jmp 0x4026f8
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
test byte [esi + 0xc], 0x10
mov byte [esp + 0x1070], 4
jne 0x402660
push edi
mov edi, dword [sym.imp.MSVCR71.dll_fread]
push esi
push 0xfff
lea edx, [esp + 0x70]
push ebp
push edx
call edi
mov byte [esp + eax + 0x78], bl
add esp, 0x10
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x34]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
test byte [esi + 0xc], 0x10
je 0x402635
pop edi
push esi
call dword [sym.imp.MSVCR71.dll_fclose]
add esp, 4
push 7
push ebx
push str.version
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [ecx]
je 0x4026a3
push ebp
push eax
push 0x43d77c
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov esi, eax
cmp esi, dword [edx]
jne 0x4026b9
mov esi, dword [esp + 0x1078]
push 0x43d5a0
mov ecx, esi
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
jmp 0x4026e2
push ebp
push esi
push 0x43d768
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
sub eax, esi
dec eax
push eax
inc esi
push esi
mov esi, dword [esp + 0x1080]
push esi
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
lea ecx, [esp + 0x2c]
mov dword [esp + 0xc], ebp
mov byte [esp + 0x1070], 3
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x48]
mov byte [esp + 0x1070], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [esp + 0x1068]
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x105c]
pop ebx
call fcn.00437d67
add esp, 0x1068
ret 4