Function at 0x4aa805
Capabilities:
Persist via run registry key
Print debug messages
Query or enumerate registry value
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa484
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9b8
push esi
mov dword [ebp - 0x9b4], ecx
lea ecx, [ebp - 0x768]
call fcn.00401900
mov dword [ebp - 4], 0
mov dword [ebp - 0x748], 1
mov dword [ebp - 0x770], 0x64
lea ecx, [ebp - 0x744]
call fcn.00401900
mov byte [ebp - 4], 1
mov dword [ebp - 0x764], 0
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x758], 0
lea ecx, [ebp - 0x898]
call fcn.00401900
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74c]
call fcn.00401900
mov byte [ebp - 4], 3
push 0x104
push 0
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf390
add esp, 0xc
push str._Scan2PC__FaxRCP.exe_noUI
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104
lea ecx, [ebp - 0x110]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea edx, [ebp - 0x110]
push edx
call fcn.004d03c0
add esp, 8
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x538]
add eax, 1
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x538]
mov byte [ecx], 0
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
call fcn.004cf9b0
add esp, 8
call fcn.0044e6ae
cmp eax, 5
jl 0x4aa982
push 0x5396f4
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
call fcn.004cf9b0
add esp, 8
push 0x5396f4
lea edx, [ebp - 0x110]
push edx
call fcn.004cf9b0
add esp, 8
push 0x532d4c
lea eax, [ebp - 0x110]
push eax
call fcn.004cf9c0
add esp, 8
push 0x532d58
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
call fcn.004cf9c0
add esp, 8
jmp 0x4aa9af
push str.pname.ini
lea edx, [ebp - 0x110]
push edx
call fcn.004cf9c0
add esp, 8
push str.scanopt.ini
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
call fcn.004cf9c0
add esp, 8
push 0x80
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp - 0x9b4]
add edx, 0xe8
push edx
push 0
push 0x532d7c
push 0x532d88
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x760], eax
cmp dword [ebp - 0x760], 0
jne 0x4aaa3a
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x1f4], 4
mov ecx, dword [ebp - 0x9b4]
mov dword [ecx + 0x1f8], 1
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x1fc], 0
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x200], 0
jmp 0x4aab60
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
push 0
push 0x532d94
push 0x532d9c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x750], eax
mov edx, dword [ebp - 0x9b4]
add edx, 0xe8
push edx
push 0
push 0x532da8
push 0x532db0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x754], eax
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
push 0
push 0x532dbc
push 0x532dc8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x89c], eax
cmp dword [ebp - 0x760], 1
jl 0x4aaaba
cmp dword [ebp - 0x760], 5
jle 0x4aaac4
mov dword [ebp - 0x760], 4
cmp dword [ebp - 0x750], 1
jl 0x4aaad6
cmp dword [ebp - 0x750], 4
jle 0x4aaae0
mov dword [ebp - 0x750], 1
cmp dword [ebp - 0x754], 0
jl 0x4aaaf2
cmp dword [ebp - 0x754], 1
jle 0x4aaafc
mov dword [ebp - 0x754], 0
cmp dword [ebp - 0x89c], 0
jl 0x4aab0e
cmp dword [ebp - 0x89c], 2
jle 0x4aab18
mov dword [ebp - 0x89c], 0
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x760]
mov dword [ecx + 0x1f4], edx
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [ebp - 0x750]
mov dword [eax + 0x1f8], ecx
mov edx, dword [ebp - 0x9b4]
mov eax, dword [ebp - 0x754]
mov dword [edx + 0x1fc], eax
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x89c]
mov dword [ecx + 0x200], edx
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x1f4]
push ecx
push 0x532dd4
lea edx, [ebp - 0x744]
push edx
call fcn.004e1baf
add esp, 0xc
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push str.Resolution
push 0x532de4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ecx + 0x1f8]
push edx
push 0x532df0
lea eax, [ebp - 0x744]
push eax
call fcn.004e1baf
add esp, 0xc
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push str.Output
push 0x532dfc
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [ebp - 0x9b4]
mov eax, dword [edx + 0x1fc]
push eax
push 0x532e08
lea ecx, [ebp - 0x744]
push ecx
call fcn.004e1baf
add esp, 0xc
mov edx, dword [ebp - 0x9b4]
add edx, 0xe8
push edx
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push str.Preview
push 0x532e14
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x200]
push ecx
push 0x532e20
lea edx, [ebp - 0x744]
push edx
call fcn.004e1baf
add esp, 0xc
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push str.DuplexScan
push str.SCANTOPC
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x4aacdc
mov edx, dword [ebp - 0x9b4]
mov eax, dword [edx + 0x1fc]
push eax
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ecx + 0x1f8]
push edx
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x1f4]
push ecx
push str._RCP__Option:_Resolution_:__d__Output_:__d__Preview_:__d
lea edx, [ebp - 0x928]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x928]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x8a8]
call fcn.00401900
mov byte [ebp - 4], 4
mov dword [ebp - 0x748], 1
push 0x104
push 0
lea ecx, [ebp - 0x740]
push ecx
call fcn.004cf390
add esp, 0xc
mov edx, dword [ebp - 0x9b4]
add edx, 0xe8
push edx
push 0x104
lea eax, [ebp - 0x740]
push eax
push 0x53e29c
push str.PATH
push str.SAVE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x53e2a0
lea ecx, [ebp - 0x740]
push ecx
call fcn.004d01b0
add esp, 8
test eax, eax
je 0x4aad6e
lea edx, [ebp - 0x740]
push edx
mov ecx, dword [ebp - 0x9b4]
add ecx, 0x1edc
call fcn.004e82b5
jmp 0x4ab10f
mov dword [ebp - 0x770], 0x100
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders_
lea ecx, [ebp - 0x768]
call fcn.004e82b5
lea eax, [ebp - 0x8a4]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x768]
call fcn.00401920
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x4aade2
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x4aadc9
push str._RCP__MyDoc_reg_Open_error
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x53e2a4
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf9b0
add esp, 8
jmp 0x4ab0f7
mov ecx, dword [ebp - 0x9b4]
call fcn.004aa70c
cmp eax, 7
jne 0x4aaef2
lea eax, [ebp - 0x770]
push eax
lea ecx, [ebp - 0x63c]
push ecx
lea edx, [ebp - 0x748]
push edx
push 0
push 0x532ee8
mov eax, dword [ebp - 0x8a4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4aae54
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x4aae3b
push 0x532ef4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x53e2a8
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf9b0
add esp, 8
jmp 0x4aaee0
push 0x532f10
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf9c0
add esp, 8
mov ecx, 0x539838
call fcn.00408660
mov esi, eax
lea ecx, [ebp - 0x63c]
push ecx
call fcn.004cf430
add esp, 4
mov edx, 0x104
sub edx, eax
cmp esi, edx
jae 0x4aaea0
mov ecx, 0x539838
call fcn.00408660
mov dword [ebp - 0x9b8], eax
jmp 0x4aaebf
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf430
add esp, 4
mov ecx, 0x104
sub ecx, eax
sub ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b8]
push edx
mov ecx, 0x539838
call fcn.00401920
push eax
lea eax, [ebp - 0x63c]
push eax
call fcn.004d0fc0
add esp, 0xc
mov ecx, dword [ebp - 0x8a4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4ab0f7
mov ecx, dword [ebp - 0x9b4]
call fcn.004aa70c
cmp eax, 7
jne 0x4ab001
lea edx, [ebp - 0x770]
push edx
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x748]
push ecx
push 0
push str.My_Pictures
mov edx, dword [ebp - 0x8a4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4aaf63
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x4aaf4a
push 0x532f20
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x53e2ac
lea ecx, [ebp - 0x63c]
push ecx
call fcn.004cf9b0
add esp, 8
jmp 0x4aafef
push 0x532f3c
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf9c0
add esp, 8
mov ecx, 0x539838
call fcn.00408660
mov esi, eax
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf430
add esp, 4
mov ecx, 0x104
sub ecx, eax
cmp esi, ecx
jae 0x4aafaf
mov ecx, 0x539838
call fcn.00408660
mov dword [ebp - 0x9bc], eax
jmp 0x4aafce
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf430
add esp, 4
mov ecx, 0x104
sub ecx, eax
sub ecx, 1
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
push edx
mov ecx, 0x539838
call fcn.00401920
push eax
lea eax, [ebp - 0x63c]
push eax
call fcn.004d0fc0
add esp, 0xc
mov ecx, dword [ebp - 0x8a4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4ab0f7
lea edx, [ebp - 0x770]
push edx
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x748]
push ecx
push 0
push 0x532f40
mov edx, dword [ebp - 0x8a4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4ab05e
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x4ab045
push str._RCP__MyDoc_reg_exe_error
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x53e2b0
lea ecx, [ebp - 0x63c]
push ecx
call fcn.004cf9b0
add esp, 8
jmp 0x4ab0ea
push str.My_Pictures_
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf9c0
add esp, 8
mov ecx, 0x539838
call fcn.00408660
mov esi, eax
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf430
add esp, 4
mov ecx, 0x104
sub ecx, eax
cmp esi, ecx
jae 0x4ab0aa
mov ecx, 0x539838
call fcn.00408660
mov dword [ebp - 0x9c0], eax
jmp 0x4ab0c9
lea edx, [ebp - 0x63c]
push edx
call fcn.004cf430
add esp, 4
mov ecx, 0x104
sub ecx, eax
sub ecx, 1
mov dword [ebp - 0x9c0], ecx
mov edx, dword [ebp - 0x9c0]
push edx
mov ecx, 0x539838
call fcn.00401920
push eax
lea eax, [ebp - 0x63c]
push eax
call fcn.004d0fc0
add esp, 0xc
mov ecx, dword [ebp - 0x8a4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x63c]
push edx
mov ecx, dword [ebp - 0x9b4]
add ecx, 0x1edc
call fcn.004e82b5
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
push 0
push 0x532f78
push str.MYDOC
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x9b4]
mov dword [ecx + 0x204], eax
mov edx, dword [ebp - 0x9b4]
cmp dword [edx + 0x204], 0
jne 0x4ab15a
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x204], 1
jmp 0x4ab196
mov ecx, dword [ebp - 0x9b4]
cmp dword [ecx + 0x204], 4
jbe 0x4ab17b
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x204], 1
jmp 0x4ab196
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x204]
sub ecx, 1
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x204], ecx
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
push 0
push str.IMGFORMAT
push str.EMAIL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x9b4]
mov dword [ecx + 0x208], eax
mov edx, dword [ebp - 0x9b4]
cmp dword [edx + 0x208], 2
jae 0x4ab1e1
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x208], 2
jmp 0x4ab21d
mov ecx, dword [ebp - 0x9b4]
cmp dword [ecx + 0x208], 4
jbe 0x4ab202
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x208], 2
jmp 0x4ab21d
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x208]
sub ecx, 2
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x208], ecx
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
push 0
push str.SAVEFORMAT
push 0x532fac
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x9b4]
mov dword [ecx + 0x214], eax
mov edx, dword [ebp - 0x9b4]
cmp dword [edx + 0x214], 0
jne 0x4ab268
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x214], 1
jmp 0x4ab2a4
mov ecx, dword [ebp - 0x9b4]
cmp dword [ecx + 0x214], 4
jbe 0x4ab289
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x214], 1
jmp 0x4ab2a4
mov eax, dword [ebp - 0x9b4]
mov ecx, dword [eax + 0x214]
sub ecx, 1
mov edx, dword [ebp - 0x9b4]
mov dword [edx + 0x214], ecx
mov eax, dword [ebp - 0x9b4]
add eax, 0xe8
push eax
push 0x100
lea ecx, [ebp - 0x894]
push ecx
push 0x53e2b4
push str.LINK
push str.OCR_PP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x53e2b8
lea edx, [ebp - 0x894]
push edx
call fcn.004d01b0
add esp, 8
test eax, eax
jne 0x4ab301
push str.NotePad
mov ecx, dword [ebp - 0x9b4]
add ecx, 0x210
call fcn.004e82b5
jmp 0x4ab319
lea eax, [ebp - 0x894]
push eax
mov ecx, dword [ebp - 0x9b4]
add ecx, 0x210
call fcn.004e82b5
mov ecx, dword [ebp - 0x9b4]
add ecx, 0xe8
push ecx
push 0x20
lea edx, [ebp - 0x790]
push edx
push 0x53e2bc
push str.LANGUAGE
push str.OCR_SEC
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x75c], 0
push 0x53e2c0
lea eax, [ebp - 0x790]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4ab429
mov dword [ebp - 0x75c], 0
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [0x539800]
jge 0x4ab3f7
cmp dword [ebp - 0x75c], 0x1e
jl 0x4ab38b
jmp 0x4ab3f7
cmp dword [0x53a9cc], 0
je 0x4ab3b7
lea edx, [ebp - 0x790]
push edx
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax*4 + 0x51c4c4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab3b5
jmp 0x4ab3f7
jmp 0x4ab3e3
cmp dword [ebp - 0x75c], 0x1a
jl 0x4ab3c2
jmp 0x4ab3f7
lea edx, [ebp - 0x790]
push edx
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax*4 + 0x51c53c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab3e3
jmp 0x4ab3f7
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
jmp 0x4ab372
cmp dword [ebp - 0x75c], 0x1e
jl 0x4ab412
mov eax, dword [ebp - 0x9b4]
mov dword [eax + 0x218], 0
jmp 0x4ab424
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x75c]
mov dword [ecx + 0x218], edx
jmp 0x4ab4dc
mov dword [ebp - 0x92c], 0
jmp 0x4ab444
mov eax, dword [ebp - 0x92c]
add eax, 1
mov dword [ebp - 0x92c], eax
cmp dword [ebp - 0x92c], 0x1e
jge 0x4ab4ca
cmp dword [0x53a9cc], 0
je 0x4ab489
mov ecx, 0x539874
call fcn.00401920
push eax
mov ecx, dword [ebp - 0x92c]
mov edx, dword [ecx*4 + 0x51c5a4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab487
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x75c], eax
jmp 0x4ab4ca
jmp 0x4ab4c5
cmp dword [ebp - 0x92c], 0x1a
jl 0x4ab494
jmp 0x4ab4ca
mov ecx, 0x539874
call fcn.00401920
push eax
mov ecx, dword [ebp - 0x92c]
mov edx, dword [ecx*4 + 0x51c61c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab4c5
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x75c], eax
jmp 0x4ab4ca
jmp 0x4ab435
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x75c]
mov dword [ecx + 0x218], edx
mov ecx, dword [ebp - 0x9b4]
call fcn.004a86cc
lea eax, [ebp - 0x110]
push eax
push 0x400
lea ecx, [ebp - 0x530]
push ecx
push 0x532fe0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
lea edx, [ebp - 0x530]
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x764]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4ab625
push 0x532fe8
mov edx, dword [ebp - 0x764]
push edx
call fcn.004d0f17
add esp, 8
push eax
lea ecx, [ebp - 0x898]
call fcn.004e82b5
push 0x532fec
push 0
call fcn.004d0f17
add esp, 8
push eax
lea ecx, [ebp - 0x74c]
call fcn.004e82b5
push 0x532ff0
lea ecx, [ebp - 0x74c]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4ab5e3
push 0x533000
lea ecx, [ebp - 0x74c]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4ab5e3
push 0x533008
lea ecx, [ebp - 0x74c]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4ab5e3
push 0x53999c
lea eax, [ebp - 0x74c]
push eax
call fcn.0043c2b0
and eax, 0xff
test eax, eax
jne 0x4ab5e3
push 0x533018
lea ecx, [ebp - 0x74c]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab5f2
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x764]
push eax
call fcn.004cf430
add esp, 4
mov ecx, dword [ebp - 0x764]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x764], edx
jmp 0x4ab511
cmp dword [ebp - 0x76c], 0
je 0x4aba4b
mov dword [ebp - 0x8a0], 0
jmp 0x4ab64d
mov eax, dword [ebp - 0x8a0]
add eax, 1
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x76c]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [ebp - 0x8a0], eax
jge 0x4aba49
mov ecx, dword [ebp - 0x8a0]
add ecx, 1
push ecx
push 0x53301c
lea edx, [ebp - 0x744]
push edx
call fcn.004e1baf
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push 0x1e
lea ecx, [ebp - 0x130]
push ecx
push 0x533020
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push 0x533028
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x533030
lea edx, [ebp - 0x130]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab71b
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8a8]
call fcn.004e812c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74c]
call fcn.004e812c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x898]
call fcn.004e812c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x744]
call fcn.004e812c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x768]
call fcn.004e812c
jmp 0x4abb80
mov eax, dword [ebp - 0x8a0]
add eax, 1
mov ecx, dword [ebp - 0x8a0]
imul ecx, ecx, 0x24
mov dword [ecx + 0x53a2a8], eax
lea edx, [ebp - 0x130]
push edx
mov eax, dword [ebp - 0x8a0]
imul eax, eax, 0x24
add eax, 0x53a2ac
push eax
call fcn.004cf9b0
add esp, 8
mov ecx, 0x53999c
call fcn.00401920
push eax
lea ecx, [ebp - 0x130]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4ab787
push 0x533038
lea edx, [ebp - 0x130]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab9f5
push 0x53303c
mov ecx, 0x53999c
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab859
mov dword [ebp - 0x770], 0x100
push 0x533048
lea ecx, [ebp - 0x768]
call fcn.004e82b5
lea eax, [ebp - 0x8a4]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x768]
call fcn.00401920
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4ab854
lea ecx, [ebp - 0x770]
push ecx
lea edx, [ebp - 0x63c]
push edx
lea eax, [ebp - 0x748]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x8a4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4ab847
push 0x53308c
lea ecx, [ebp - 0x744]
call fcn.004e8508
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push 0x533094
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x8a4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4ab9f5
push 0x53309c
mov ecx, 0x53999c
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ab92b
mov dword [ebp - 0x770], 0x100
push 0x5330ac
lea ecx, [ebp - 0x768]
call fcn.004e82b5
lea edx, [ebp - 0x8a4]
push edx
push 0x20019
push 0
lea ecx, [ebp - 0x768]
call fcn.00401920
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4ab926
lea eax, [ebp - 0x770]
push eax
lea ecx, [ebp - 0x63c]
push ecx
lea edx, [ebp - 0x748]
push edx
push 0
push 0
mov eax, dword [ebp - 0x8a4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4ab919
push 0x5330f4
lea ecx, [ebp - 0x744]
call fcn.004e8508
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x63c]
push edx
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push 0x5330fc
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x8a4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4ab9f5
mov dword [ebp - 0x770], 0x100
push 0x533104
lea ecx, [ebp - 0x768]
call fcn.004e82b5
lea ecx, [ebp - 0x8a4]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x768]
call fcn.00401920
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4ab9f5
lea edx, [ebp - 0x770]
push edx
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x748]
push ecx
push 0
push str.Path
mov edx, dword [ebp - 0x8a4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4ab9e8
push str..path
lea ecx, [ebp - 0x744]
call fcn.004e8508
push str.pppagevw.exe
lea eax, [ebp - 0x63c]
push eax
call fcn.004cf9c0
add esp, 8
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x63c]
push edx
lea ecx, [ebp - 0x744]
call fcn.00401920
push eax
push str.Result
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x8a4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x4aba44
mov edx, dword [ebp - 0x8a0]
imul edx, edx, 0x24
add edx, 0x53a2ac
push edx
mov eax, dword [ebp - 0x8a0]
imul eax, eax, 0x24
mov ecx, dword [eax + 0x53a2a8]
push ecx
push str._RCP__Scan2PC_SyncPrinter:___d_:__s
lea edx, [ebp - 0x9ac]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x9ac]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4ab63e
jmp 0x4aba71
push ecx
mov ecx, esp
mov dword [ebp - 0x9b0], esp
lea edx, [ebp - 0x110]
push edx
call fcn.004e819a
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9b4]
call fcn.004a99c2
push 0x80
call fcn.00408afe
add esp, 4
test eax, eax
jne 0x4abaec
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x4aba99
push str._PSU__SyncPrinter_PortAcqurire_Fail
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8a8]
call fcn.004e812c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74c]
call fcn.004e812c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x898]
call fcn.004e812c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x744]
call fcn.004e812c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x768]
call fcn.004e812c
jmp 0x4abb80
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x4abb04
push str._PSU__SyncPrinter_PortAcqurire_Success
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x9b4]
call fcn.004e7c5c
call fcn.0040cfed
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x9b4]
call fcn.004e7c71
push 0x80
call fcn.00408b57
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8a8]
call fcn.004e812c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74c]
call fcn.004e812c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x898]
call fcn.004e812c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x744]
call fcn.004e812c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x768]
call fcn.004e812c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret