Function at 0x41d250
Capabilities:
Read .ini file

Disassembly:
push ecx
mov eax, dword [0x497730]
push ebx
push ebp
push esi
mov esi, ecx
push edi
push eax
mov ecx, dword [esi + 0x90]
mov dl, byte [esi + 0x23]
push ecx
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x49770c
call fcn.0045822c
lea ecx, [esi + 0x100]
call fcn.004288a0
push str.FlashList.ini
lea eax, [esp + 0x14]
push 0x49770c
push eax
call sub.MFC42.DLL_operator_1
mov eax, dword [eax]
mov ecx, dword [esi + 0x104]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea edi, [esi + 0x104]
push eax
push 0
push str.DrivingLevel_6998
push ecx
call ebp
lea ecx, [esp + 0x10]
mov byte [esi + 0x137], al
call sub.MFC42.DLL_CString::CString
push str.FlashList.ini
lea ecx, [esp + 0x14]
push 0x49770c
push ecx
call sub.MFC42.DLL_operator_1
mov eax, dword [eax]
mov ecx, dword [edi]
push eax
push 0x88
push str.DrivingLevel_6913
push ecx
call ebp
lea ecx, [esp + 0x10]
mov byte [esi + 0x136], al
call sub.MFC42.DLL_CString::CString
cmp byte [esi + 0x2c], 8
jb 0x41d31d
mov al, byte [esi + 0x114]
cmp al, 3
jbe 0x41d312
and eax, 0xff
jmp 0x41d317
mov eax, 3
mov byte [esi + 0x114], al
mov ecx, dword [esi + 8]
mov dl, byte [ecx + 0x50]
test dl, dl
je 0x41d332
mov al, byte [esi + 0x120]
imul dl
mov byte [esi + 0x2c], al
mov cl, byte [ecx + 0x51]
mov bl, 2
cmp cl, bl
jne 0x41d344
mov byte [esi + 0x98], 1
jmp 0x41d350
cmp cl, 1
jne 0x41d350
mov byte [esi + 0x98], 0
push edi
lea ecx, [esi + 0x94]
call fcn.004581c0
xor eax, eax
mov al, byte [esi + 0x12e]
sub eax, 0xe
je 0x41d393
dec eax
je 0x41d37c
sub eax, 0x93
je 0x41d37c
mov byte [esi + 0x5934], 1
jmp 0x41d399
mov al, byte [esi + 0x12c]
cmp al, 1
je 0x41d393
cmp al, 3
jne 0x41d373
mov byte [esi + 0x5934], 4
jmp 0x41d399
mov byte [esi + 0x5934], bl
mov al, byte [esi + 0x12f]
test al, al
je 0x41d447
mov eax, dword [esi + 0x5938]
test eax, eax
je 0x41d3c4
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esi + 0x5938], 0
xor edx, edx
xor eax, eax
mov dl, byte [esi + 0x152]
mov al, byte [esi + 0x121]
mov edi, edx
xor ecx, ecx
imul edi, eax
mov cl, byte [esi + 0x5934]
xor edx, edx
imul edi, ecx
mov dl, byte [esi + 0x2c]
imul edi, edx
mov eax, edi
shl eax, 7
add eax, edi
lea ecx, [edi + eax*2]
shl ecx, 1
push ecx
call sub.MFC42.DLL_operatornew
mov ebx, eax
xor ecx, ecx
add esp, 4
cmp ebx, ecx
je 0x41d43f
lea eax, [edi - 1]
cmp eax, ecx
jl 0x41d43b
lea edx, [ebx + 4]
lea ebp, [eax + 1]
jmp 0x41d41a
xor ecx, ecx
mov word [edx - 2], cx
mov word [edx - 4], cx
mov word [edx], cx
lea edi, [edx + 2]
mov ecx, 0x80
or eax, 0xffffffff
add edx, 0x206
dec ebp
rep stosd dword es:[edi], eax
jne 0x41d418
mov eax, ebx
jmp 0x41d441
xor eax, eax
mov dword [esi + 0x5938], eax
mov edx, dword [esi + 8]
mov al, byte [edx + 0x79]
cmp al, 0xff
jne 0x41d457
mov al, byte [esi + 0x135]
mov byte [esi + 0x52f5], al
mov al, byte [esi + 0x12f]
cmp al, 3
jne 0x41d477
test byte [esi + 0x10d], 0x80
je 0x41d477
mov byte [esi + 0x134], 1
mov ecx, esi
call fcn.00426b30
xor eax, eax
xor ecx, ecx
mov al, byte [esi + 0x2c]
mov cl, byte [esi + 0x120]
cdq
idiv ecx
mov bl, byte [esi + 0x98]
xor edx, edx
test bl, bl
setne dl
inc edx
pop edi
imul eax, edx
imul eax, dword [esi + 0x118]
mov dword [esi + 0xa8], eax
pop esi
pop ebp
mov eax, 1
pop ebx
pop ecx
ret