Function at 0x403f80
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c0
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x6b8], 0
mov al, byte [0x4f82e8]
mov byte [ebp - 0x6b4], al
push 0x4af
push 0
lea ecx, [ebp - 0x6b3]
push ecx
call fcn.004b6780
add esp, 0xc
mov dl, byte [0x4f82e9]
mov byte [ebp - 0x104], dl
push 0xfe
push 0
lea eax, [ebp - 0x103]
push eax
call fcn.004b6780
add esp, 0xc
mov cl, byte [0x4f82ea]
mov byte [ebp - 0x204], cl
push 0xfe
push 0
lea edx, [ebp - 0x203]
push edx
call fcn.004b6780
add esp, 0xc
mov dword [ebp - 0x6bc], 0x4fcad8
mov dword [ebp - 0x6c0], 0x4fcad8
push 0x4d4214
push 0x4fcad8
push 0x4d4220
lea eax, [ebp - 0x204]
push eax
call fcn.004b6e08
add esp, 0x10
lea ecx, [ebp - 0x204]
push ecx
push 0xff
push 0x4f93d8
push 0x4f82eb
push 0x4fe980
push 0x4d4228
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x6b8], eax
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x4f93d8]
test eax, eax
jne 0x404085
push 0x4fcad8
push 0x4f93d8
call fcn.004b5e60
add esp, 8
lea ecx, [ebp - 0x204]
push ecx
push 0xff
push 0x4fc9d8
push 0x4f82ec
push 0x4fea80
push 0x4d4230
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x6b8], eax
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x4fc9d8]
test eax, eax
jne 0x4040d7
call fcn.00421180
push eax
push 0x4fc9d8
call fcn.004b5e60
add esp, 8
cmp dword [0x4e1478], 1
jne 0x404118
push 0x4d4238
push 0x4fcad8
push 0x4d4240
push 0x4f93d8
call fcn.004b6e08
add esp, 0x10
push 0x4d4248
push 0x4fcad8
push 0x4d4250
push 0x4fc9d8
call fcn.004b6e08
add esp, 0x10
call fcn.0049cfc0
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x6bc]
push ecx
call fcn.0049cb30
add esp, 4
test eax, eax
je 0x404141
call fcn.0049cfc0
mov dword [ebp - 0x6c0], eax
push str.InstallationPath
push 1
call fcn.004417b0
add esp, 8
mov edx, dword [ebp - 0x6bc]
push edx
push 0x4d5dd0
push 0x4d426c
push str.Installation_Directories:_s_sDynEd_folder:__s
lea eax, [ebp - 0x6b4]
push eax
call fcn.004b6e08
add esp, 0x14
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.0042e130
add esp, 4
push 0x4f93d8
push 0x4d5dd0
push 0x4d42a0
push str._s_sStudy_Records_folder:__s
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0x4f93d8
call fcn.004b5f60
add esp, 4
cmp eax, 5
jbe 0x404280
push 0x4f93d8
call fcn.004b5f60
add esp, 4
lea edx, [eax + 0x4f93d4]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.004b5e60
add esp, 8
push 0x4d42c4
lea ecx, [ebp - 0x104]
push ecx
call fcn.004bab10
add esp, 8
test eax, eax
je 0x404242
push 0x4d42cc
push 0x4fcad8
push 0x4d42d4
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0
push 0x4f93d8
call fcn.0042bc20
add esp, 8
cmp eax, 1
jne 0x404280
push 0x4d42fc
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 8
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
cmp dword [0x4f84a0], 1
je 0x404292
cmp dword [0x4f84ac], 1
jne 0x4042d4
push 0x4f93d8
call fcn.0042b620
add esp, 4
push eax
push 0x4d5dd0
push 0x4d4320
push str._s_sInternet_Study_Records_folder:__s
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0x4fc9d8
push 0x4d5dd0
push 0x4d4354
push str._s_sCourse_folders:__s
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x14
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0x4fc9d8
call fcn.004b5f60
add esp, 4
cmp eax, 7
jbe 0x4043d0
push 0x4fc9d8
call fcn.004b5f60
add esp, 4
lea edx, [eax + 0x4fc9d2]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.004b5e60
add esp, 8
push 0x4d4378
lea ecx, [ebp - 0x104]
push ecx
call fcn.004bab10
add esp, 8
test eax, eax
je 0x404392
push 0x4d4388
push 0x4fcad8
push str._______path_should_probably_be:__s_s_
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0
push 0x4fc9d8
call fcn.0042bc20
add esp, 8
cmp eax, 1
jne 0x4043d0
push 0x4d43c0
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 8
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
call fcn.00421100
push eax
lea edx, [ebp - 0x104]
push edx
call fcn.004b5e60
add esp, 8
lea eax, [ebp - 0x104]
push eax
call fcn.00419490
add esp, 4
mov dword [ebp - 0x6b8], eax
cmp dword [ebp - 0x6b8], 1
jne 0x40447b
call fcn.00421100
push eax
push 0x4d5dd0
push 0x4d43e4
push str._s_sMultimedia_folders:__s
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6e08
add esp, 0x14
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6b4]
push eax
call fcn.004b5e70
add esp, 8
push 0
push 0x4fcad8
call fcn.0042bc20
add esp, 8
cmp eax, 1
jne 0x40447b
push str._______path_has_2_byte_characters_
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6e08
add esp, 8
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6b4]
push eax
call fcn.004b5e70
add esp, 8
push 0x4fcad8
push 0x4fa370
call fcn.004bab10
add esp, 8
test eax, eax
je 0x404557
push 0x4fa370
push 0x4d5dd0
push 0x4d4438
push str._s_sLocal_folder:__s
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6e08
add esp, 0x14
lea edx, [ebp - 0x104]
push edx
call fcn.0042e130
add esp, 4
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6b4]
push ecx
call fcn.004b5e70
add esp, 8
push 0x4d445c
push 0x4fa370
push 0x4d4464
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call fcn.00419490
add esp, 4
mov dword [ebp - 0x6b8], eax
cmp dword [ebp - 0x6b8], 1
jne 0x404557
push 0x4d446c
push 0x4fa370
push 0x4d5dd0
push 0x4d4474
push str._s_sLocal_Multimedia_folder:__s_s
lea ecx, [ebp - 0x104]
push ecx
call fcn.004b6e08
add esp, 0x18
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6b4]
push eax
call fcn.004b5e70
add esp, 8
lea ecx, [ebp - 0x6b4]
push ecx
push 1
mov edx, dword [0x4f84c0]
push edx
call fcn.00403ac0
add esp, 0xc
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret