Function at 0x10187130
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101abed0
mov eax, dword fs:[0]
push eax
sub esp, 0x1b4
mov eax, dword [0x10216574]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1bc], ecx
push 0x104
lea eax, [ebp - 0x198]
push 0
push eax
call fcn.1015d520
add esp, 0xc
mov eax, 0x5fe9d4
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x1a0], eax
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x198]
push 0x101ef8d4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], 0
push eax
push 0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1a0], 0x3e9
call fcn.1000fb60
mov edi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a0], 0x3ea
cmp edi, eax
je 0x10187212
mov dword [edi], 0x3ea
add edi, 4
mov dword [ebp - 0x1a8], edi
jmp 0x10187231
lea eax, [ebp - 0x1a0]
push eax
push edi
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov eax, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a8]
mov dword [ebp - 0x1a0], 0x3ed
cmp edi, eax
je 0x10187250
mov dword [edi], 0x3ed
add edi, 4
mov dword [ebp - 0x1a8], edi
jmp 0x1018726f
lea eax, [ebp - 0x1a0]
push eax
push edi
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov eax, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a8]
mov dword [ebp - 0x1a0], 0x3f1
cmp edi, eax
je 0x1018728e
mov dword [edi], 0x3f1
add edi, 4
mov dword [ebp - 0x1a8], edi
jmp 0x101872ad
lea eax, [ebp - 0x1a0]
push eax
push edi
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov eax, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a8]
mov dword [ebp - 0x1a0], 0x3f4
cmp edi, eax
je 0x101872cc
mov dword [edi], 0x3f4
add edi, 4
mov dword [ebp - 0x1a8], edi
jmp 0x101872eb
lea eax, [ebp - 0x1a0]
push eax
push edi
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov eax, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a8]
mov dword [ebp - 0x1a0], 0x3f6
cmp edi, eax
je 0x1018730a
mov dword [edi], 0x3f6
add edi, 4
mov dword [ebp - 0x1a8], edi
jmp 0x10187323
lea eax, [ebp - 0x1a0]
push eax
push edi
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov edi, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1ac]
mov eax, edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
sub eax, ecx
sar eax, 2
xor edx, edx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1c0], edx
test eax, eax
jle 0x10187411
mov edi, dword [ebp - 0x1bc]
nop dword [eax + eax]
push dword [ecx + edx*4]
mov ecx, edi
call fcn.1001b626
push 0
push 0
push 0xf1
push dword [eax + 0x20]
call esi
push dword [ebp - 0x1c0]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x30]
movq qword [ebp - 0x20], xmm0
push 0x101ef8e8
push eax
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x14], 0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0
lea eax, [ebp - 0x30]
push eax
push 0x101ef8f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x1c0]
mov esi, eax
mov eax, dword [ebp - 0x1ac]
push dword [eax + ecx*4]
mov ecx, edi
call fcn.1001b626
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xf1
push dword [eax + 0x20]
call esi
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1ac]
inc edx
mov dword [ebp - 0x1c0], edx
cmp edx, dword [ebp - 0x19c]
jl 0x10187360
mov edi, dword [ebp - 0x1a0]
cmp ecx, edi
mov dword [ebp - 0x19c], 0x3eb
mov eax, edi
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
mov eax, ecx
cmove eax, edi
mov edi, dword [ebp - 0x1a4]
cmp eax, edi
je 0x10187448
mov dword [eax], 0x3eb
add eax, 4
mov dword [ebp - 0x1a8], eax
jmp 0x1018746d
lea ecx, [ebp - 0x19c]
push ecx
push eax
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov edi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x19c], 0x3ec
cmp eax, edi
je 0x1018748c
mov dword [eax], 0x3ec
add eax, 4
mov dword [ebp - 0x1a8], eax
jmp 0x101874b1
lea ecx, [ebp - 0x19c]
push ecx
push eax
lea ecx, [ebp - 0x1ac]
call fcn.1000fb60
mov edi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1ac]
sub eax, ecx
xor edx, edx
sar eax, 2
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1c0], edx
test eax, eax
jle 0x10187585
mov edi, dword [ebp - 0x1bc]
jmp 0x101874da
mov ecx, dword [ebp - 0x1ac]
push dword [ecx + edx*4]
mov ecx, edi
call fcn.1001b626
push 0
push 0
push 0xf1
push dword [eax + 0x20]
call esi
push dword [ebp - 0x1c0]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x30]
movq qword [ebp - 0x20], xmm0
push 0x101ef8f8
push eax
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x14], 0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0
lea eax, [ebp - 0x30]
push eax
push 0x101ef900
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x1c0]
mov esi, eax
mov eax, dword [ebp - 0x1ac]
push dword [eax + ecx*4]
mov ecx, edi
call fcn.1001b626
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xf1
push dword [eax + 0x20]
call esi
mov edx, dword [ebp - 0x1c0]
inc edx
mov dword [ebp - 0x1c0], edx
cmp edx, dword [ebp - 0x19c]
jl 0x101874d4
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
lea eax, [ebp - 0x19c]
mov byte [ebp - 4], 1
push eax
push 0
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x19c], 0x3ee
call fcn.1000fb60
mov esi, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x19c], 0x3ef
cmp esi, eax
je 0x101875f0
mov dword [esi], 0x3ef
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x1018760f
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0x3f0
cmp esi, eax
je 0x1018762e
mov dword [esi], 0x3f0
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x1018764d
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0x3f2
cmp esi, eax
je 0x1018766c
mov dword [esi], 0x3f2
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x1018768b
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0x3f3
cmp esi, eax
je 0x101876aa
mov dword [esi], 0x3f3
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x101876c9
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0x3f5
cmp esi, eax
je 0x101876e8
mov dword [esi], 0x3f5
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x10187707
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0x3f7
cmp esi, eax
je 0x10187726
mov dword [esi], 0x3f7
add esi, 4
mov dword [ebp - 0x1b4], esi
jmp 0x1018773f
lea eax, [ebp - 0x19c]
push eax
push esi
lea ecx, [ebp - 0x1b8]
call fcn.1000fb60
mov esi, dword [ebp - 0x1b4]
push 0x64
lea eax, [ebp - 0x94]
push 0
push eax
call fcn.1015d520
mov eax, dword [ebp - 0x1b8]
add esp, 0xc
sub esi, eax
sar esi, 2
test esi, esi
jle 0x1018788d
xor edi, edi
jmp 0x10187776
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
lea eax, [eax + edi*4]
push 0x101ef7ce
push dword [eax]
mov dword [ebp - 0x1a0], eax
call fcn.1001b626
mov ecx, eax
call fcn.1001c124
push edi
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x30]
movq qword [ebp - 0x20], xmm0
push 0x101ef908
push eax
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x14], 0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0x63
lea eax, [ebp - 0x94]
push eax
push 0x101ef7cf
lea eax, [ebp - 0x30]
push eax
push 0x101ef914
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x1018787e
cmp edi, 6
jne 0x10187820
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1bc]
push dword [eax + 0x18]
call fcn.1001b626
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x143
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1bc]
push dword [eax]
call fcn.1001b626
lea ecx, [ebp - 0x94]
push ecx
push 0xffffffffffffffff
push 0x14c
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x19c], eax
cmp eax, 0xffffffff
je 0x1018787e
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1bc]
push dword [eax]
call fcn.1001b626
push 0
push dword [ebp - 0x19c]
push 0x14e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
inc edi
cmp edi, esi
jl 0x10187770
mov edi, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x1bc]
mov ecx, esi
push 0x3e9
call fcn.1001bc43
test eax, eax
jne 0x101878eb
push 0x3ed
mov ecx, esi
call fcn.1001bc43
test eax, eax
jne 0x101878eb
push 0x3f4
mov ecx, esi
call fcn.1001bc43
mov ecx, dword [ebp - 0x1bc]
mov esi, eax
push 0x3f1
call fcn.1001bc43
or esi, eax
mov esi, dword [ebp - 0x1bc]
jne 0x101878eb
push 0x3f6
mov ecx, esi
call fcn.1001bc43
test eax, eax
je 0x101878f2
mov byte [esi + 0xa8], 1
mov edx, dword [ebp - 0x1b8]
test edx, edx
je 0x1018792b
mov ecx, dword [ebp - 0x1b0]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10187921
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10187979
push ecx
push edx
call fcn.1015b197
add esp, 8
mov ecx, dword [ebp - 0x1ac]
test ecx, ecx
je 0x1018795e
sub edi, ecx
mov eax, ecx
and edi, 0xfffffffc
cmp edi, 0x1000
jb 0x10187954
mov ecx, dword [eax - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10187979
push edi
push ecx
call fcn.1015b197
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015b166
mov esp, ebp
pop ebp
ret
call fcn.10160ddf
int3