Function at 0x100178a1
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x20], ecx
push edi
test dl, dl
je 0x10017c9c
mov dword [ebp - 0xc], 0xfffffffe
mov dword [ebp - 0x1c], 0x8b78acc4
mov dword [ebp - 0x14], 0x653ffd03
mov dword [ebp - 0xc], ebx
jmp 0x100178de
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x100178d4
push 3
pop esi
push 1
mov dword [ebp - 0xc], 0xffffffe7
pop edi
jmp 0x100179ff
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jl 0x100179b2
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], 0xb28787d6
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x10017976
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017931
push ebx
push 0x1275
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov eax, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x50], 4
mov eax, dword [ebp - 0x1c]
sbb edx, edx
sub ecx, eax
neg edx
xor eax, eax
cmp ecx, edx
setg al
add eax, 0xa90c
je 0x10017963
mov ecx, edi
cmp dword [ebp - 0x10], ebx
jne 0x10017965
mov ecx, ebx
mov eax, dword [ebp - 0xc]
imul eax, ecx
sub eax, 4
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x10]
jns 0x1001791b
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x100179a9
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017993
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], ecx
mov dword [ebp - 0x14], ecx
dec dword [ebp - 0x18]
jns 0x1001797e
dec dword [ebp - 8]
jns 0x10017909
mov dword [ebp - 0x1c], ebx
jmp 0x100179f7
mov dword [ebp - 8], ebx
jmp 0x100179c8
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x50], ebx
jne 0x100179cd
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x100179bc
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100179f4
push ebx
push 0xab2
push 0x1aeb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x100179b7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffed
jle 0x100178f6
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017a17
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [ebp - 0x18], 0x860b4ffb
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0x1c], 0xaab39e22
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], ebx
jmp 0x10017a46
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10017a38
push 2
pop esi
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x10017af8
mov dword [ebp - 8], 0xc9b780f8
mov dword [ebp - 0x14], 0x1d97
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x10], ebx
jmp 0x10017a82
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], 0x1448112d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10017a74
cmp dword [ebp - 0x34], ebx
jne 0x10017aca
dec dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x2c]
add eax, ecx
je 0x10017aa4
mov ecx, edi
cmp dword [ebp - 0x60], ebx
jne 0x10017aa6
mov ecx, ebx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, esi
jne 0x10017ac7
cmp dword [ebp - 0xc], ebx
jne 0x10017aca
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 0x37d08bb2
mov dword [ebp - 0x10], eax
dec dword [ebp - 0x18]
jns 0x10017a5a
mov dword [ebp - 0x10], ebx
jmp 0x10017b64
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x10017b51
mov dword [ebp - 0xc], ebx
jmp 0x10017b40
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017b3d
push ebx
push 0x16c5
push ebx
push ebx
push 0x28e
push 0x1423
push 0x33a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x10017b0a
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x34]
dec dword [ebp - 0x1c]
jns 0x10017b05
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017b61
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x10017afd
push 5
pop eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x6d4a
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x38], 0xc77e
mov dword [ebp - 0x3c], 0x493a
mov dword [ebp - 0x28], 7
cmp dword [ebp - 0x10], ebx
je 0x10017bbd
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], ebx
jmp 0x10017bb2
cmp dword [ebp - 0x10], ebx
jne 0x10017c5d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jg 0x10017ba6
jmp 0x10017c5d
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0xbbe26b5c
mov dword [ebp - 8], ebx
jmp 0x10017be1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24], 0xdf9c7750
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10017bd3
mov dword [ebp - 8], ebx
jmp 0x10017bf9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0xfffffffc
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10017beb
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017c0e
push ebx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
mov eax, dword [ebp - 0x28]
mov ecx, 0xc2e3a4c6
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x24], eax
jle 0x10017c3c
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xbb64
setge al
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0xffff1d34
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
sub ecx, eax
add ecx, dword [ebp - 0x14]
jne 0x10017c78
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
cmp eax, 8
mov eax, dword [ebp - 0x20]
setne cl
mov dword [ebp - 0x28], ecx
inc dword [eax]
jmp 0x10017e78
push 0xfffffffffffffffc
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x1c], ebx
jmp 0x10017cbe
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10017cb1
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
push 2
mov dword [ebp - 0xc], ebx
pop esi
cmp dword [ebp - 0xc], esi
jg 0x10017cf5
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017cea
push ebx
push 0x21d3
push ebx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x10017cd5
push 0xfffffffffffffffc
pop ecx
xor edi, edi
inc edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0xfdb696
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], 0xbe92e3f9
mov dword [ebp - 0x14], 0x7392715e
mov dword [ebp - 0x14], 0x1bb000e2
mov dword [ebp - 0x20], 0xde467b47
mov dword [ebp - 0xc], ebx
jmp 0x10017d3b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x70], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10017d2d
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp ecx, eax
setne dl
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
imul ecx, edx, 0xcd33
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
add eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xda439beb
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], 0x1a05132d
mov dword [ebp - 0x18], 0xb11f
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 8], ebx
jmp 0x10017de4
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x58], 0x17c10977
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10017dd6
mov dword [ebp - 8], ebx
jmp 0x10017dfc
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x40], 0x627e80a
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10017dee
mov dword [ebp - 0x10], 0x8bbca631
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
setne bl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, ebx
sub edx, 0x261d573
cmp edx, 0xf30b
jle 0x10017e50
cmp dword [ebp - 0x1c], 0
jne 0x10017e50
xor edi, edi
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp edi, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret