Function at 0x40771b
Capabilities:
Read .ini file

Disassembly:
push 0x42c
mov eax, 0x41111b
call fcn.0040f91b
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_void_]
mov edi, ecx
lea ecx, [ebp - 0x424]
call esi
and dword [ebp - 4], 0
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x428]
push eax
mov byte [ebp - 4], 1
call fcn.0040ed6b
pop ecx
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 2
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
lea ecx, [ebp - 0x428]
test al, al
je 0x40779f
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
mov byte [ebp - 4], 1
call esi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
call esi
xor eax, eax
call fcn.0040f965
ret 4
push str.UserDataInfo.ini
call dword [0x41307c]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call sub.MSVCR100.dll_memset
mov esi, dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
add esp, 0xc
lea ecx, [ebp - 0x428]
call esi
push eax
push 0x103
lea eax, [ebp - 0x218]
push eax
push 0x413658
push str.OldVersion
mov ebx, str.UserDataImportSet
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x424]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t__]
lea ecx, [ebp - 0x424]
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
lea ecx, [ebp - 0x428]
test al, al
jne 0x407771
call esi
push eax
push 3
push str.OldVerDataPathType
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x434], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x428]
call esi
push eax
push 0x103
lea eax, [ebp - 0x420]
push eax
push 0x413658
push str.OldVerDataPath
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x42c]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t__]
push 0
push 0x414b5c
lea ecx, [ebp - 0x424]
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::Find_wchar_t_const___int_const]
mov dword [ebp - 0x438], eax
cmp eax, 0xffffffff
jne 0x4078bd
lea ecx, [ebp - 0x428]
jmp 0x407771
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x424]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_]
lea ecx, [edi + 0x30]
push ecx
mov ecx, eax
mov byte [ebp - 4], 3
call esi
push eax
call dword [sym.imp.Common.dll_Ordinal_34]
mov ebx, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
pop ecx
pop ecx
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 2
call ebx
mov eax, dword [ebp - 0x438]
inc eax
push eax
push 0x414b5c
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x430], eax
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::Find_wchar_t_const___int_const]
cmp eax, 0xffffffff
jne 0x407949
xor esi, esi
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 1
call ebx
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0
call ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x424]
call ebx
mov eax, esi
jmp 0x407797
sub eax, dword [ebp - 0x438]
lea ecx, [ebp - 0x424]
push eax
push dword [ebp - 0x430]
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Mid_int__int_]
lea ecx, [edi + 0x34]
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call esi
push eax
call dword [sym.imp.Common.dll_Ordinal_34]
pop ecx
pop ecx
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 2
call ebx
mov eax, dword [ebp - 0x434]
mov dword [edi + 0x38], eax
xor esi, esi
lea eax, [ebp - 0x42c]
inc esi
push eax
lea ecx, [edi + 0x3c]
mov dword [edi + 0x2c], esi
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_class_CTXStringW_const__]
mov eax, dword [ebp + 8]
mov ecx, edi
mov dword [edi + 0x54], eax
call fcn.00406f5a
test eax, eax
jne 0x4079f6
lea eax, [ebp - 0x434]
push eax
push 0x413448
push str.StorageTool
push 2
push str.func
push 0xd7
push str.file
mov dword [ebp - 0x434], str.CheckSrcPath
call fcn.004011f4
add esp, 0x1c
push 4
pop esi
jmp 0x40791e
mov ecx, edi
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXThreadModel::StartThread_void_]
test eax, eax
je 0x40791c
lea eax, [ebp - 0x434]
push eax
push 0x413448
push str.StorageTool
push 2
push str.func
push 0xde
push str.file
mov dword [ebp - 0x434], 0x414bc0
call fcn.004011f4
add esp, 0x1c
jmp 0x40791e