Function at 0x414e60
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x490108
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebp
push esi
mov ebp, ecx
call fcn.00430b00
mov esi, eax
test esi, esi
je 0x415965
xor eax, eax
mov byte [esp + 0x30], 0
mov dword [esp + 0x31], eax
mov word [esp + 0x35], ax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x41526a
lea ecx, [ebp + 0x27c]
lea edx, [ebp + 0x25c]
push ecx
lea eax, [ebp + 0x23c]
push edx
lea ecx, [ebp + 0x21c]
push eax
lea edx, [ebp + 0x1dc]
push ecx
push edx
mov ecx, esi
call fcn.00431130
lea eax, [ebp + 0x2fc]
push 6
push eax
mov ecx, esi
call fcn.00431220
lea ecx, [ebp + 0x32c]
push ecx
mov ecx, esi
call fcn.00431900
lea edx, [ebp + 0x29c]
mov ecx, esi
push edx
call fcn.00431a70
lea eax, [ebp + 0x2bc]
mov ecx, esi
push eax
call fcn.00431c90
lea ecx, [ebp + 0x1fc]
push ecx
mov ecx, esi
call fcn.00431ca0
push 0
mov ecx, esi
call fcn.00431e90
mov dword [ebp + 0x2dc], eax
lea edx, [ebp + 0x280]
lea eax, [ebp + 0x260]
push edx
lea ecx, [ebp + 0x240]
push eax
lea edx, [ebp + 0x220]
push ecx
lea eax, [ebp + 0x1e0]
push edx
push eax
mov ecx, esi
call fcn.00431270
lea ecx, [ebp + 0x302]
push 6
push ecx
mov ecx, esi
call fcn.00431360
lea edx, [ebp + 0x330]
mov ecx, esi
push edx
call fcn.004318b0
lea eax, [ebp + 0x2a0]
mov ecx, esi
push eax
call fcn.004319d0
lea ecx, [ebp + 0x2c0]
push ecx
mov ecx, esi
call fcn.00431b50
lea edx, [ebp + 0x200]
mov ecx, esi
push edx
call fcn.00431bf0
push 1
mov ecx, esi
call fcn.00431e90
mov dword [ebp + 0x2e0], eax
lea eax, [ebp + 0x284]
lea ecx, [ebp + 0x264]
push eax
lea edx, [ebp + 0x244]
push ecx
push edx
lea eax, [ebp + 0x224]
lea ecx, [ebp + 0x1e4]
push eax
push ecx
mov ecx, esi
call fcn.004313b0
lea edx, [ebp + 0x308]
push 6
push edx
mov ecx, esi
call fcn.004314a0
lea eax, [ebp + 0x334]
mov ecx, esi
push eax
call fcn.004318c0
lea ecx, [ebp + 0x2a4]
push ecx
mov ecx, esi
call fcn.004319f0
lea edx, [ebp + 0x2c4]
mov ecx, esi
push edx
call fcn.00431b70
lea eax, [ebp + 0x204]
mov ecx, esi
push eax
call fcn.00431c10
push 2
mov ecx, esi
call fcn.00431e90
lea ecx, [ebp + 0x288]
mov dword [ebp + 0x2e4], eax
lea edx, [ebp + 0x268]
push ecx
lea eax, [ebp + 0x248]
push edx
lea ecx, [ebp + 0x228]
push eax
lea edx, [ebp + 0x1e8]
push ecx
push edx
mov ecx, esi
call fcn.004314f0
lea eax, [ebp + 0x30e]
push 6
push eax
mov ecx, esi
call fcn.004315e0
lea ecx, [ebp + 0x338]
push ecx
mov ecx, esi
call fcn.004318d0
lea edx, [ebp + 0x2a8]
mov ecx, esi
push edx
call fcn.00431a10
lea eax, [ebp + 0x2c8]
mov ecx, esi
push eax
call fcn.00431b90
lea ecx, [ebp + 0x208]
push ecx
mov ecx, esi
call fcn.00431c30
push 3
mov ecx, esi
call fcn.00431e90
mov dword [ebp + 0x2e8], eax
lea edx, [ebp + 0x28c]
lea eax, [ebp + 0x26c]
push edx
lea ecx, [ebp + 0x24c]
push eax
lea edx, [ebp + 0x22c]
push ecx
lea eax, [ebp + 0x1ec]
push edx
push eax
mov ecx, esi
call fcn.00431630
push 6
lea ecx, [ebp + 0x314]
push ecx
mov ecx, esi
call fcn.00431720
lea edx, [ebp + 0x33c]
mov ecx, esi
push edx
call fcn.004318e0
lea eax, [ebp + 0x2ac]
mov ecx, esi
push eax
call fcn.00431a30
lea ecx, [ebp + 0x2cc]
push ecx
mov ecx, esi
call fcn.00431bb0
lea edx, [ebp + 0x20c]
mov ecx, esi
push edx
call fcn.00431c50
push 4
mov ecx, esi
call fcn.00431e90
mov dword [ebp + 0x2ec], eax
lea eax, [ebp + 0x290]
lea ecx, [ebp + 0x270]
push eax
lea edx, [ebp + 0x250]
push ecx
lea eax, [ebp + 0x230]
push edx
lea ecx, [ebp + 0x1f0]
push eax
push ecx
mov ecx, esi
call fcn.00431770
lea edx, [ebp + 0x31a]
push 6
push edx
mov ecx, esi
call fcn.00431860
lea eax, [ebp + 0x340]
mov ecx, esi
push eax
call fcn.004318f0
lea ecx, [ebp + 0x2b0]
push ecx
mov ecx, esi
call fcn.00431a50
lea edx, [ebp + 0x2d0]
mov ecx, esi
push edx
call fcn.00431bd0
lea eax, [ebp + 0x210]
mov ecx, esi
push eax
call fcn.00431c70
push 5
mov ecx, esi
call fcn.00431e90
lea ecx, [ebp + 0x294]
mov dword [ebp + 0x2f0], eax
lea edx, [ebp + 0x274]
push ecx
lea eax, [ebp + 0x254]
push edx
lea ecx, [ebp + 0x234]
push eax
lea edx, [ebp + 0x1f4]
push ecx
push edx
mov ecx, esi
call fcn.00432020
lea eax, [ebp + 0x320]
push 6
push eax
mov ecx, esi
call fcn.004320e0
push str.C:Secure1000Inspector.ini
push 0
push str.BRIGHTNESS_POS
push str.ZOOM
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call esi
push str.C:Secure1000Inspector.ini
push 4
push str.CONTRAST_POS
push str.ZOOM
mov dword [ebp + 0x1f8], eax
call esi
push str.C:Secure1000Inspector.ini
push 7
push str.GAMMA_POS
push str.ZOOM
mov dword [ebp + 0x238], eax
call esi
push str.C:Secure1000Inspector.ini
push 0
push str.INVERT_IMAGE_DATA
push str.ZOOM
mov dword [ebp + 0x258], eax
call esi
push str.C:Secure1000Inspector.ini
push 1
push str.ENABLE_OPTION
push str.ZOOM
mov dword [ebp + 0x2b8], eax
call esi
mov dword [ebp + 0x2d8], eax
mov ecx, dword [ebp + 0x1dc]
mov eax, dword [ebp + 0x23c]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x25c]
push ebx
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
mov edx, dword [ebp + 0x21c]
lea edi, [ebp + 0x2fc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x27c]
not ecx
sub edi, ecx
mov dword [esp + 0x18], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x29c]
mov ecx, eax
mov eax, dword [ebp + 0x2bc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x32c]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x1fc]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2dc]
mov dword [esp + 0x20], eax
mov dword [ebp + 0x3c4], 0
mov eax, dword [ebp + 0x170]
push 0
push 0
push 0x147
push eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
call ebx
dec eax
cmp eax, 6
ja case.default.0x415323
jmp dword [eax*4 + 0x415978]
mov ecx, dword [ebp + 0x1e0]
mov eax, dword [ebp + 0x240]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x260]
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
mov edx, dword [ebp + 0x220]
lea edi, [ebp + 0x302]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x280]
not ecx
sub edi, ecx
mov dword [esp + 0x18], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2a0]
mov ecx, eax
mov eax, dword [ebp + 0x2c0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x330]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2e0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x200]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
mov dword [ebp + 0x3c4], 1
jmp case.default.0x415323
mov eax, dword [ebp + 0x1e4]
mov ecx, dword [ebp + 0x224]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x264]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x284]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
lea edi, [ebp + 0x308]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x244]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2a4]
mov ecx, eax
mov eax, dword [ebp + 0x2c4]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x334]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2e4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x204]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
mov dword [ebp + 0x3c4], 2
jmp case.default.0x415323
mov eax, dword [ebp + 0x1e8]
mov ecx, dword [ebp + 0x228]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x268]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x288]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
lea edi, [ebp + 0x30e]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x248]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2a8]
mov ecx, eax
mov eax, dword [ebp + 0x2c8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x338]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2e8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x208]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
mov dword [ebp + 0x3c4], 3
jmp case.default.0x415323
mov eax, dword [ebp + 0x1ec]
mov ecx, dword [ebp + 0x22c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x26c]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x28c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
lea edi, [ebp + 0x314]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x24c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2ac]
mov ecx, eax
mov eax, dword [ebp + 0x2cc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x33c]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2ec]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x20c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
mov dword [ebp + 0x3c4], 4
jmp case.default.0x415323
mov eax, dword [ebp + 0x1f0]
mov ecx, dword [ebp + 0x230]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x270]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x290]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
lea edi, [ebp + 0x31a]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x250]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2b0]
mov ecx, eax
mov eax, dword [ebp + 0x2d0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x340]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x2f0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x210]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
mov dword [ebp + 0x3c4], 5
jmp case.default.0x415323
mov eax, dword [ebp + 0x1f4]
mov ecx, dword [ebp + 0x234]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x294]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], eax
lea edi, [ebp + 0x320]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0x254]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x38]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x3c4], 6
jmp case.default.0x415323
mov ecx, dword [ebp + 0x2d8]
mov edx, dword [ebp + 0x1f8]
mov eax, dword [ebp + 0x238]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0x258]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0x2b8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
mov dword [ebp + 0x3c4], 7
push 0x494
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
push edi
push 1
push 0x405
push eax
call ebx
push 0x495
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x50]
mov edx, dword [eax + 0x20]
push ecx
push 1
push 0x405
push edx
call ebx
push 0x496
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x20]
push ecx
push 1
push 0x405
push edx
call ebx
push 0x497
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0xf1
push edx
call ebx
push 0x48a
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0xf1
push edx
call ebx
push 0x48b
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0xf1
push edx
call ebx
push 0x48c
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0xf1
push edx
call ebx
push 0x4af
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0xf1
push edx
call ebx
push 0x4a7
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
lea ecx, [esp + 0x34]
mov esi, eax
call sub.MFC42.DLL_CString::CString_4
fld dword [esp + 0x2c]
sub esp, 8
lea eax, [esp + 0x3c]
mov dword [esp + 0x50], 0
fstp qword [esp]
push str._.2f
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x44]
add esp, 0x10
push ecx
mov ecx, esi
call sub.MFC42.DLL_CWnd::SetWindowTextA
push 0x3fa
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
push 0
push 0
push 0xf1
push edx
call ebx
push 0x48d
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
push 0
push 0
push 0xf1
push eax
call ebx
push 0x48f
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0xf1
push ecx
call ebx
mov eax, dword [esp + 0x30]
sub eax, 0
je 0x415868
dec eax
je 0x415861
dec eax
jne 0x415868
push 0x48f
jmp 0x41586d
push 0x48d
jmp 0x41586d
push 0x3fa
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
push 0
push 1
push 0xf1
push edx
call ebx
mov eax, dword [ebp + 0x1b0]
push 0
push 0
push 0x184
push eax
call ebx
xor esi, esi
movsx eax, byte [esp + esi + 0x38]
add eax, 0xffffffbe
cmp eax, 0x37
ja case.0x4158ac.71
xor ecx, ecx
mov cl, byte [eax + 0x4159ac]
jmp dword [ecx*4 + 0x415994]
mov edx, dword [ebp + 0x1b0]
push 0x4aed54
push 0
push 0x180
push edx
jmp 0x41590c
push 0x4aed48
jmp 0x4158fe
mov ecx, dword [ebp + 0x1b0]
push 0x4aed40
push 0
push 0x180
push ecx
jmp 0x41590c
mov edx, dword [ebp + 0x1b0]
push 0x4aed30
push 0
push 0x180
push edx
jmp 0x41590c
push str.CrystalClear
mov eax, dword [ebp + 0x1b0]
push 0
push 0x180
push eax
call ebx
inc esi
cmp esi, 5
jl 0x415897
push edi
push 0x4d7
push 0x494
mov ecx, ebp
call fcn.004159f0
mov ecx, dword [esp + 0x50]
push ecx
push 0x4d8
push 0x495
mov ecx, ebp
call fcn.004159f0
mov edx, dword [esp + 0x10]
mov ecx, ebp
push edx
push 0x4da
push 0x496
call fcn.004159f0
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop edi
pop ebx
mov ecx, dword [esp + 0x38]
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x3c
ret 4