Function at 0x4220d3
Capabilities:
Read .ini file

Disassembly:
push 0x234
mov eax, 0x4b231d
call fcn.00487f33
mov dword [ebp - 4], 2
cmp dword [ebp + 0x20], 0
je 0x422254
push dword [ebp + 0x1c]
push 0x4ca738
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov edi, 0x4ca734
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a72e
mov byte [ebp - 4], 3
mov ebx, str.Smart.ini
push ebx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040a72e
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.0040a72e
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.0040259b
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov eax, dword [ebp + 0x10]
cmp dword [eax - 0xc], 2
jne 0x42225e
push dword [ebp + 0x24]
push 0x4ca738
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.0040a72e
mov byte [ebp - 4], 9
push ebx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040a72e
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.0040a72e
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.0040259b
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x42225e
mov edi, 0x4ca734
mov ebx, str.Smart.ini
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040a72e
mov byte [ebp - 4], 0xf
push ebx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x10
push dword [eax]
push 0x100
lea eax, [ebp - 0x214]
push eax
push 0x4cb028
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.0040259b
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
lea eax, [ebp - 0x214]
push eax
call fcn.00490f02
pop ecx
mov esi, dword [ebp + 0x1c]
cmp eax, esi
je 0x422538
push esi
push 0x4ca738
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.0040a72e
mov byte [ebp - 4], 0x13
push ebx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a72e
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.0040259b
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
lea ecx, [ebp - 0x220]
call fcn.0040364a
mov byte [ebp - 4], 0x17
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp + 0x14]
call fcn.00422571
mov byte [ebp - 4], 0x18
push esi
push dword [eax]
push str._s__d_n
lea eax, [ebp - 0x220]
push eax
call fcn.00403636
add esp, 0x10
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.0040259b
lea ecx, [ebp - 0x23c]
call fcn.0046b8c1
mov byte [ebp - 4], 0x1a
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0040a72e
mov byte [ebp - 4], 0x1b
lea ecx, [ebp + 0x10]
push ecx
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040a78d
mov byte [ebp - 4], 0x1c
push str..csv
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040a72e
add esp, 0x24
mov byte [ebp - 4], 0x1d
push 0
push 0x7002
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.0046bbca
mov esi, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x218]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.0040259b
test esi, esi
je 0x422517
lea ecx, [ebp - 0x23c]
call fcn.0046bb0f
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 0x42248c
cmp edx, esi
jne 0x42248c
push dword [ebp - 0x220]
lea ecx, [ebp - 0x23c]
call fcn.0046bf91
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x23c]
call fcn.0046ba94
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x23c]
call fcn.0046b8e3
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.0040259b
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.0040259b
or dword [ebp - 4], 0xffffffff
jmp 0x42255c
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x23c]
call fcn.0046b8e3
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.0040259b
or dword [ebp - 4], 0xffffffff
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.0040259b
mov eax, ebx
call fcn.00487e85
ret 0x20