Function at 0x498990
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b4c7f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x394
mov eax, dword [0x4f0dd0]
xor eax, ebp
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x90], 0xfffffffe
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + 0x58]
push edx
push 0xffffd8f0
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x54]
push ecx
call dword [sym.imp.XLLuaRuntime.dll_lua_rawgeti]
add esp, 0xc
push 1
push 2
lea ecx, [ebp - 0x8c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov dword [ebp - 4], 0
lea edx, [ebp - 0x8c]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x54]
push ecx
call fcn.00499d90
add esp, 0xc
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x58]
push eax
push 0xffffd8f0
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + 0x54]
push edx
call dword [sym.imp.XLLuaRuntime.dll_luaL_unref]
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x58], 0xfffffffe
cmp dword [ebp - 0x98], 0
jne 0x49900f
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00497780
add esp, 4
movzx edx, al
test edx, edx
je 0x498a9d
mov eax, dword [ebp - 0x94]
add eax, 0x1c
push eax
call fcn.00497780
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x498aac
mov dword [ebp - 0x98], 0x19c00b0
jmp 0x49900f
push 0x4cbb38
push 0xffffd8ee
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x54]
push eax
call dword [sym.imp.XLLuaRuntime.dll_lua_getfield]
add esp, 0xc
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0xc0]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x54]
push eax
call dword [sym.imp.XLLuaRuntime.dll_lua_tolstring]
add esp, 0xc
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0043c417
add esp, 0xc
push 0xfffffffffffffffe
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + 0x54]
push edx
call dword [sym.imp.XLLuaRuntime.dll_lua_settop]
add esp, 8
mov eax, dword [ebp - 0x94]
push eax
lea ecx, [ebp - 0xdc]
push ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.00409d39
add esp, 0xc
mov byte [ebp - 4], 2
push 0x4cbb4c
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x390]
push ecx
call fcn.00406b0a
add esp, 0xc
mov dword [ebp - 0x39c], eax
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x94]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
lea edx, [ebp - 0xf8]
push edx
call fcn.00409d39
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x390]
call dword [sym.imp.MSVCP71.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 - 0xb8]
call dword [sym.imp.MSVCP71.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 fcn.0043cf12
add esp, 4
movzx eax, al
test eax, eax
je 0x498f9b
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.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.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0xffffffff
jne 0x498c4c
mov dword [ebp - 0x98], 0x19c00aa
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x8c]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
mov byte [ebp - 4], 6
lea edx, [ebp - 0x118]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x94]
add eax, 0x38
push eax
push 0x4cbb50
call dword [sym.imp.MSVCP71.dll_bool___cdecl_std::operator__char__struct_std::char_traits_char___class_std::allocator_char___char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x498ee2
lea ecx, [ebp - 0x36c]
call fcn.0049ef50
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x94]
add ecx, 0x38
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
cmp eax, 0x10
jne 0x498cd9
push 0x80
mov ecx, dword [ebp - 0x94]
add ecx, 0x38
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [ebp - 0x36c]
call fcn.004a1ae9
test eax, eax
je 0x498d44
mov dword [ebp - 0x98], 0x19c00b2
mov edx, dword [ebp - 0xfc]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x36c]
call fcn.00401095
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
lea ecx, [ebp - 0x138]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x138]
push eax
push 0
mov ecx, dword [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x36c]
call fcn.004a1c19
movzx edx, al
test edx, edx
jne 0x498df1
mov dword [ebp - 0x98], 0x19c00b3
mov eax, dword [ebp - 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x138]
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 byte [ebp - 4], 6
lea ecx, [ebp - 0x36c]
call fcn.00401095
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
mov dword [ebp - 0x370], 0
push 0
lea ecx, [ebp - 0x370]
push ecx
lea ecx, [ebp - 0x138]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
push eax
lea ecx, [ebp - 0x138]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
mov edx, dword [ebp - 0xfc]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x498e43
lea ecx, [ebp - 0x138]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
cmp eax, dword [ebp - 0x370]
je 0x498ebe
mov dword [ebp - 0x98], 0x19c00ae
mov eax, dword [ebp - 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x138]
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 byte [ebp - 4], 6
lea ecx, [ebp - 0x36c]
call fcn.00401095
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x138]
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 byte [ebp - 4], 6
lea ecx, [ebp - 0x36c]
call fcn.00401095
jmp 0x498f7c
mov dword [ebp - 0x374], 0
push 0
lea ecx, [ebp - 0x374]
push ecx
mov ecx, dword [ebp - 0x11c]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
push eax
mov ecx, dword [ebp - 0x11c]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
mov edx, dword [ebp - 0xfc]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x498f7c
mov dword [ebp - 0x98], 0x19c00ae
mov eax, dword [ebp - 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
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 byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
mov ecx, dword [ebp - 0xfc]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x118]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x498fd7
mov dword [ebp - 0x98], 0x19c00a9
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x49900f
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor edx, edx
jne 0x498a6e
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 0x61]
test ecx, ecx
je 0x499063
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x98]
push eax
push 0x401
mov ecx, dword [0x53ae98]
add ecx, 4
call fcn.004014ef
mov dword [ebp - 0x394], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x394]
jmp 0x499088
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x9c]
xor ecx, ebp
call fcn.0049f127
mov esp, ebp
pop ebp
ret 4