Function at 0x4218dd
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4603a9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x23c
mov dword [ebp - 0x1a0], ecx
lea ecx, [ebp - 0x3c]
call fcn.004076a0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0x3f
mov dword [ebp - 0x1c], 0x70
mov dword [ebp - 0x18], 0x3f
mov dword [ebp - 0x14], 0x70
mov dword [ebp - 0x10], 0
push 0x48
push 0x83
push 9
push 0x13
lea ecx, [ebp - 0xf8]
call fcn.004022c0
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x6c
call fcn.004018db
lea ecx, [ebp - 0x2c]
push ecx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x6c
call fcn.00401540
test eax, eax
jne 0x4219a2
xor eax, eax
jmp 0x422395
push ecx
mov ecx, esp
mov dword [ebp - 0xfc], esp
push str.SET_BTN_PANEL_U
call fcn.0045518e
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x100], esp
push str.SET_BTN_PANEL_D
call fcn.0045518e
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x104], esp
push str.SET_BTN_PANEL_N
call fcn.0045518e
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x6c
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
jne 0x421a3b
xor eax, eax
jmp 0x422395
push 0x407
mov ecx, dword [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x6c
call fcn.00459d82
test eax, eax
jne 0x421a68
xor eax, eax
jmp 0x422395
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push str.Scanner_Show
push 0x474d38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + 0x144], eax
mov edx, dword [ebp - 0x1a0]
cmp dword [edx + 0x144], 1
jne 0x421d3d
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0x3f
mov dword [ebp - 0xd8], 0x70
mov dword [ebp - 0xd4], 0x3f
mov dword [ebp - 0xd0], 0x70
mov dword [ebp - 0xcc], 0
push 0x48
push 0xf6
push 9
push 0x86
lea ecx, [ebp - 0x114]
call fcn.004022c0
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
call fcn.004018db
lea ecx, [ebp - 0xe8]
push ecx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
call fcn.00401540
test eax, eax
jne 0x421b61
xor eax, eax
jmp 0x422395
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push str.HasBPIcon
push 0x474d4c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x421c32
push ecx
mov ecx, esp
mov dword [ebp - 0x118], esp
push str.SET_BTN_SCANNER_U_NB
call fcn.0045518e
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x11c], esp
push str.SET_BTN_SCANNER_D_NB
call fcn.0045518e
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x120], esp
push str.SET_BTN_SCANNER_N_NB
call fcn.0045518e
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
jne 0x421c2d
xor eax, eax
jmp 0x422395
jmp 0x421cce
push ecx
mov ecx, esp
mov dword [ebp - 0x124], esp
push str.SET_BTN_SCANNER_U
call fcn.0045518e
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x128], esp
push str.SET_BTN_SCANNER_D
call fcn.0045518e
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], edx
mov byte [ebp - 4], 5
push ecx
mov ecx, esp
mov dword [ebp - 0x12c], esp
push str.SET_BTN_SCANNER_N
call fcn.0045518e
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
jne 0x421cce
xor eax, eax
jmp 0x422395
push 0x408
mov eax, dword [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x3c]
push ecx
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
call fcn.00459d82
test eax, eax
jne 0x421cfe
xor eax, eax
jmp 0x422395
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push str.HasScannerIcon
push 0x474dec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x421d3d
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x148
call fcn.004548a9
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0x26
mov dword [ebp - 0x90], 0x26
mov dword [ebp - 0x8c], 0x26
mov dword [ebp - 0x88], 0x26
mov dword [ebp - 0x84], 0
push 0x31
push 0x159
push 0xa
push 0x12e
lea ecx, [ebp - 0x13c]
call fcn.004022c0
mov edx, dword [eax]
mov dword [ebp - 0x3c], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x34], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x220
call fcn.004018db
lea edx, [ebp - 0xa0]
push edx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x220
call fcn.00401540
test eax, eax
jne 0x421dfa
xor eax, eax
jmp 0x422395
push ecx
mov ecx, esp
mov dword [ebp - 0x140], esp
push str.SET_BTN_RESET_U
call fcn.0045518e
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x144], esp
push str.SET_BTN_RESET_D
call fcn.0045518e
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], ecx
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x148], esp
push str.SET_BTN_RESET_N
call fcn.0045518e
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x220
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
jne 0x421e96
xor eax, eax
jmp 0x422395
push 0x409
mov edx, dword [ebp - 0x1a0]
push edx
lea eax, [ebp - 0x3c]
push eax
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x220
call fcn.00459d82
test eax, eax
jne 0x421ec6
xor eax, eax
jmp 0x422395
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0x1c
mov dword [ebp - 0x70], 0x3e
mov dword [ebp - 0x6c], 0x1c
mov dword [ebp - 0x68], 0x3e
mov dword [ebp - 0x64], 0
push 0x34
push 0x19a
push 0xb
push 0x154
lea ecx, [ebp - 0x158]
call fcn.004022c0
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x3d0
call fcn.004018db
lea ecx, [ebp - 0x80]
push ecx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x3d0
call fcn.00401540
test eax, eax
jne 0x421f68
xor eax, eax
jmp 0x422395
push ecx
mov ecx, esp
mov dword [ebp - 0x15c], esp
push str.SET_BTN_OK_U
call fcn.0045518e
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0x208], edx
mov dword [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x160], esp
push str.SET_BTN_OK_D
call fcn.0045518e
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 9
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
push str.SET_BTN_OK_N
call fcn.0045518e
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x3d0
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x422004
xor eax, eax
jmp 0x422395
push 1
mov ecx, dword [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x3d0
call fcn.00459d82
test eax, eax
jne 0x422031
xor eax, eax
jmp 0x422395
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0x1c
mov dword [ebp - 0x4c], 0x3e
mov dword [ebp - 0x48], 0x1c
mov dword [ebp - 0x44], 0x3e
mov dword [ebp - 0x40], 0
push 0x34
push 0x1dd
push 0xb
push 0x19a
lea ecx, [ebp - 0x174]
call fcn.004022c0
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x2f8
call fcn.004018db
lea ecx, [ebp - 0x5c]
push ecx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x2f8
call fcn.00401540
test eax, eax
jne 0x4220d3
xor eax, eax
jmp 0x422395
push ecx
mov ecx, esp
mov dword [ebp - 0x178], esp
push str.SET_BTN_CANCEL_U
call fcn.0045518e
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x220], edx
mov dword [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x17c], esp
push str.SET_BTN_CANCEL_D
call fcn.0045518e
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x228], eax
mov byte [ebp - 4], 0xb
push ecx
mov ecx, esp
mov dword [ebp - 0x180], esp
push str.SET_BTN_CANCEL_N
call fcn.0045518e
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x2f8
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jne 0x42216f
xor eax, eax
jmp 0x422395
push 2
mov ecx, dword [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x2f8
call fcn.00459d82
test eax, eax
jne 0x42219c
xor eax, eax
jmp 0x422395
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0x26
mov dword [ebp - 0xb0], 0x26
mov dword [ebp - 0xac], 0x26
mov dword [ebp - 0xa8], 0x26
mov dword [ebp - 0xa4], 0
push 0x4c
push 0x12c
push 0x22
push 0xf6
lea ecx, [ebp - 0x190]
call fcn.004022c0
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
call fcn.004018db
lea ecx, [ebp - 0xc0]
push ecx
push 4
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
call fcn.00401540
test eax, eax
jne 0x422259
xor eax, eax
jmp 0x422395
push ecx
mov ecx, esp
mov dword [ebp - 0x194], esp
push 0x4799cc
call fcn.0045518e
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x238], edx
mov dword [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x198], esp
push str.SET_BTN_SPEAKER_D
call fcn.0045518e
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x240], eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x19c], esp
push str.SET_BTN_SPEAKER_N
call fcn.0045518e
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
mov dword [ebp - 4], 0xffffffff
call fcn.004013fa
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
jne 0x4222f5
xor eax, eax
jmp 0x422395
push 0x40b
mov ecx, dword [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0xb
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
call fcn.00459d82
test eax, eax
jne 0x422322
xor eax, eax
jmp 0x422395
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push 0x474ebc
push 0x474ec4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jne 0x42236d
push 5
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
call fcn.004548a9
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x5c0], 1
jmp 0x422390
push 0
mov ecx, dword [ebp - 0x1a0]
add ecx, 0x4a8
call fcn.004548a9
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + 0x5c0], 0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret