Function at 0x422a89
Capabilities:
Read .ini file

Disassembly:
push 0x234
mov eax, 0x4b067d
call fcn.00487a61
mov dword [ebp - 4], 2
cmp dword [ebp + 0x20], 0
je 0x422c0a
push dword [ebp + 0x1c]
push 0x4c97f8
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov edi, 0x4c97f4
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040ab0f
mov byte [ebp - 4], 3
mov ebx, str.Smart.ini
push ebx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040ab0f
mov esi, eax
mov byte [ebp - 4], 4
push str.FIRST
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.0040ab0f
add esp, 0x30
mov byte [ebp - 4], 5
push dword [esi]
lea ecx, [ebp - 0x214]
push ecx
push dword [ebp + 0x10]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov eax, dword [ebp + 0x10]
cmp dword [eax - 0xc], 2
jne 0x422c14
push dword [ebp + 0x24]
push 0x4c97f8
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.0040ab0f
mov byte [ebp - 4], 9
push ebx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040ab0f
mov esi, eax
mov byte [ebp - 4], 0xa
push str.THRESHOLD
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040ab0f
add esp, 0x30
mov byte [ebp - 4], 0xb
push dword [esi]
lea ecx, [ebp - 0x214]
push ecx
push dword [ebp + 0x10]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004028cb
jmp 0x422c14
mov edi, 0x4c97f4
mov ebx, str.Smart.ini
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040ab0f
mov byte [ebp - 4], 0xf
push ebx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040ab0f
add esp, 0x18
mov byte [ebp - 4], 0x10
push dword [eax]
push 0x100
lea eax, [ebp - 0x214]
push eax
push 0x4ca6a0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
lea eax, [ebp - 0x214]
push eax
call fcn.0048fc76
pop ecx
mov esi, dword [ebp + 0x1c]
cmp eax, esi
je 0x422eee
push esi
push 0x4c97f8
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040ab0f
mov byte [ebp - 4], 0x13
push ebx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040ab0f
add esp, 0x24
mov byte [ebp - 4], 0x14
push dword [eax]
lea eax, [ebp - 0x214]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
lea ecx, [ebp - 0x220]
call fcn.004038ee
mov byte [ebp - 4], 0x17
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp + 0x14]
call fcn.00422f27
mov byte [ebp - 4], 0x18
push esi
push dword [eax]
push str._s__d_n
lea eax, [ebp - 0x220]
push eax
call fcn.004038da
add esp, 0x10
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.004028cb
lea ecx, [ebp - 0x23c]
call fcn.0046b4e6
mov byte [ebp - 4], 0x1a
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0040ab0f
mov byte [ebp - 4], 0x1b
lea ecx, [ebp + 0x10]
push ecx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040ab6e
mov byte [ebp - 4], 0x1c
push str..csv
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040ab0f
add esp, 0x24
mov byte [ebp - 4], 0x1d
push 0
push 0x7002
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.0046b7ef
mov esi, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x218]
add ecx, 0xfffffff0
call fcn.004028cb
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.004028cb
test esi, esi
je 0x422ecd
lea ecx, [ebp - 0x23c]
call fcn.0046b734
mov edi, eax
mov esi, edx
mov byte [ebp - 4], 0x21
push 2
push 0
push 0
lea ecx, [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
call dword [eax + 0x2c]
cmp eax, edi
jne 0x422e42
cmp edx, esi
jne 0x422e42
push dword [ebp - 0x220]
lea ecx, [ebp - 0x23c]
call fcn.0046bba8
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x23c]
call fcn.0046b6b9
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x23c]
call fcn.0046b508
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004028cb
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004028cb
or dword [ebp - 4], 0xffffffff
jmp 0x422f12
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x23c]
call fcn.0046b508
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004028cb
or dword [ebp - 4], 0xffffffff
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.004028cb
mov eax, ebx
call fcn.004879ae
ret 0x20