Function at 0x42cc9b
Capabilities:
Get common file path
Read .ini file
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4615ba
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb40
push esi
push edi
mov dword [ebp - 0xa38], ecx
mov dword [ebp - 0xa34], 0
mov ecx, dword [ebp - 0xa38]
call fcn.004028d0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0xa0], 0
jne 0x42ccfd
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402700
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb60], 0
jne 0x42cd21
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402700
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0xa38]
call fcn.004028f0
lea ecx, [ebp - 0x1c]
call fcn.004076a0
cmp dword [ebp + 8], 0
je 0x42cd48
cmp dword [ebp + 8], 4
jne 0x42e27a
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push str.Scan_ScanMode
push 0x476174
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0xe38], eax
lea ecx, [ebp - 0x160]
call fcn.00402500
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0xe38]
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 0
je 0x42cdbd
cmp dword [ebp - 0xa3c], 1
je 0x42ce89
cmp dword [ebp - 0xa3c], 2
je 0x42cf42
jmp 0x42cff6
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x304], 0
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x28c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x384
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3fc
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3fc
call fcn.0041b970
push 0x476180
lea ecx, [ebp - 0x160]
call fcn.00402570
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x494
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x50c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x584
call fcn.004548a9
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0xd3c], 0
je 0x42ce84
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0xd20
call fcn.004548eb
jmp 0x42cff6
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x304], 1
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x28c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x384
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3fc
call fcn.004548a9
push 0x476190
lea ecx, [ebp - 0x160]
call fcn.00402570
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x494
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x50c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x584
call fcn.004548a9
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xd3c], 0
je 0x42cf3d
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0xd20
call fcn.004548eb
jmp 0x42cff6
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x304], 0
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x28c
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x384
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3fc
call fcn.004548a9
push 0x4761a0
lea ecx, [ebp - 0x160]
call fcn.00402570
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x494
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x50c
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x584
call fcn.004548a9
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0xd3c], 0
je 0x42cff6
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0xd20
call fcn.004548eb
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x488], 0
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x47c], 1
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x474], 1
push 0x75
push 0x139
push 0x5d
push 0x121
lea ecx, [ebp - 0x1c]
call fcn.0041b530
lea edx, [ebp - 0x160]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
mov dword [ebp - 0x13c], eax
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xa38]
add eax, 0xb5c
push eax
lea ecx, [ebp - 0x1c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004076b0
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402800
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
lea ecx, [ebp - 0x160]
call fcn.00458680
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
push str.Scan_ScanRes
push 0x4761c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 0x64
div ecx
sub eax, 1
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0xe3c], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4761cc
push 0x4761d4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe4c], eax
lea ecx, [ebp - 0x150]
call fcn.00402210
mov byte [ebp - 4], 1
push 0
push 5
lea edx, [ebp - 0x134]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x42d15c
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x150]
call fcn.004552a9
mov ecx, dword [ebp - 0x150]
push ecx
push 0x4761e0
mov edx, dword [ebp - 0xa38]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0xc
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4761f0
push 0x476200
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
call fcn.00402230
test eax, eax
je 0x42d35e
lea ecx, [ebp - 0x284]
call fcn.00402210
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x280]
call fcn.00402210
mov byte [ebp - 4], 3
push 0
push 5
lea eax, [ebp - 0x26c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x42d1fd
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x280]
call fcn.004552a9
cmp dword [ebp - 0x30], 1
jne 0x42d240
mov edx, dword [ebp - 0x280]
push edx
push str._sSWScan00001.tif
mov eax, dword [ebp - 0xa38]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0xc
mov ecx, dword [ebp - 0x280]
push ecx
push str._sSWScan.tif
lea edx, [ebp - 0x284]
push edx
call fcn.0044fdfe
add esp, 0xc
jmp 0x42d27c
mov eax, dword [ebp - 0x280]
push eax
push str._sSWScan00001.bmp
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
push ecx
call fcn.0044fdfe
add esp, 0xc
mov edx, dword [ebp - 0x280]
push edx
push str._sSWScan.bmp
lea eax, [ebp - 0x284]
push eax
call fcn.0044fdfe
add esp, 0xc
mov dword [ebp - 0x168], str.SoftwareMustekSystemSW_ImgFileName
lea ecx, [ebp - 0x27c]
push ecx
push 0x20006
push 0
mov edx, dword [ebp - 0x168]
push edx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x270], eax
push 0
lea ecx, [ebp - 0x284]
call fcn.004554dc
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
push eax
call fcn.004431c0
add esp, 4
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x164]
push edx
push 1
push 0
push str.ImgFileName
mov eax, dword [ebp - 0x27c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x27c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476288
push 0x47628c
push 0x47629c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x8cc], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x280]
call fcn.00455120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x284]
call fcn.00455120
jmp 0x42d825
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push str.Scan_ImgCount
push 0x4762b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x8cc], eax
mov dword [ebp - 0x288], 1
lea ecx, [ebp - 0x290]
call fcn.00402210
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xa38]
add edx, 0xe48
push edx
lea ecx, [ebp - 0x290]
call fcn.00455259
lea ecx, [ebp - 0x290]
call fcn.00402880
sub eax, 4
push eax
lea eax, [ebp - 0x988]
push eax
lea ecx, [ebp - 0x290]
call fcn.0044fa23
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xa44]
push edx
lea ecx, [ebp - 0x290]
call fcn.00455259
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x988]
call fcn.00455120
lea ecx, [ebp - 0x290]
call fcn.00402880
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x28c], 1
jmp 0x42d43c
mov eax, dword [ebp - 0x28c]
add eax, 1
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 6
jge 0x42d50b
push 1
lea ecx, [ebp - 0x98c]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0044f9a7
mov dword [ebp - 0xa48], eax
mov edx, dword [ebp - 0xa48]
mov eax, dword [edx]
push eax
push 0x4762c4
lea ecx, [ebp - 0x294]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x98c]
call fcn.00455120
movsx edx, byte [ebp - 0x294]
cmp edx, 0x30
jl 0x42d4a4
movsx eax, byte [ebp - 0x294]
cmp eax, 0x39
jle 0x42d4b0
mov dword [ebp - 0x288], 0
jmp 0x42d50b
mov ecx, dword [ebp - 0x298]
sub ecx, dword [ebp - 0x28c]
push ecx
lea edx, [ebp - 0x990]
push edx
lea ecx, [ebp - 0x290]
call fcn.0044fa23
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa50], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xa50]
push ecx
lea ecx, [ebp - 0x290]
call fcn.00455259
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x990]
call fcn.00455120
jmp 0x42d42d
cmp dword [ebp - 0x288], 0
jne 0x42d691
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0x8cc], 0
je 0x42d691
push 0x2e
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
call fcn.0044fa9b
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x29c]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
call fcn.0044fa23
mov byte [ebp - 4], 7
push 0x4762c8
lea ecx, [ebp - 0x29c]
call fcn.00455488
lea ecx, [ebp - 0x2a0]
call fcn.00402210
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x8cc]
push eax
push 0x4762d0
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x29c]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x2a0]
call fcn.00402880
sub esi, eax
push esi
lea edx, [ebp - 0x994]
push edx
lea ecx, [ebp - 0x29c]
call fcn.0044fa23
mov dword [ebp - 0xa54], eax
mov eax, dword [ebp - 0xa54]
mov dword [ebp - 0xa58], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xa58]
push ecx
lea ecx, [ebp - 0x29c]
call fcn.00455259
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x994]
call fcn.00455120
cmp dword [ebp - 0x30], 1
jne 0x42d641
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x8cc]
push eax
mov ecx, dword [ebp - 0x29c]
push ecx
push 0x4762d4
mov edx, dword [ebp - 0xa38]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0x10
jmp 0x42d66e
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0x8cc]
push ecx
mov edx, dword [ebp - 0x29c]
push edx
push 0x4762e0
mov eax, dword [ebp - 0xa38]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2a0]
call fcn.00455120
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x29c]
call fcn.00455120
jmp 0x42d816
cmp dword [ebp - 0x288], 0
je 0x42d816
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0x8cc], 0
je 0x42d816
push 0x2e
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
call fcn.0044fa9b
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b0]
sub edx, 5
push edx
lea eax, [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
call fcn.0044fa23
mov byte [ebp - 4], 0xa
push 0x4762ec
lea ecx, [ebp - 0x2a8]
call fcn.00455488
lea ecx, [ebp - 0x2ac]
call fcn.00402210
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ecx + 0x8cc]
push edx
push 0x4762f4
lea eax, [ebp - 0x2ac]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x2a8]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x2ac]
call fcn.00402880
sub esi, eax
push esi
lea ecx, [ebp - 0x998]
push ecx
lea ecx, [ebp - 0x2a8]
call fcn.0044fa23
mov dword [ebp - 0xa5c], eax
mov edx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xa60]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00455259
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x998]
call fcn.00455120
cmp dword [ebp - 0x30], 1
jne 0x42d7ca
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ecx + 0x8cc]
push edx
mov eax, dword [ebp - 0x2a8]
push eax
push str._s_d.tif
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe48
push ecx
call fcn.0044fdfe
add esp, 0x10
jmp 0x42d7f8
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x8cc]
push eax
mov ecx, dword [ebp - 0x2a8]
push ecx
push str._s_d.bmp
mov edx, dword [ebp - 0xa38]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2ac]
call fcn.00455120
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2a8]
call fcn.00455120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x290]
call fcn.00455120
push 0
mov ecx, dword [ebp - 0xa38]
call fcn.00453d7d
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x476310
push 0x47631c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x148], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x476324
push 0x476330
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x148], 1
jne 0x42d8c1
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0xd74], 0
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ecx + 0xd74]
push edx
mov ecx, dword [ebp - 0xa38]
call fcn.00434fad
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xd20
call fcn.0041b970
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x47633c
push 0x476350
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x154], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x476358
push 0x476368
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x154], 1
jne 0x42dbc1
mov ecx, dword [ebp - 0x144]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x30c
call fcn.0041b970
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x144]
mov dword [edx + 0x48], eax
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0xb70], 0
je 0x42dbc1
cmp dword [ebp - 0x144], 1
jne 0x42d98c
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb94
call fcn.004548eb
push 0xc0c0c0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x9c]
call dword [eax + 0x30]
jmp 0x42d9bf
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb94
call fcn.004548eb
push 0xffffff
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x9c]
call dword [eax + 0x30]
lea ecx, [ebp - 0x2c0]
call fcn.004076a0
lea ecx, [ebp - 0x2c8]
call fcn.004076a0
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0xb6c], 1
jne 0x42dacd
push 0x14b
push 0x1a4
push 0x137
push 0x15e
lea ecx, [ebp - 0x2c0]
call fcn.0041b530
mov edx, dword [ebp - 0xa38]
add edx, 0xb0
push edx
lea eax, [ebp - 0x9a0]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.0041b5d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2c4], edx
lea ecx, [ebp - 0x2c0]
call fcn.004076b0
cmp dword [ebp - 0x2c8], eax
jge 0x42da7d
push 0x24
lea ecx, [ebp - 0x2c0]
call fcn.00402300
push eax
mov eax, dword [ebp - 0xa38]
add eax, 0xb0
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402840
jmp 0x42dac8
mov eax, dword [ebp - 0x2c4]
cdq
sub eax, edx
sar eax, 1
sub eax, 2
push eax
push 0
lea ecx, [ebp - 0x2c0]
call fcn.004076f0
push 0x811
lea ecx, [ebp - 0x2c0]
call fcn.00402300
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb0
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402840
jmp 0x42dbad
push 0x154
push 0xf5
push 0x140
push 0x91
lea ecx, [ebp - 0x2c0]
call fcn.0041b530
mov edx, dword [ebp - 0xa38]
add edx, 0xb0
push edx
lea eax, [ebp - 0x9a8]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.0041b5d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2c4], edx
lea ecx, [ebp - 0x2c0]
call fcn.004076b0
cmp dword [ebp - 0x2c8], eax
jge 0x42db62
push 0x24
lea ecx, [ebp - 0x2c0]
call fcn.00402300
push eax
mov eax, dword [ebp - 0xa38]
add eax, 0xb0
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402840
jmp 0x42dbad
mov eax, dword [ebp - 0x2c4]
cdq
sub eax, edx
sar eax, 1
sub eax, 2
push eax
push 0
lea ecx, [ebp - 0x2c0]
call fcn.004076f0
push 0x811
lea ecx, [ebp - 0x2c0]
call fcn.00402300
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb0
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402840
push 1
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0xa38]
call fcn.0043a280
push 0x3ed
mov ecx, dword [ebp - 0xa38]
call fcn.004546e9
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba80
mov ecx, dword [ebp - 0xa38]
call fcn.00439c9f
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.00407170
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x940
call fcn.00407190
mov dword [ebp - 0x158], 0
jmp 0x42dc3a
mov eax, dword [ebp - 0x158]
add eax, 1
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x24]
jge 0x42e18e
push 0x476374
mov edx, dword [ebp - 0x158]
push edx
lea eax, [ebp - 0x9b0]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa64], eax
mov ecx, dword [ebp - 0xa64]
mov dword [ebp - 0xa68], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xa68]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x9ac], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9b0]
call fcn.00455120
mov edx, dword [ebp - 0x9ac]
and edx, 0xff
test edx, edx
je 0x42dd7a
mov al, byte [0x479a64]
mov byte [ebp - 0x330], al
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x32f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x64
lea ecx, [ebp - 0x330]
push ecx
push 0x147
mov ecx, 0x479934
call fcn.0041c0a1
push 0x479a68
lea ecx, [ebp - 0x2cc]
call fcn.0045518e
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x330]
push edx
push 0x47637c
lea eax, [ebp - 0x2cc]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x2cc]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba50
push 0x476380
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
push edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x940
call fcn.004512a8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2cc]
call fcn.00455120
jmp 0x42e189
push 0x476388
mov ecx, dword [ebp - 0x158]
push ecx
lea edx, [ebp - 0x9b8]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa70], eax
mov eax, dword [ebp - 0xa70]
mov dword [ebp - 0xa74], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xa74]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x9b4], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9b8]
call fcn.00455120
mov ecx, dword [ebp - 0x9b4]
and ecx, 0xff
test ecx, ecx
je 0x42dec2
mov edx, dword [ebp - 0x158]
push edx
lea eax, [ebp - 0x9bc]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa78], eax
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0xa7c], ecx
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xa7c]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9bc]
call fcn.00455120
mov edx, dword [ebp - 0x158]
push edx
lea eax, [ebp - 0x9c0]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp - 0xa80]
mov dword [ebp - 0xa84], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xa84]
push edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa88]
push ecx
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x940
call fcn.004512d4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c0]
call fcn.00455120
jmp 0x42e189
push 0x476390
mov eax, dword [ebp - 0x158]
push eax
lea ecx, [ebp - 0x9c8]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa8c], eax
mov edx, dword [ebp - 0xa8c]
mov dword [ebp - 0xa90], edx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xa90]
call fcn.00402280
test eax, eax
jne 0x42df39
xor eax, eax
cmp dword [ebp - 0x138], 3
setge al
mov byte [ebp - 0x9cc], al
mov ecx, dword [ebp - 0x9cc]
and ecx, 0xff
test ecx, ecx
je 0x42df39
mov dword [ebp - 0xa94], 1
jmp 0x42df43
mov dword [ebp - 0xa94], 0
mov dl, byte [ebp - 0xa94]
mov byte [ebp - 0x9c4], dl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c8]
call fcn.00455120
mov eax, dword [ebp - 0x9c4]
and eax, 0xff
test eax, eax
je 0x42e046
mov ecx, dword [ebp - 0x158]
push ecx
lea edx, [ebp - 0x9d0]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa98], eax
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0xa9c], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xa9c]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9d0]
call fcn.00455120
mov ecx, dword [ebp - 0x158]
push ecx
lea edx, [ebp - 0x9d4]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0xaa0]
mov dword [ebp - 0xaa4], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xaa4]
push ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0xaa8], edx
mov eax, dword [ebp - 0xaa8]
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x940
call fcn.004512d4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9d4]
call fcn.00455120
jmp 0x42e189
push 0x476398
mov edx, dword [ebp - 0x158]
push edx
lea eax, [ebp - 0x9dc]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xaac], eax
mov ecx, dword [ebp - 0xaac]
mov dword [ebp - 0xab0], ecx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xab0]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x9d8], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9dc]
call fcn.00455120
mov edx, dword [ebp - 0x9d8]
and edx, 0xff
test edx, edx
je 0x42e189
mov eax, dword [ebp - 0x158]
push eax
lea ecx, [ebp - 0x9e0]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xab4], eax
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0xab8], edx
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xab8]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9e0]
call fcn.00455120
mov eax, dword [ebp - 0x158]
push eax
lea ecx, [ebp - 0x9e4]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xabc], eax
mov edx, dword [ebp - 0xabc]
mov dword [ebp - 0xac0], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xac0]
push eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xac4], ecx
mov edx, dword [ebp - 0xac4]
push edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x940
call fcn.004512d4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9e4]
call fcn.00455120
jmp 0x42dc2b
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0x48], 0
je 0x42e234
push 0x4763ac
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x140]
call fcn.0041bab0
mov dword [ebp - 0x338], eax
push 0x4763b4
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x140]
call fcn.0041bab0
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0xffffffff
je 0x42e1eb
mov edx, dword [ebp - 0x334]
push edx
mov ecx, dword [ebp - 0x140]
call fcn.0041ba20
jmp 0x42e232
cmp dword [ebp - 0x334], 0xffffffff
jne 0x42e21a
cmp dword [ebp - 0x338], 0xffffffff
je 0x42e21a
cmp dword [ebp - 0x138], 3
jl 0x42e21a
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041ba20
jmp 0x42e232
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ecx + 0xe4c]
push edx
mov ecx, dword [ebp - 0x140]
call fcn.0041ba20
jmp 0x42e24c
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0xe4c]
push ecx
mov ecx, dword [ebp - 0x140]
call fcn.0041ba20
push 1
mov ecx, dword [ebp - 0xa38]
call fcn.00453d7d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x150]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.00402550
cmp dword [ebp + 8], 1
je 0x42e28a
cmp dword [ebp + 8], 4
jne 0x42f07b
mov ecx, dword [ebp - 0xa38]
add ecx, 0x904
call fcn.00407190
mov edx, dword [ebp - 0xa38]
add edx, 0x904
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.004061de
mov word [ebp - 0x4b0], ax
push 0x3f0
mov ecx, dword [ebp - 0xa38]
call fcn.004546e9
mov dword [ebp - 0x5b8], eax
mov ecx, dword [ebp - 0x5b8]
call fcn.0041ba80
lea ecx, [ebp - 0x340]
call fcn.00402210
mov dword [ebp - 4], 0x18
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x64
lea eax, [ebp - 0x3a4]
push eax
push 0x4763bc
push 0x4763c4
push 0x4763cc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x3a4]
push ecx
lea ecx, [ebp - 0x340]
call fcn.004552a9
mov dword [ebp - 0x7b8], 0
push 0x4763d0
lea ecx, [ebp - 0x340]
call fcn.00402280
test eax, eax
jne 0x42e4e8
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb74], 1
jne 0x42e461
jmp 0x42e374
mov eax, dword [ebp - 0x7b8]
add eax, 1
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x4b0]
and ecx, 0xffff
cmp dword [ebp - 0x7b8], ecx
jge 0x42e45c
push 0x4763d8
mov edx, dword [ebp - 0x7b8]
push edx
lea eax, [ebp - 0x9ec]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x904
call fcn.004071b0
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xac8]
mov dword [ebp - 0xacc], ecx
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xacc]
call fcn.00402280
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x9e8], al
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x9ec]
call fcn.00455120
mov edx, dword [ebp - 0x9e8]
and edx, 0xff
test edx, edx
je 0x42e457
mov eax, dword [ebp - 0x7b8]
push eax
lea ecx, [ebp - 0x9f0]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x904
call fcn.004071b0
mov dword [ebp - 0xad0], eax
mov edx, dword [ebp - 0xad0]
mov dword [ebp - 0xad4], edx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0xad4]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x5b8]
call fcn.0041ba50
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x9f0]
call fcn.00455120
jmp 0x42e365
jmp 0x42e4e3
jmp 0x42e472
mov eax, dword [ebp - 0x7b8]
add eax, 1
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x4b0]
and ecx, 0xffff
cmp dword [ebp - 0x7b8], ecx
jge 0x42e4e3
mov edx, dword [ebp - 0x7b8]
push edx
lea eax, [ebp - 0x9f4]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x904
call fcn.004071b0
mov dword [ebp - 0xad8], eax
mov ecx, dword [ebp - 0xad8]
mov dword [ebp - 0xadc], ecx
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xadc]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x5b8]
call fcn.0041ba50
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x9f4]
call fcn.00455120
jmp 0x42e463
jmp 0x42e569
jmp 0x42e4f9
mov edx, dword [ebp - 0x7b8]
add edx, 1
mov dword [ebp - 0x7b8], edx
mov eax, dword [ebp - 0x4b0]
and eax, 0xffff
cmp dword [ebp - 0x7b8], eax
jge 0x42e569
mov ecx, dword [ebp - 0x7b8]
push ecx
lea edx, [ebp - 0x9f8]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x904
call fcn.004071b0
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0xae4], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xae4]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x5b8]
call fcn.0041ba50
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x9f8]
call fcn.00455120
jmp 0x42e4ea
lea ecx, [ebp - 0x5c0]
call fcn.00402210
mov byte [ebp - 4], 0x1d
mov cl, byte [0x479a6c]
mov byte [ebp - 0x7b4], cl
mov ecx, 0x7c
xor eax, eax
lea edi, [ebp - 0x7b3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x1f4
lea edx, [ebp - 0x7b4]
push edx
push 0x160
mov ecx, 0x479934
call fcn.0041c0a1
lea eax, [ebp - 0x7b4]
push eax
push 0x4763e0
lea ecx, [ebp - 0x5c0]
push ecx
call fcn.0044fdfe
add esp, 0xc
push str.gn2000.exe
lea ecx, [ebp - 0x5c0]
call fcn.00455488
mov dword [ebp - 0x7bc], 0
lea edx, [ebp - 0x4b4]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x5c0]
call fcn.00402270
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x42e626
mov eax, dword [ebp - 0x4b4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x7bc], 1
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0xb74], 1
jne 0x42e691
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb7c], 1
jne 0x42e691
push ecx
mov ecx, esp
mov dword [ebp - 0x9fc], esp
push 0x4763f0
call fcn.0045518e
mov dword [ebp - 0xae8], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.004067b0
mov word [ebp - 0xaec], ax
mov eax, dword [ebp - 0xaec]
and eax, 0xffff
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe50], eax
jmp 0x42e7b7
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb74], 1
jne 0x42e6ed
push ecx
mov ecx, esp
mov dword [ebp - 0xa00], esp
push 0x4763f8
call fcn.0045518e
mov dword [ebp - 0xaf0], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.004067b0
mov word [ebp - 0xaf4], ax
mov eax, dword [ebp - 0xaf4]
and eax, 0xffff
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe50], eax
jmp 0x42e7b7
cmp dword [ebp - 0x7bc], 0
je 0x42e741
push ecx
mov ecx, esp
mov dword [ebp - 0xa04], esp
push 0x476400
call fcn.0045518e
mov dword [ebp - 0xaf8], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.004067b0
mov word [ebp - 0xafc], ax
mov edx, dword [ebp - 0xafc]
and edx, 0xffff
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0xe50], edx
jmp 0x42e7b7
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea ecx, [ebp - 0x5b4]
push ecx
push 0x479a70
push 0x476408
push 0x476410
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ecx
mov ecx, esp
mov dword [ebp - 0xa08], esp
lea edx, [ebp - 0x5b4]
push edx
call fcn.0045518e
mov dword [ebp - 0xb00], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.004067b0
mov word [ebp - 0xb04], ax
mov eax, dword [ebp - 0xb04]
and eax, 0xffff
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe50], eax
lea ecx, [ebp - 0x5bc]
call fcn.00402210
mov byte [ebp - 4], 0x1e
push 0
push 5
lea edx, [ebp - 0x4a8]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x42e7ef
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004552a9
mov ecx, dword [ebp - 0x5bc]
push ecx
push str._sOCR.bmp
mov edx, dword [ebp - 0xa38]
add edx, 0xe40
push edx
call fcn.0044fdfe
add esp, 0xc
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.00402230
test eax, eax
je 0x42e93c
push 0
push 5
lea eax, [ebp - 0x4a8]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x42e852
lea ecx, [ebp - 0x4a8]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.004552a9
mov edx, dword [ebp - 0x5bc]
push edx
push str._sOCR00001.bmp
mov eax, dword [ebp - 0xa38]
add eax, 0xe40
push eax
call fcn.0044fdfe
add esp, 0xc
mov dword [ebp - 0x7c4], str.SoftwareMustekSystemDocFileName
lea ecx, [ebp - 0x7d4]
push ecx
push 0x20006
push 0
mov edx, dword [ebp - 0x7c4]
push edx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x7c8], eax
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.004554dc
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x7c0]
push eax
call fcn.004431c0
add esp, 4
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
push ecx
mov edx, dword [ebp - 0x7c0]
push edx
push 1
push 0
push str.FileName
mov eax, dword [ebp - 0x7d4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x7d0], eax
mov ecx, dword [ebp - 0x7d4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476468
push 0x47646c
push 0x47647c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x8d0], 1
jmp 0x42ed97
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push str.OCR_DocCount
push 0x476498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x8d0], eax
mov dword [ebp - 0x7d8], 1
lea ecx, [ebp - 0x7e0]
call fcn.00402210
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0xa38]
add edx, 0xe40
push edx
lea ecx, [ebp - 0x7e0]
call fcn.00455259
lea ecx, [ebp - 0x7e0]
call fcn.00402880
sub eax, 4
push eax
lea eax, [ebp - 0xa0c]
push eax
lea ecx, [ebp - 0x7e0]
call fcn.0044fa23
mov dword [ebp - 0xb08], eax
mov ecx, dword [ebp - 0xb08]
mov dword [ebp - 0xb0c], ecx
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0xb0c]
push edx
lea ecx, [ebp - 0x7e0]
call fcn.00455259
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa0c]
call fcn.00455120
lea ecx, [ebp - 0x7e0]
call fcn.00402880
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7dc], 1
jmp 0x42ea1a
mov eax, dword [ebp - 0x7dc]
add eax, 1
mov dword [ebp - 0x7dc], eax
cmp dword [ebp - 0x7dc], 6
jge 0x42eae9
push 1
lea ecx, [ebp - 0xa10]
push ecx
lea ecx, [ebp - 0x7e0]
call fcn.0044f9a7
mov dword [ebp - 0xb10], eax
mov edx, dword [ebp - 0xb10]
mov eax, dword [edx]
push eax
push 0x4764a4
lea ecx, [ebp - 0x7e4]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0xa10]
call fcn.00455120
movsx edx, byte [ebp - 0x7e4]
cmp edx, 0x30
jl 0x42ea82
movsx eax, byte [ebp - 0x7e4]
cmp eax, 0x39
jle 0x42ea8e
mov dword [ebp - 0x7d8], 0
jmp 0x42eae9
mov ecx, dword [ebp - 0x7e8]
sub ecx, dword [ebp - 0x7dc]
push ecx
lea edx, [ebp - 0xa14]
push edx
lea ecx, [ebp - 0x7e0]
call fcn.0044fa23
mov dword [ebp - 0xb14], eax
mov eax, dword [ebp - 0xb14]
mov dword [ebp - 0xb18], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xb18]
push ecx
lea ecx, [ebp - 0x7e0]
call fcn.00455259
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa14]
call fcn.00455120
jmp 0x42ea0b
cmp dword [ebp - 0x7d8], 0
jne 0x42ec3a
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0x8d0], 0
je 0x42ec3a
push 0x2e
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.0044fa9b
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7f4]
push eax
lea ecx, [ebp - 0x7ec]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.0044fa23
mov byte [ebp - 4], 0x22
push 0x4764a8
lea ecx, [ebp - 0x7ec]
call fcn.00455488
lea ecx, [ebp - 0x7f0]
call fcn.00402210
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x8cc]
push eax
push 0x4764b0
lea ecx, [ebp - 0x7f0]
push ecx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x7ec]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x7f0]
call fcn.00402880
sub esi, eax
push esi
lea edx, [ebp - 0xa18]
push edx
lea ecx, [ebp - 0x7ec]
call fcn.0044fa23
mov dword [ebp - 0xb1c], eax
mov eax, dword [ebp - 0xb1c]
mov dword [ebp - 0xb20], eax
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0xb20]
push ecx
lea ecx, [ebp - 0x7ec]
call fcn.00455259
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xa18]
call fcn.00455120
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0x8d0]
push eax
mov ecx, dword [ebp - 0x7ec]
push ecx
push 0x4764b4
mov edx, dword [ebp - 0xa38]
add edx, 0xe40
push edx
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x7f0]
call fcn.00455120
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x7ec]
call fcn.00455120
jmp 0x42ed88
cmp dword [ebp - 0x7d8], 0
je 0x42ed88
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0x8d0], 0
je 0x42ed88
push 0x2e
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.0044fa9b
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x800]
sub ecx, 5
push ecx
lea edx, [ebp - 0x7f8]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xe40
call fcn.0044fa23
mov byte [ebp - 4], 0x25
push str.00000
lea ecx, [ebp - 0x7f8]
call fcn.00455488
lea ecx, [ebp - 0x7fc]
call fcn.00402210
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0x8cc]
push ecx
push 0x4764c8
lea edx, [ebp - 0x7fc]
push edx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x7f8]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x7fc]
call fcn.00402880
sub esi, eax
push esi
lea eax, [ebp - 0xa1c]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.0044fa23
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov dword [ebp - 0xb28], ecx
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0xb28]
push edx
lea ecx, [ebp - 0x7f8]
call fcn.00455259
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xa1c]
call fcn.00455120
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0x8d0]
push ecx
mov edx, dword [ebp - 0x7f8]
push edx
push str._s_d.doc
mov eax, dword [ebp - 0xa38]
add eax, 0xe40
push eax
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x7fc]
call fcn.00455120
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x7f8]
call fcn.00455120
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x7e0]
call fcn.00455120
push 0
mov ecx, dword [ebp - 0xa38]
call fcn.00453d7d
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4764d8
push 0x4764ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x4ac], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4764f0
push 0x476504
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x4ac], 1
jne 0x42f03e
mov ecx, dword [ebp - 0xa38]
add ecx, 0x1d8
call fcn.0041b9f0
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0xffffffff
jle 0x42f03e
mov ecx, dword [ebp - 0xa38]
add ecx, 0x918
call fcn.00407170
test eax, eax
jle 0x42f03e
mov ecx, 1
test ecx, ecx
je 0x42ee49
mov dword [ebp - 0xb2c], 0
jmp 0x42eea9
mov edx, dword [ebp - 0x804]
push edx
lea eax, [ebp - 0xa20]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x918
call fcn.004071b0
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0xa34]
or ecx, 1
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0xb30]
mov dword [ebp - 0xb34], edx
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0xb34]
mov ecx, dword [eax]
push ecx
push 0x476510
call fcn.004021d0
add esp, 8
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 4], 0x1e
mov edx, dword [ebp - 0xa34]
and edx, 1
test edx, edx
je 0x42eecf
and dword [ebp - 0xa34], 0xfffffffe
lea ecx, [ebp - 0xa20]
call fcn.00455120
push 0x47651c
mov eax, dword [ebp - 0x804]
push eax
lea ecx, [ebp - 0xa28]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x918
call fcn.004071b0
mov dword [ebp - 0xb38], eax
mov edx, dword [ebp - 0xb38]
mov dword [ebp - 0xb3c], edx
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xb3c]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xa24], al
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xa28]
call fcn.00455120
mov eax, dword [ebp - 0xa24]
and eax, 0xff
test eax, eax
je 0x42ef96
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0xb74], 1
je 0x42ef5b
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb7c], 1
jne 0x42ef91
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0x364], 0
je 0x42ef91
mov ecx, dword [ebp - 0x33c]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x348
call fcn.0041b970
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x33c]
mov dword [edx + 0x4c], eax
jmp 0x42f03e
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0x364], 0
je 0x42f03e
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb74], 1
jne 0x42eff1
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0x4c], 0
jne 0x42efdc
mov ecx, dword [ebp - 0xa38]
xor edx, edx
cmp dword [ecx + 0x4c], 0
sete dl
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x4c], edx
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x348
call fcn.0041b970
jmp 0x42f03e
mov ecx, dword [ebp - 0xa38]
add ecx, 0x348
call fcn.0041b940
cmp eax, 1
jne 0x42f03e
mov ecx, dword [ebp - 0xa38]
cmp dword [ecx + 0x4c], 0
je 0x42f02b
mov edx, dword [ebp - 0xa38]
xor eax, eax
cmp dword [edx + 0x4c], 0
sete al
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x4c], eax
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x348
call fcn.0041b970
push 1
mov ecx, dword [ebp - 0xa38]
call fcn.00453d7d
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x5bc]
call fcn.00455120
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x5c0]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call fcn.00455120
cmp dword [ebp + 8], 2
je 0x42f08b
cmp dword [ebp + 8], 4
jne 0x43000f
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push str.Email_ScanMode
push 0x476538
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0xe34], eax
lea ecx, [ebp - 0x8e8]
call fcn.00402500
mov dword [ebp - 4], 0x2a
lea ecx, [ebp - 0x8e0]
call fcn.00402500
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0xe34]
mov dword [ebp - 0xb40], ecx
cmp dword [ebp - 0xb40], 0
je 0x42f10f
cmp dword [ebp - 0xb40], 1
je 0x42f209
cmp dword [ebp - 0xb40], 2
je 0x42f2f0
jmp 0x42f3d2
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x308], 0
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x2c8
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3c0
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x438
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x438
call fcn.0041b970
push 0x476544
lea ecx, [ebp - 0x8e8]
call fcn.00402570
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x4d0
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x548
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x5c0
call fcn.004548a9
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x90], 0
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548eb
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.0041b970
push 0x476554
lea ecx, [ebp - 0x8e0]
call fcn.00402570
jmp 0x42f3d2
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x308], 1
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x2c8
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3c0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x438
call fcn.004548a9
push 0x476564
lea ecx, [ebp - 0x8e8]
call fcn.00402570
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x4d0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x548
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x5c0
call fcn.004548a9
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x90], 0
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548eb
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.0041b970
push 0x476574
lea ecx, [ebp - 0x8e0]
call fcn.00402570
jmp 0x42f3d2
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x308], 0
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x2c8
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3c0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x438
call fcn.004548a9
push 0x476584
lea ecx, [ebp - 0x8e8]
call fcn.00402570
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x4d0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x548
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x5c0
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.004548eb
push 0
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.0041b970
push 0x476594
lea ecx, [ebp - 0x8e0]
call fcn.00402570
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x90], 0
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0x478], 1
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0x480], 1
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0x484], 0
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4765a4
push 0x4765b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0xb6c], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4765b4
push 0x4765c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xb70], eax
lea ecx, [ebp - 0x8f8]
call fcn.004076a0
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb6c], 1
jne 0x42f4fb
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0xb70], 1
jne 0x42f4be
push 0x19b
push 0xb0
push 0x187
push 0x98
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0x198
push 0x8f
push 0x18c
push 0x83
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
jmp 0x42f4f9
push 0x14a
push 0x139
push 0x132
push 0x121
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0x143
push 0x117
push 0x137
push 0x10b
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
jmp 0x42f536
push 0xd1
push 0x139
push 0xb9
push 0x121
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0xca
push 0x117
push 0xbe
push 0x10b
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
lea ecx, [ebp - 0x8e8]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
mov dword [ebp - 0x808], eax
push 0xcc0020
push 0
push 0
mov edx, dword [ebp - 0xa38]
add edx, 0xb5c
push edx
lea ecx, [ebp - 0x1c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004076b0
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402800
mov edx, dword [ebp - 0x808]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
lea ecx, [ebp - 0x8e8]
call fcn.00458680
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0xe34]
mov dword [ebp - 0xb44], ecx
cmp dword [ebp - 0xb44], 0
je 0x42f5ea
cmp dword [ebp - 0xb44], 1
je 0x42f61d
cmp dword [ebp - 0xb44], 2
je 0x42f660
jmp 0x42f691
push 1
lea edx, [ebp - 0x8f8]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x438
call fcn.0041b730
push 1
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x548
call fcn.0041b730
jmp 0x42f691
push 1
lea ecx, [ebp - 0x8f8]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x2c8
call fcn.0041b730
push 1
push 0x19b
push 0xb0
push 0x187
push 0x98
mov edx, dword [ebp - 0xa38]
mov ecx, dword [edx + 0x608]
call fcn.00454819
jmp 0x42f691
push 1
lea eax, [ebp - 0x8f8]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x3c0
call fcn.0041b730
push 1
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x5c0
call fcn.0041b730
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb6c], 1
jne 0x42f6f9
mov eax, dword [ebp - 0xa38]
cmp dword [eax + 0xb70], 1
jne 0x42f6d4
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
jmp 0x42f6f7
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
jmp 0x42f71c
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.0041b530
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8f8]
call fcn.0041b530
lea ecx, [ebp - 0x8e0]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
mov dword [ebp - 0x808], eax
push 0xcc0020
push 0
push 0
mov edx, dword [ebp - 0xa38]
add edx, 0xb5c
push edx
lea ecx, [ebp - 0x1c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004076b0
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x9c
call fcn.00402800
mov edx, dword [ebp - 0x808]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb5c
call fcn.00402760
lea ecx, [ebp - 0x8e0]
call fcn.00458680
push 1
lea eax, [ebp - 0x8f8]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x54
call fcn.0041b730
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea ecx, [ebp - 0x8d4]
push ecx
push 0x479a74
push 0x4765c4
push 0x4765d4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8dc
call fcn.00407170
mov dword [ebp - 0x8d8], eax
cmp dword [ebp - 0x80c], 0
je 0x42fc80
lea edx, [ebp - 0x8d4]
push edx
lea ecx, [ebp - 0x900]
call fcn.0045518e
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0x904], 0
jmp 0x42f846
mov eax, dword [ebp - 0x904]
add eax, 1
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x904]
cmp ecx, dword [ebp - 0x8d8]
jge 0x42f8f1
mov edx, dword [ebp - 0x904]
push edx
lea eax, [ebp - 0xa30]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0x8dc
call fcn.004071b0
mov dword [ebp - 0xb48], eax
mov ecx, dword [ebp - 0xb48]
mov dword [ebp - 0xb4c], ecx
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xb4c]
call fcn.00402270
push eax
lea ecx, [ebp - 0x900]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xa2c], al
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xa30]
call fcn.00455120
mov edx, dword [ebp - 0xa2c]
and edx, 0xff
test edx, edx
je 0x42f8ec
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x904]
mov dword [eax + 0xe30], ecx
mov dword [ebp - 0x8fc], 1
jmp 0x42f8f1
jmp 0x42f837
cmp dword [ebp - 0x8fc], 0
jne 0x42fc6c
mov dword [ebp - 0x91c], 0
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x918], 0
mov dword [ebp - 0x914], 0
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x90c], 0
mov dword [ebp - 0x928], 0
mov dword [ebp - 0x944], 0
mov dword [ebp - 0x908], 0xffffffff
mov dword [ebp - 0x940], 0xffffffff
mov dword [ebp - 0x924], 0xffffffff
mov dword [ebp - 0x93c], 0xffffffff
mov dword [ebp - 0x910], 0xffffffff
mov dword [ebp - 0x934], 0xffffffff
mov dword [ebp - 0x930], 0xffffffff
mov dword [ebp - 0x92c], 0xffffffff
lea edx, [ebp - 0x92c]
push edx
lea eax, [ebp - 0x930]
push eax
lea ecx, [ebp - 0x934]
push ecx
lea edx, [ebp - 0x910]
push edx
lea eax, [ebp - 0x93c]
push eax
lea ecx, [ebp - 0x924]
push ecx
lea edx, [ebp - 0x940]
push edx
lea eax, [ebp - 0x908]
push eax
lea ecx, [ebp - 0x944]
push ecx
lea edx, [ebp - 0x928]
push edx
lea eax, [ebp - 0x90c]
push eax
lea ecx, [ebp - 0x920]
push ecx
lea edx, [ebp - 0x914]
push edx
lea eax, [ebp - 0x918]
push eax
lea ecx, [ebp - 0x938]
push ecx
lea edx, [ebp - 0x91c]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.00402c9a
cmp dword [ebp - 0x91c], 0
je 0x42fa5f
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x908]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4765e0
push 0x4765f0
push 0x476600
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x938], 0
je 0x42fa9f
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x940]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x47660c
push 0x47661c
push 0x47662c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x918], 0
je 0x42fadf
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ebp - 0x924]
mov dword [ecx + 0xe30], edx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476638
push 0x47664c
push 0x47665c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x914], 0
je 0x42fb1f
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x93c]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476668
push 0x476678
push 0x476688
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x920], 0
je 0x42fb5f
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x910]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476694
push 0x47669c
push 0x4766ac
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x90c], 0
je 0x42fb9f
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ebp - 0x934]
mov dword [ecx + 0xe30], edx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4766b8
push 0x4766c0
push 0x4766d0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x928], 0
je 0x42fbdf
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x930]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4766dc
push 0x4766e0
push 0x4766f0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
cmp dword [ebp - 0x944], 0
je 0x42fc1c
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x92c]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4766fc
push 0x476708
push 0x476718
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42fc6c
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe30], 0
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476724
push 0x47672c
push 0x47673c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476744
push 0x47674c
push 0x47675c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x900]
call fcn.00455120
jmp 0x42ffee
mov dword [ebp - 0x95c], 0
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x960], 0
mov dword [ebp - 0x94c], 0
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x984], 0
mov dword [ebp - 0x948], 0xffffffff
mov dword [ebp - 0x980], 0xffffffff
mov dword [ebp - 0x964], 0xffffffff
mov dword [ebp - 0x97c], 0xffffffff
mov dword [ebp - 0x950], 0xffffffff
mov dword [ebp - 0x974], 0xffffffff
mov dword [ebp - 0x970], 0xffffffff
mov dword [ebp - 0x96c], 0xffffffff
lea edx, [ebp - 0x96c]
push edx
lea eax, [ebp - 0x970]
push eax
lea ecx, [ebp - 0x974]
push ecx
lea edx, [ebp - 0x950]
push edx
lea eax, [ebp - 0x97c]
push eax
lea ecx, [ebp - 0x964]
push ecx
lea edx, [ebp - 0x980]
push edx
lea eax, [ebp - 0x948]
push eax
lea ecx, [ebp - 0x984]
push ecx
lea edx, [ebp - 0x968]
push edx
lea eax, [ebp - 0x94c]
push eax
lea ecx, [ebp - 0x960]
push ecx
lea edx, [ebp - 0x954]
push edx
lea eax, [ebp - 0x958]
push eax
lea ecx, [ebp - 0x978]
push ecx
lea edx, [ebp - 0x95c]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0x954
call fcn.00402c9a
cmp dword [ebp - 0x95c], 0
je 0x42fde1
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x948]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Windows_Mail
push 0x476778
push 0x476788
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x978], 0
je 0x42fe21
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x980]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Outlook_Express
push 0x4767a4
push 0x4767b4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x958], 0
je 0x42fe61
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ebp - 0x964]
mov dword [ecx + 0xe30], edx
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Netscape_Messenger
push 0x4767d4
push 0x4767e4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x954], 0
je 0x42fea1
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x97c]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Lotus_ccMail
push 0x476800
push 0x476810
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x960], 0
je 0x42fee1
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x950]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Outlook
push 0x476824
push 0x476834
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x94c], 0
je 0x42ff21
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ebp - 0x974]
mov dword [ecx + 0xe30], edx
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Eudora
push 0x476848
push 0x476858
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x968], 0
je 0x42ff61
mov eax, dword [ebp - 0xa38]
mov ecx, dword [ebp - 0x970]
mov dword [eax + 0xe30], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x476864
push 0x476868
push 0x476878
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
cmp dword [ebp - 0x984], 0
je 0x42ff9e
mov edx, dword [ebp - 0xa38]
mov eax, dword [ebp - 0x96c]
mov dword [edx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push str.Lotus_Notes
push 0x476890
push 0x4768a0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x42ffee
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xe30], 0
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4768ac
push str.SW_MailClient
push 0x4768c4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4768cc
push str.Email_Client
push 0x4768e4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x8e0]
call fcn.00402550
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8e8]
call fcn.00402550
cmp dword [ebp + 8], 3
je 0x43001f
cmp dword [ebp + 8], 4
jne 0x4300cc
mov edx, dword [ebp - 0xa38]
cmp dword [edx + 0xb70], 1
jne 0x4300cc
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0xd64], 0
mov ecx, dword [ebp - 0xa38]
mov dword [ecx + 0xd68], 0
mov edx, dword [ebp - 0xa38]
mov dword [edx + 0xd6c], 0
mov eax, dword [ebp - 0xa38]
mov dword [eax + 0xd70], 0
mov ecx, dword [ebp - 0xa38]
mov edx, dword [ecx + 0xd64]
push edx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xb94
call fcn.0041b970
mov eax, dword [ebp - 0xa38]
mov ecx, dword [eax + 0xd68]
push ecx
mov ecx, dword [ebp - 0xa38]
add ecx, 0xbd0
call fcn.0041b970
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx + 0xd70]
push eax
mov ecx, dword [ebp - 0xa38]
add ecx, 0xc0c
call fcn.0041b970
push 1
mov ecx, dword [ebp - 0xa38]
call fcn.00402940
push 0
mov ecx, dword [ebp - 0xa38]
call fcn.00453d7d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4