Function at 0x46af40
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffadc
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x46af5e
or eax, 0xffffffff
jmp 0x46b24f
push ebx
call sym.Cari___.exe__Findmodule
pop ecx
mov edi, eax
mov dword [0x4eb0ec], edi
test edi, edi
jne 0x46af79
or eax, 0xffffffff
jmp 0x46b24f
push 0
push 1
push 0x20
push 0x21c
push 0x4bd3af
push 0x4eae9c
call sym.Cari___.exe__Createsorteddata
add esp, 0x18
test eax, eax
je 0x46afa2
or eax, 0xffffffff
jmp 0x46b24f
mov dword [0x4eb020], 0x14
mov dword [0x4eb064], 0x4bd3c1
mov byte [0x4eb0a8], 0x10
mov dword [0x4eb024], 8
mov dword [0x4eb068], 0x4bd3cd
mov byte [0x4eb0a9], 4
mov dword [0x4eb028], 0x100
mov dword [0x4eb06c], 0x4bd3d3
mov byte [0x4eb0aa], 4
mov dword [0x4eafd4], 3
mov dword [0x4eafd8], esi
push 0x4eafd4
call sym.Cari___.exe__Defaultbar
xor edx, edx
pop ecx
mov dword [0x4eb0b9], edx
mov dword [0x4eb0c5], 1
mov cx, word [0x4d54b4]
xor edx, edx
mov word [0x4eb0c9], cx
mov dword [0x4eb0cd], 0x12
mov dword [0x4eb0d1], esi
xor ecx, ecx
mov ax, word [0x4d5394]
mov word [0x4eb0d5], ax
xor eax, eax
mov dword [ebp - 0x524], 0xfffffffe
mov dword [ebp - 0x520], 1
mov dword [ebp - 0x51c], eax
mov dword [0x4eb0d9], edx
mov byte [ebp - 0x518], 0
xor edx, edx
mov dword [0x4eb0dd], ecx
mov dword [ebp - 0x414], edx
xor ecx, ecx
mov byte [ebp - 0x410], 0
mov dword [ebp - 0x30c], ecx
xor eax, eax
mov dword [ebp - 0x310], eax
lea edx, [ebp - 0x524]
push edx
push 0x4eae9c
mov dword [0x4eb0e1], 0x46a44c
call sym.Cari___.exe__Addsorteddata
add esp, 8
xor ecx, ecx
mov ebx, ecx
mov esi, ecx
cmp esi, 0xc8
jge 0x46b19c
push esi
push str.Obj__i_
lea eax, [ebp - 0x104]
push eax
call fcn.004a6c2c
add esp, 0xc
lea edx, [ebp - 0x308]
lea ecx, [ebp - 0x104]
push 0x4d53a4
push 0x204
push edx
push 0x4bcf18
push ecx
push 0x4bd3ec
call sub.KERNEL32.DLL_GetPrivateProfileStringA
xor eax, eax
mov al, byte [ebp - 0x308]
push eax
call fcn.004a7bbc
pop ecx
test eax, eax
je 0x46b18f
xor edx, edx
mov dl, byte [ebp - 0x308]
add edx, 0xffffffd0
mov dword [ebp - 4], edx
xor ecx, ecx
mov cl, byte [ebp - 0x307]
push ecx
call fcn.004a7bbc
pop ecx
test eax, eax
je 0x46b15b
mov eax, dword [ebp - 4]
xor edx, edx
add eax, eax
mov dl, byte [ebp - 0x307]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 4], eax
mov eax, 2
jmp 0x46b160
mov eax, 1
xor edx, edx
mov dl, byte [ebp + eax - 0x308]
cmp edx, 0x2c
jne 0x46b18f
cmp byte [ebp + eax - 0x307], 0
je 0x46b18f
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x307]
push ecx
push ebx
add eax, edx
push eax
call fcn.00469b4c
add esp, 0xc
inc ebx
inc esi
cmp esi, 0xc8
jl 0x46b0cc
xor eax, eax
push 0
mov dword [0x4eafa8], eax
push 0x46ac48
mov ecx, dword [0x4d3b80]
mov eax, dword [0x4d3b78]
push ecx
push str.DIA_SCAN_OBJ
push eax
call sub.USER32.DLL_DialogBoxParamA
mov esi, eax
push 0x4d53a4
push 0
push 0
push 0x4bd3ec
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov edi, dword [0x4eafb8]
xor ebx, ebx
jmp 0x46b238
push ebx
push str.Obj__i_
lea eax, [ebp - 0x104]
push eax
call fcn.004a6c2c
add esp, 0xc
lea edx, [edi + 0xc]
lea eax, [ebp - 0x308]
push edx
mov ecx, dword [edi + 0x110]
push ecx
push 0x4bd406
push eax
call fcn.004a6c2c
add esp, 0x10
lea edx, [ebp - 0x308]
lea ecx, [ebp - 0x104]
push 0x4d53a4
push edx
push ecx
push 0x4bd3ec
call sub.KERNEL32.DLL_WritePrivateProfileStringA
inc ebx
add edi, 0x21c
mov eax, dword [0x4eafa0]
dec eax
cmp ebx, eax
jl 0x46b1e0
push 0x4eae9c
call sym.Cari___.exe__Destroysorteddata
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret