Function at 0x4377c8
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x461bb2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd4
mov dword [ebp - 0xbc], ecx
push 1
mov ecx, dword [ebp - 0xbc]
call fcn.00453d7d
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
push 0x3f0
mov ecx, dword [ebp - 0xbc]
call fcn.004546e9
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x94]
call fcn.004510cc
mov dword [ebp - 4], 0
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x954
call fcn.004061de
lea ecx, [ebp - 0x10]
call fcn.00402210
mov byte [ebp - 4], 1
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x64
lea ecx, [ebp - 0x74]
push ecx
push str.WordPad
push str.OCRAP
push 0x477370
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x10]
call fcn.004552a9
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x364], 0
je 0x437902
push str.FineReader
lea ecx, [ebp - 0x10]
call fcn.00402280
test eax, eax
jne 0x4378be
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0xb78], 0
jmp 0x437902
push str.HWOCR
lea ecx, [ebp - 0x10]
call fcn.00402280
test eax, eax
jne 0x4378e1
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0xb78], 1
jmp 0x437902
push str.GN2000
lea ecx, [ebp - 0x10]
call fcn.00402280
test eax, eax
jne 0x437902
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0xb78], 2
cmp dword [ebp + 8], 0
je 0x437b86
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0xb78]
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 6
ja case.default.0x437931
mov eax, dword [ebp - 0xc0]
jmp dword [eax*4 + 0x437c7b]
push 0x2e
mov ecx, dword [ebp - 0xbc]
add ecx, 0xe40
call fcn.0044fa9b
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
add ecx, 1
push ecx
lea edx, [ebp - 0xa8]
push edx
mov ecx, dword [ebp - 0xbc]
add ecx, 0xe40
call fcn.0044fa23
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xbc]
add ecx, 0xe40
call fcn.00455259
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa8]
call fcn.00455120
push 0x477390
mov ecx, dword [ebp - 0xbc]
add ecx, 0xe40
call fcn.00455488
push 0
mov ecx, dword [ebp - 0xbc]
call fcn.00453d7d
mov edx, dword [ebp - 0xbc]
cmp dword [edx + 0xb74], 1
je 0x4379f1
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0xb7c], 1
jne 0x437a2c
push 0x477394
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x80]
call fcn.0041bab0
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0xffffffff
je 0x437a20
mov ecx, dword [ebp - 0x9c]
push ecx
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp 0x437a2a
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp 0x437a36
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp case.default.0x437931
mov ecx, dword [ebp - 0x80]
call fcn.0041ba80
lea ecx, [ebp - 0x94]
call fcn.00407170
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], 0
jmp 0x437a63
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
jge 0x437b2a
push str.NotePad
mov ecx, dword [ebp - 0x7c]
push ecx
lea edx, [ebp - 0xb0]
push edx
lea ecx, [ebp - 0x94]
call fcn.004071b0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xd0]
call fcn.00402280
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xac], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.00455120
mov ecx, dword [ebp - 0xac]
and ecx, 0xff
test ecx, ecx
je 0x437b25
mov edx, dword [ebp - 0x7c]
push edx
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x94]
call fcn.004071b0
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xd8]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x80]
call fcn.0041ba50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb4]
call fcn.00455120
jmp 0x437a5a
mov edx, dword [ebp - 0xbc]
cmp dword [edx + 0xb74], 1
je 0x437b48
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0xb7c], 1
jne case.default.0x437931
push 0x4773a4
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x80]
call fcn.0041bab0
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0xffffffff
je 0x437b77
mov ecx, dword [ebp - 0xa0]
push ecx
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp case.default.0x437931
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp 0x437c4d
push 0
mov ecx, dword [ebp - 0xbc]
call fcn.00453d7d
mov ecx, dword [ebp - 0x80]
call fcn.0041ba80
lea ecx, [ebp - 0x94]
call fcn.00407170
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], 0
jmp 0x437bbb
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
jge 0x437c14
mov ecx, dword [ebp - 0x7c]
push ecx
lea edx, [ebp - 0xb8]
push edx
lea ecx, [ebp - 0x94]
call fcn.004071b0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xe0]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x80]
call fcn.0041ba50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call fcn.00455120
jmp 0x437bb2
push str.Word
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x80]
call fcn.0041bab0
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xffffffff
je 0x437c43
mov ecx, dword [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
jmp 0x437c4d
push 0
mov ecx, dword [ebp - 0x80]
call fcn.0041ba20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.004510ff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4