Function at 0x468238
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov edi, 0x52e5f0
mov esi, 0x52ffb0
cmp byte [ebx + 0x638], 0
jne 0x468272
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x10]
push eax
lea edx, [edi + 7]
push edx
push edi
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 1
jne 0x4682db
lea ecx, [ebx + 4]
push ecx
lea eax, [edi + 0x1d]
push eax
push 0x54dcf8
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
push 0x64
push 0x54dc94
lea edx, [edi + 0x29]
push edx
push 0x54dcf8
lea ecx, [edi + 0x22]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x54dc94
call fcn.005183dc
pop ecx
test eax, eax
ja 0x468503
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x3e]
push eax
lea edx, [edi + 0x34]
push edx
lea ecx, [edi + 0x2d]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 2
jne 0x468329
cmp byte [ebx + 0x639], 2
jne 0x46830b
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x5c]
push eax
lea edx, [edi + 0x52]
push edx
lea ecx, [edi + 0x4b]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x78]
push eax
lea edx, [edi + 0x70]
push edx
lea ecx, [edi + 0x69]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 3
jne 0x468389
cmp byte [ebx + 0x639], 1
jne 0x468362
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x93]
push eax
lea edx, [edi + 0x8c]
push edx
lea ecx, [edi + 0x85]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0xae]
push eax
lea edx, [edi + 0xa7]
push edx
lea ecx, [edi + 0xa0]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 4
jne 0x4683b9
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0xc9]
push eax
lea edx, [edi + 0xc2]
push edx
lea ecx, [edi + 0xbb]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 5
jne 0x4683e9
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0xe6]
push eax
lea edx, [edi + 0xdd]
push edx
lea ecx, [edi + 0xd6]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 6
jne 0x468419
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x104]
push eax
lea edx, [edi + 0xfa]
push edx
lea ecx, [edi + 0xf3]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 7
jne 0x468449
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x121]
push eax
lea edx, [edi + 0x118]
push edx
lea ecx, [edi + 0x111]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 8
jne 0x468479
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x13d]
push eax
lea edx, [edi + 0x135]
push edx
lea ecx, [edi + 0x12e]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
cmp byte [ebx + 0x638], 9
jne 0x4684e1
cmp byte [0x565070], 0
je 0x4684bd
push edi
mov esi, 0x54dc94
mov edi, 0x565070
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov byte [0x565070], 0
jmp 0x468503
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x15a]
push eax
lea edx, [edi + 0x151]
push edx
lea ecx, [edi + 0x14a]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
jmp 0x468503
push esi
push 0x64
push 0x54dc94
lea eax, [edi + 0x177]
push eax
lea edx, [edi + 0x16e]
push edx
lea ecx, [edi + 0x167]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
xor esi, esi
mov dword [ebp - 8], 1
push 0x2c
push 0x54dc94
call fcn.0051833c
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x46856f
mov eax, dword [ebp - 4]
mov byte [eax], 0
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp byte [edx], 0
je 0x468564
push 0x2c
push dword [ebp - 4]
call fcn.0051833c
add esp, 8
test eax, eax
je 0x468559
mov byte [eax], 0
inc eax
cmp byte [eax], 0
je 0x468559
push eax
call fcn.0052175c
pop ecx
mov dword [ebp - 8], eax
push dword [ebp - 4]
call fcn.0052175c
pop ecx
mov esi, eax
test esi, esi
jg 0x46858d
mov esi, 0x19c
jmp 0x46858d
push edi
lea esi, [edi + 0x184]
mov edi, 0x54dc94
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
mov esi, 0x19c
mov dword [ebp - 8], 1
lea eax, [ebx + 0x778]
push esi
mov esi, eax
mov edi, 0x54dc94
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
xor eax, eax
mov dword [ebx + 0x7e0], eax
cmp esi, 0x64
jle 0x4685d5
add dword [ebx + 0x7e0], 0x64
sub esi, 0x64
cmp esi, 0x64
jg 0x4685c6
mov dword [ebx + 0x7dc], esi
mov edx, dword [ebp - 8]
mov dword [ebx + 0x7e4], edx
mov eax, 1
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret 4