Function at 0x4dc7d0
Capabilities:
Check if file exists
Create directory
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x83c
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x14], 1
lea eax, [ebp - 0x18]
push eax
call fcn.004a0620
add esp, 4
lea ecx, [ebp - 0x18]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4dc823
push 0
lea ecx, [ebp - 0x18]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.004a0750
add esp, 4
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4dc856
push 0
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4dc871
lea ecx, [ebp - 0x10]
call fcn.00406190
lea ecx, [ebp - 0x18]
call fcn.00406190
jmp 0x4dcbe2
push 0x55458c
lea ecx, [ebp - 0x10]
call fcn.00405a70
lea ecx, [ebp - 0xc]
call fcn.00406250
lea edx, [ebp - 8]
push edx
mov ecx, dword [ebp + 8]
call fcn.004dcd20
jmp 0x4dc8a5
push 0
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 8]
call fcn.004dd070
lea ecx, [ebp - 0x838]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004dcd50
push eax
lea ecx, [ebp - 8]
call fcn.004c0750
movzx edx, al
test edx, edx
je 0x4dcbca
xor eax, eax
mov word [ebp - 0x820], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x81e]
push ecx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
push 0x400
lea edx, [ebp - 0x820]
push edx
push 0
push 0x55459c
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x28
mov ecx, eax
call fcn.00415a60
test eax, eax
je 0x4dc96d
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x28
mov ecx, eax
call fcn.00406010
push eax
push str.icon
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x800
push 0
lea ecx, [ebp - 0x820]
push ecx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
push 0x400
lea edx, [ebp - 0x820]
push edx
push 0
push 0x5545b4
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xa
push 0
lea eax, [ebp - 0x820]
push eax
call fcn.00513703
add esp, 0xc
mov dword [ebp - 0x824], eax
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, dword [eax + 0x20]
cmp ecx, dword [ebp - 0x824]
je 0x4dca47
lea ecx, [ebp - 0x828]
call fcn.00406250
lea ecx, [ebp - 8]
call fcn.004dd050
mov edx, dword [eax + 0x20]
push edx
push 0x5545c4
lea eax, [ebp - 0x828]
push eax
call fcn.00403850
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
lea ecx, [ebp - 0x828]
call fcn.00406010
push eax
push str.softid
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x828]
call fcn.00406190
push 0x800
push 0
lea ecx, [ebp - 0x820]
push ecx
call fcn.0050c770
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
push 0x400
lea edx, [ebp - 0x820]
push edx
push 0
push 0x5545dc
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x30
mov ecx, eax
call fcn.00405620
movzx eax, al
test eax, eax
jne 0x4dcb25
lea ecx, [ebp - 0x820]
push ecx
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x30
mov ecx, eax
call fcn.00415a60
test eax, eax
je 0x4dcafc
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x30
mov ecx, eax
call fcn.00406010
push eax
push 0x5545e4
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
push 0x5545ec
push 0x5545f0
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x84
mov ecx, eax
call fcn.00405620
movzx edx, al
test edx, edx
jne 0x4dcbc5
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x84
mov ecx, eax
call fcn.00415a60
test eax, eax
je 0x4dcb9c
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
lea ecx, [ebp - 8]
call fcn.004dd050
add eax, 0x84
mov ecx, eax
call fcn.00406010
push eax
push 0x5545fc
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x10]
call fcn.00406010
push eax
push 0x554604
push 0x554608
lea ecx, [ebp - 8]
call fcn.004dd050
mov ecx, eax
call fcn.00406010
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x4dc894
lea ecx, [ebp - 0xc]
call fcn.00406190
lea ecx, [ebp - 0x10]
call fcn.00406190
lea ecx, [ebp - 0x18]
call fcn.00406190
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret 4