Function at 0x41ef00
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x924
mov eax, dword [0x4bc4a0]
xor eax, esp
mov dword [esp + 0x920], eax
mov eax, dword [esp + 0x928]
mov dword [esp], eax
add eax, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ef24
sub eax, edx
add eax, 0xfffffff9
push edi
mov dword [esp + 0xc], eax
xor eax, eax
push 0x7ff
push eax
mov dword [esp + 0x19], eax
mov dword [esp + 0x1d], eax
mov dword [esp + 0x21], eax
mov word [esp + 0x25], ax
mov byte [esp + 0x27], al
mov byte [esp + 0x12c], al
lea eax, [esp + 0x12d]
push eax
mov byte [esp + 0x1c], cl
call fcn.00466720
push 0x103
lea ecx, [esp + 0x31]
push 0
push ecx
mov byte [esp + 0x38], 0
call fcn.00466720
mov edx, dword [0x4bdcf8]
add esp, 0x18
add edx, 0x28c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4bdcf8]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add eax, 0x16e
push eax
push 0x10
lea ecx, [esp + 0x18]
push ecx
push 0x49c432
push str.AppNum
push 0x49e238
call edi
test eax, eax
je 0x41f1a0
lea edx, [esp + 0x10]
push ebp
push edx
call fcn.00467557
add esp, 4
xor ebp, ebp
mov dword [esp + 0xc], eax
test eax, eax
jle 0x41f19f
push esi
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ebx, [ebx]
push 0xa
lea eax, [esp + 0x1c]
push eax
push ebp
call fcn.004688e8
mov ecx, dword [0x4bdcf8]
add esp, 0xc
add ecx, 0x16e
push ecx
push 0x800
lea edx, [esp + 0x134]
push edx
push 0x49c432
push 0x49e11c
lea eax, [esp + 0x2c]
push eax
call edi
test eax, eax
je 0x41f193
mov ecx, dword [0x4bdcf8]
add ecx, 0x16e
push ecx
push 0x104
lea edx, [esp + 0x30]
push edx
push 0x49c432
push str.file
lea eax, [esp + 0x2c]
push eax
call edi
test eax, eax
je 0x41f193
mov ecx, dword [esp + 0xc]
add ecx, 0x210
lea eax, [esp + 0x12c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f094
test dl, dl
je 0x41f090
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f094
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f074
xor eax, eax
jmp 0x41f099
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41f193
lea eax, [esp + 0x28]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41f0a8
mov ecx, dword [esp + 0x14]
sub eax, edx
cmp eax, ecx
jne 0x41f193
mov eax, dword [esp + 0xc]
push ecx
add eax, 8
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00468f0d
add esp, 0xc
test eax, eax
jne 0x41f193
mov edx, dword [0x4bdcf8]
add edx, 0x16e
push edx
push 0x49c432
push 0x49e11c
lea eax, [esp + 0x24]
push eax
call esi
test eax, eax
je 0x41f193
mov ecx, dword [0x4bdcf8]
add ecx, 0x16e
push ecx
push 0x49c432
push str.size
lea edx, [esp + 0x24]
push edx
call esi
mov eax, dword [0x4bdcf8]
add eax, 0x16e
push eax
push 0x49c432
push 0x49e214
lea ecx, [esp + 0x24]
push ecx
call esi
mov edx, dword [0x4bdcf8]
add edx, 0x16e
push edx
push 0x49c432
push 0x49e210
lea eax, [esp + 0x24]
push eax
call esi
mov ecx, dword [0x4bdcf8]
add ecx, 0x16e
push ecx
push 0x49c432
push str.file
lea edx, [esp + 0x24]
push edx
call esi
mov eax, dword [0x4bdcf8]
add eax, 0x16e
push eax
push 0x49c432
push 0x49e20c
lea ecx, [esp + 0x24]
push ecx
call esi
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x41eff0
pop esi
pop ebp
mov edx, dword [0x4bdcf8]
add edx, 0x28c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x924]
pop edi
xor ecx, esp
call fcn.00466555
add esp, 0x924
ret