Function at 0x51f87b
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00418e81
mov esi, eax
push esi
call fcn.00418fdf
add esp, 0xc
test al, al
je 0x51fa68
push ebx
push edi
xor ebx, ebx
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
push esi
mov dword [ebp - 0x10], ebx
call fcn.00419003
pop ecx
pop ecx
test al, al
je 0x51fa57
lea eax, [ebp - 0x10]
push eax
push esi
call fcn.0041901e
pop ecx
pop ecx
test al, al
je 0x51fa57
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringA::constructor_void_
push dword [ebp - 8]
lea eax, [ebp - 4]
push dword [ebp + 0x10]
push 0x70f538
push eax
call sym.txupd.exe_public:_void___cdecl_CTXStringA::Format_char_const__
add esp, 0x10
lea ecx, [ebp - 4]
push 0x5c
push 0x2f
call sym.txupd.exe_public:_int___thiscall_CTXStringA::Replace_char__char_
push dword [ebp - 8]
call fcn.006a3810
pop ecx
mov ecx, dword [ebp - 8]
cmp byte [eax + ecx - 1], 0x2f
jne 0x51f9b2
lea ecx, [ebp - 0xc]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_void_
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_int___thiscall_CTXStringA::GetLength_void_const
push eax
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_char____thiscall_CTXStringA::GetBuffer_void_
push eax
call sym.txupd.exe_bool___stdcall_Util::Convert::IsTextUtf8_void_const___int_
lea ecx, [ebp - 4]
push 0xffffffffffffffff
test al, al
jne 0x51f95a
call sym.txupd.exe_public:_void___thiscall_CTXStringA::ReleaseBuffer_int_
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_char_const____thiscall_CTXStringA::operator_char_const__void_const
push eax
lea eax, [ebp - 0xc]
push eax
call sym.txupd.exe_bool___cdecl_Util::Convert::GBKToUnicode_class_CTXStringW___char_const___int_
add esp, 0xc
jmp 0x51f97d
call sym.txupd.exe_public:_char_const____thiscall_CTXStringA::operator_char_const__void_const
push eax
lea eax, [ebp - 0x18]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Convert::Utf8ToWS_char_const___int_
add esp, 0xc
lea ecx, [ebp - 0xc]
push eax
call fcn.0051b603
lea ecx, [ebp - 0x18]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push ebx
lea ecx, [ebp - 0xc]
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_char_const____thiscall_CTXStringA::operator_char_const__void_const
push eax
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.0051f87b
add esp, 0xc
lea ecx, [ebp - 0xc]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
jmp 0x51fa3d
push ebx
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.00418c5a
mov edi, eax
add esp, 0xc
test edi, edi
je 0x51fa4f
push 2
push ebx
push edi
call fcn.00418e3c
push edi
call fcn.00418e25
push 0
mov ebx, eax
push 0
push edi
mov dword [ebp - 0x14], ebx
call fcn.00418e3c
push ebx
call fcn.00682d64
push dword [ebp - 0x14]
mov ebx, eax
push ebx
push edi
call fcn.00418dee
push edi
call fcn.00418db3
add esp, 0x30
lea ecx, [ebp - 4]
push 0x70f540
call sym.txupd.exe_public:_char_const____thiscall_CTXStringA::operator_char_const__void_const
push eax
call fcn.006adae9
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x51fa34
push edi
push dword [ebp - 0x14]
push 1
push ebx
call fcn.006b053f
push edi
call fcn.006adbc9
add esp, 0x14
push ebx
call fcn.00682d6d
pop ecx
xor ebx, ebx
push dword [ebp - 8]
call fcn.00682d6d
push dword [ebp - 0x10]
call fcn.00682d6d
pop ecx
pop ecx
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringA::destructor_void_
push esi
call fcn.00418fdf
pop ecx
test al, al
jne 0x51f8a4
pop edi
pop ebx
push esi
call fcn.00418fa4
pop ecx
xor eax, eax
inc eax
pop esi
mov esp, ebp
pop ebp
ret