Function at 0x40cc7e
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a8
call fcn.0040883f
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40cc9c
xor eax, eax
jmp 0x40cfe9
xor eax, eax
mov ax, word [0x539af0]
test eax, eax
je 0x40ccb8
mov dword [ebp - 0x18], 9
mov dword [ebp - 8], 0x519f78
jmp 0x40ccc6
mov dword [ebp - 0x18], 0xb
mov dword [ebp - 8], 0x519f84
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.004089d2
mov dword [ebp - 0x10], eax
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x40cd23
push str._RCP____GET_FRONTPANEL_SCANLIST___n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.0044ce83
add esp, 8
mov eax, dword [ebp - 0x10]
push eax
push 0x519fbc
lea ecx, [ebp - 0x9c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jne 0x40cfb5
xor ecx, ecx
mov cx, word [0x539af0]
test ecx, ecx
je 0x40cd45
mov dword [ebp - 0x18], 0x3ac
jmp 0x40cd4c
mov dword [ebp - 0x18], 0x3ae
mov edx, dword [ebp - 0x18]
push edx
call fcn.004e8de9
add esp, 4
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x40cd81
mov ecx, dword [ebp - 0x18]
push ecx
push 0
mov edx, dword [ebp - 8]
push edx
call fcn.004cf390
add esp, 0xc
jmp 0x40cda4
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x40cd98
push str._RCP__Mfp_GetScanList_____Memory_Allocation_error___n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.00408962
xor eax, eax
jmp 0x40cfe9
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00408a86
mov dword [ebp - 0x10], eax
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x40ce1c
mov ecx, dword [ebp - 0x18]
push ecx
push 0x51a00c
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x10]
push ecx
push 0x51a028
lea edx, [ebp - 0x19c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.0044ce83
add esp, 8
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jne 0x40cf7c
mov dword [ebp - 0xc], 0
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x40ce47
push str._RCP__Scan2PC______Save_data_to_g_ScanDB_from_printer______
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor edx, edx
mov dx, word [0x539af0]
test edx, edx
je 0x40ce5d
mov dword [ebp - 0x1c], 0xa
jmp 0x40ce64
mov dword [ebp - 0x1c], 0xc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
jmp 0x40ce75
mov ecx, dword [ebp - 0x14]
add ecx, 0x1f
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x18]
jae 0x40cf5b
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov dword [edx + 0x53a2a8], ecx
push 0x1e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
lea edx, [ecx + eax + 1]
push edx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x24
add eax, 0x53a2ac
push eax
call fcn.004cfe40
add esp, 0xc
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
add ecx, 0x53a2ac
push ecx
call fcn.0044e1d9
add esp, 4
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
cmp dword [edx + 0x53a2a8], 0
je 0x40cf4d
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x40cf4d
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ecx + 0x53a2a8]
push edx
mov eax, dword [ebp - 0xc]
push eax
push str._RCP__g_ScanDB__d_.sIndex___d
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x24
add eax, 0x53a2ac
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push str._RCP__g_ScanDB__d_.szName___s
lea edx, [ebp - 0x29c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x40ce6c
mov edx, dword [ebp - 8]
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x2a4]
push eax
call fcn.004e8e12
add esp, 4
mov dword [ebp - 4], 1
jmp 0x40cfb3
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x40cf94
push str._RCP__Scan2Pc:_Read_data_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp - 0x2a8]
push eax
call fcn.004e8e12
add esp, 4
mov dword [ebp - 4], 0
jmp 0x40cfd4
xor ecx, ecx
mov cx, word [0x539af6]
test ecx, ecx
je 0x40cfcd
push str._RCP__Scan2Pc:_Write_data_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 4], 0
call fcn.00408962
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40cfe6
xor eax, eax
jmp 0x40cfe9
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret