Function at 0x51ad710
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5233dac
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x28], edi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp esi, ebx
jne 0x51ad7a6
push str._ERROR:
push 0xff
push 0x7e2
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [ebp - 0x24]
call fcn.051ae270
mov dword [ebp - 4], ebx
push ebx
push str.CMetaDlWrapper::GetEnumValueInternal__:_dbParser_0x_p_
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.051ae2d0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.051ae2c0
mov eax, 0xfffffc18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 8]
push edx
push 4
push 2
mov ecx, esi
call fcn.05003ea0
cmp eax, ebx
jne 0x51ad814
push str._ERROR:
push 0xff
push 0x7e9
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [ebp - 0x24]
call fcn.051ae270
mov dword [ebp - 4], 1
push str.GetEnumFileValue__1
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.051ae2d0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.051ae2c0
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push eax
mov ecx, esi
call fcn.05003ed0
cmp eax, ebx
jne 0x51ad87d
push str._ERROR:
push 0xff
push 0x7ef
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [ebp - 0x24]
call fcn.051ae270
mov dword [ebp - 4], 2
push str.GetEnumFileValue__2
mov edx, dword [edi + 8]
push edx
push eax
call fcn.051ae2d0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.051ae2c0
mov eax, 0xfffffffe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp + 0x10], ebx
mov dword [ebp + 8], ebx
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp + 0x10]
push edx
lea ecx, [ebp - 0x2c]
push ecx
push eax
mov ecx, esi
call fcn.05003ee0
test eax, eax
je 0x51ad8f8
push str._ERROR:
push 0xff
push 0x7f9
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [ebp - 0x24]
call fcn.051ae270
mov dword [ebp - 4], 3
push str.GetEnumValueInternal____3
mov edx, dword [edi + 8]
push edx
push eax
call fcn.051ae2d0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.051ae2c0
mov eax, 0xfffffffd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
lea ecx, [ebp - 0xb4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 4], 4
mov bl, 5
mov byte [ebp - 4], bl
push 0x529bc0c
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
add esp, 8
mov esi, eax
test esi, esi
jne 0x51ad991
push str._ERROR:
push 0xff
push 0x804
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [ebp - 0x24]
call fcn.051ae270
mov byte [ebp - 4], 6
push str.creat_file_failed____
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.051ae2d0
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x24]
call fcn.051ae2c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esi + 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push esi
push 1
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR90.dll_fwrite]
push esi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc