Function at 0x429ee0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x432ce3
mov eax, dword fs:[0]
push eax
sub esp, 0x580
mov eax, dword [0x44d1d0]
xor eax, ebp
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x54c], ecx
push 0
lea ecx, [ebp - 0x1c]
call fcn.004256e0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x54c]
add eax, 0x24
push eax
push 0x43e384
call dword [sym.imp.MSVCP80.dll_bool___cdecl_std::operator__wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___wchar_t_const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x42a3b4
mov ecx, dword [ebp - 0x54c]
add ecx, 0x24
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42a3b4
mov edx, dword [ebp - 0x54c]
add edx, 0x24
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4c0], esp
push edx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov dword [ebp - 0x550], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0042abb0
add esp, 0x20
mov dword [ebp - 0x554], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.00426840
mov byte [ebp - 4], 2
push 0
lea ecx, [ebp - 0x4c]
call fcn.004256e0
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0xc4]
call fcn.00427d70
movzx eax, al
test eax, eax
je 0x42a38c
push 0x43e4a0
lea ecx, [ebp - 0x4dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x55c], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x55c]
push edx
lea eax, [ebp - 0x158]
push eax
call fcn.00407bf0
add esp, 8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x13c]
call fcn.00426840
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0x16c]
call fcn.004256e0
mov byte [ebp - 4], 8
push 1
lea ecx, [ebp - 0x16c]
push ecx
lea edx, [ebp - 0x158]
push edx
lea ecx, [ebp - 0x13c]
call fcn.00427d70
movzx eax, al
test eax, eax
je 0x42a35e
push 0x43eeec
push 0x43e44c
lea ecx, [ebp - 0x4c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424c60
movzx ecx, al
test ecx, ecx
jne 0x42a0d4
push 0x43ef18
push 0x43ef0c
push 0x43ef04
push 0x43eef8
lea ecx, [ebp - 0x4c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424c60
movzx edx, al
test edx, edx
je 0x42a12f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16c]
call fcn.00425410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x13c]
call fcn.004075d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x158]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.00425410
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x42a3bc
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x4ec]
call fcn.004254d0
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
mov dword [ebp - 0x564], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x564]
push edx
push 0x43ef3c
push 0x43ef30
push 0x43ef24
lea ecx, [ebp - 0x4c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.00425800
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4ec]
call fcn.00425410
mov eax, dword [ebp - 0x54c]
add eax, 0x78
push eax
lea ecx, [ebp - 0x4fc]
call fcn.00424df0
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x56c]
push edx
push 0x43ef8c
push 0x43ef80
push 0x43ef74
push 0x43ef6c
push 0x43ef60
lea ecx, [ebp - 0x4c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.00425800
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4fc]
call fcn.00425410
lea ecx, [ebp - 0x1c4]
call fcn.00422fe0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0x1c4]
call fcn.00423910
mov byte [ebp - 4], 0xc
push 1
push 0x40
push 2
mov ecx, dword [ebp - 0x54c]
add ecx, 0x24
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea ecx, [ebp - 0x26c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_wchar_t_const___int__int_]
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x1e0]
push edx
lea eax, [ebp - 0x26c]
push eax
call dword [sym.imp.MSVCP80.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_ostream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 8
lea ecx, [ebp - 0x26c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
push 0x43efb0
mov ecx, dword [ebp - 0x54c]
add ecx, 4
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push 0xa
push 0x85
call fcn.00402140
mov ecx, eax
call fcn.00421dc0
mov byte [ebp - 0x4fd], 1
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x26c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1e0]
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 byte [ebp - 4], 8
lea ecx, [ebp - 0x1c4]
call fcn.00407b20
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16c]
call fcn.00425410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x13c]
call fcn.004075d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x158]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.00425410
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
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 [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00425410
mov al, byte [ebp - 0x4fd]
jmp 0x42a8b1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16c]
call fcn.00425410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x13c]
call fcn.004075d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x158]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.00425410
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor ecx, ecx
jne 0x429f22
mov edx, dword [ebp - 0x54c]
add edx, 0x40
push edx
push 0x43efb8
call dword [sym.imp.MSVCP80.dll_bool___cdecl_std::operator__wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___wchar_t_const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 8
movzx eax, al
test eax, eax
je 0x42a88d
mov ecx, dword [ebp - 0x54c]
add ecx, 0x40
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42a88d
mov ecx, dword [ebp - 0x54c]
add ecx, 0x40
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x504], esp
push ecx
mov ecx, edx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov dword [ebp - 0x570], eax
lea eax, [ebp - 0x288]
push eax
call fcn.0042abb0
add esp, 0x20
mov dword [ebp - 0x574], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x314]
call fcn.00426840
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0x29c]
call fcn.004256e0
mov byte [ebp - 4], 0x10
push 1
lea ecx, [ebp - 0x29c]
push ecx
lea edx, [ebp - 0x288]
push edx
lea ecx, [ebp - 0x314]
call fcn.00427d70
movzx eax, al
test eax, eax
je 0x42a85f
push 0x43efc0
lea ecx, [ebp - 0x520]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x57c], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x57c]
push edx
lea eax, [ebp - 0x3a8]
push eax
call fcn.00407bf0
add esp, 8
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x520]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x38c]
call fcn.00426840
mov byte [ebp - 4], 0x14
push 0
lea ecx, [ebp - 0x3bc]
call fcn.004256e0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x54c]
cmp dword [ecx + 0x20], 0x25
jl 0x42a831
push 1
lea edx, [ebp - 0x3bc]
push edx
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x38c]
call fcn.00427d70
movzx ecx, al
test ecx, ecx
je 0x42a831
push 0x43fa18
push 0x43fa0c
lea ecx, [ebp - 0x29c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424c60
movzx edx, al
test edx, edx
jne 0x42a592
push 0x43fa44
push 0x43fa38
push 0x43fa30
push 0x43fa24
lea ecx, [ebp - 0x29c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424c60
movzx eax, al
test eax, eax
je 0x42a5f3
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x3bc]
call fcn.00425410
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38c]
call fcn.004075d0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x3a8]
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 byte [ebp - 4], 0xf
lea ecx, [ebp - 0x29c]
call fcn.00425410
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x314]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x42a895
lea ecx, [ebp - 0x3bc]
push ecx
lea ecx, [ebp - 0x534]
call fcn.004254d0
mov dword [ebp - 0x580], eax
mov edx, dword [ebp - 0x580]
mov dword [ebp - 0x584], edx
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x584]
push eax
push 0x43fa68
push 0x43fa5c
push 0x43fa50
lea ecx, [ebp - 0x29c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.00425800
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x534]
call fcn.00425410
mov ecx, dword [ebp - 0x54c]
add ecx, 0x78
push ecx
lea ecx, [ebp - 0x544]
call fcn.00424df0
mov dword [ebp - 0x588], eax
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x58c], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x58c]
push eax
push 0x43fab8
push 0x43faac
push 0x43faa0
push 0x43fa98
push 0x43fa8c
lea ecx, [ebp - 0x29c]
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.004259c0
mov ecx, eax
call fcn.00425800
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x544]
call fcn.00425410
lea ecx, [ebp - 0x414]
call fcn.00422fe0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x29c]
push ecx
lea edx, [ebp - 0x430]
push edx
lea ecx, [ebp - 0x414]
call fcn.00423910
mov byte [ebp - 4], 0x19
push 1
push 0x40
push 2
mov ecx, dword [ebp - 0x54c]
add ecx, 0x40
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea ecx, [ebp - 0x4bc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_wchar_t_const___int__int_]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x4bc]
push ecx
call dword [sym.imp.MSVCP80.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_ostream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 8
lea ecx, [ebp - 0x4bc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
push 0x43fadc
mov ecx, dword [ebp - 0x54c]
add ecx, 4
call dword [sym.imp.MSVCP80.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push 0xb
push 0x85
call fcn.00402140
mov ecx, eax
call fcn.00421dc0
mov byte [ebp - 0x545], 1
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x4bc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x430]
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 byte [ebp - 4], 0x15
lea ecx, [ebp - 0x414]
call fcn.00407b20
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x3bc]
call fcn.00425410
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38c]
call fcn.004075d0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x3a8]
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 byte [ebp - 4], 0xf
lea ecx, [ebp - 0x29c]
call fcn.00425410
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x314]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
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 [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00425410
mov al, byte [ebp - 0x545]
jmp 0x42a8b1
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x3bc]
call fcn.00425410
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38c]
call fcn.004075d0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x3a8]
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 byte [ebp - 4], 0xf
lea ecx, [ebp - 0x29c]
call fcn.00425410
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x314]
call fcn.004075d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor edx, edx
jne 0x42a3bc
mov byte [ebp - 0x546], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00425410
mov al, byte [ebp - 0x546]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.00415da2
mov esp, ebp
pop ebp
ret