Function at 0x46c780
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x100
xor eax, eax
push ebp
push esi
mov esi, dword [esp + 0x10c]
mov ebp, ecx
push edi
mov ecx, 0x40
lea edi, [esp + 0xc]
test esi, esi
rep stosd dword es:[edi], eax
je 0x46c8f1
mov al, byte [esi]
lea ecx, [esp + 0xc]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
mov edi, dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStringA]
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_1
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 1]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_2
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 2]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_3
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 3]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_4
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 4]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_5
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 5]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_6
push 0x4e1d90
call edi
xor eax, eax
lea ecx, [esp + 0xc]
mov al, byte [esi + 6]
push eax
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_7
push 0x4e1d90
call edi
jmp 0x46ca1d
push 0x1f
lea eax, [esp + 0x10]
push 0x4e0978
push eax
call fcn.004b8784
mov esi, dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStringA]
add esp, 0xc
lea ecx, [esp + 0xc]
push str.Option.ini
push ecx
push str.KEY_1
push 0x4e1d90
call esi
push 0x20
lea edx, [esp + 0x10]
push 0x4e0978
push edx
call fcn.004b8784
add esp, 0xc
lea eax, [esp + 0xc]
push str.Option.ini
push eax
push str.KEY_2
push 0x4e1d90
call esi
push 0x21
lea ecx, [esp + 0x10]
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_3
push 0x4e1d90
call esi
push 0x39
lea eax, [esp + 0x10]
push 0x4e0978
push eax
call fcn.004b8784
add esp, 0xc
lea ecx, [esp + 0xc]
push str.Option.ini
push ecx
push str.KEY_4
push 0x4e1d90
call esi
push 0x24
lea edx, [esp + 0x10]
push 0x4e0978
push edx
call fcn.004b8784
add esp, 0xc
lea eax, [esp + 0xc]
push str.Option.ini
push eax
push str.KEY_5
push 0x4e1d90
call esi
push 0x25
lea ecx, [esp + 0x10]
push 0x4e0978
push ecx
call fcn.004b8784
add esp, 0xc
lea edx, [esp + 0xc]
push str.Option.ini
push edx
push str.KEY_6
push 0x4e1d90
call esi
push 0x26
lea eax, [esp + 0x10]
push 0x4e0978
push eax
call fcn.004b8784
add esp, 0xc
lea ecx, [esp + 0xc]
push str.Option.ini
push ecx
push str.KEY_7
push 0x4e1d90
call esi
mov esi, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
push str.Option.ini
push 0x1f
push str.KEY_1
push 0x4e1d90
call esi
push str.Option.ini
push 0x20
push str.KEY_2
push 0x4e1d90
mov byte [ebp + 0x2f9], al
call esi
push str.Option.ini
push 0x21
push str.KEY_3
push 0x4e1d90
mov byte [ebp + 0x2fa], al
call esi
push str.Option.ini
push 0x39
push str.KEY_4
push 0x4e1d90
mov byte [ebp + 0x2fb], al
call esi
push str.Option.ini
push 0x24
push str.KEY_5
push 0x4e1d90
mov byte [ebp + 0x2fc], al
call esi
push str.Option.ini
push 0x25
push str.KEY_6
push 0x4e1d90
mov byte [ebp + 0x2fd], al
call esi
push str.Option.ini
push 0x26
push str.KEY_7
push 0x4e1d90
mov byte [ebp + 0x2fe], al
call esi
mov byte [ebp + 0x2ff], al
xor eax, eax
mov cl, byte [eax + 0x4e1b28]
cmp cl, 1
jb 0x46caeb
cmp cl, 7
ja 0x46caeb
mov byte [eax + 0x4e1b28], 0
mov ecx, 1
xor edx, edx
mov dl, byte [ecx + ebp + 0x2f8]
cmp eax, edx
je 0x46cb05
inc ecx
cmp ecx, 7
jle 0x46caf0
jmp 0x46cb0b
mov byte [eax + 0x4e1b28], cl
inc eax
cmp eax, 0x80
jl 0x46cad4
pop edi
pop esi
pop ebp
add esp, 0x100
ret 4