Function at 0x427ff9
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x52c
mov eax, dword [0x470824]
xor eax, ebp
mov dword [ebp - 4], eax
cmp word [0x4853d4], 0
je 0x42801d
xor eax, eax
jmp 0x42847b
cmp word [0x47a77a], 0
mov eax, 0x3e7
mov word [0x4853d4], ax
jle 0x428049
push 0x458fd0
push str.loading_wordscan_engine
push 0x47a89e
call fcn.00415867
add esp, 0xc
push ebx
xor ebx, ebx
mov ecx, ebx
mov al, byte [ecx + 0x47a796]
mov byte [ebp + ecx - 0x424], al
inc ecx
test al, al
jne 0x42804e
mov ecx, ebx
mov al, byte [ebp + ecx - 0x424]
mov byte [ebp + ecx - 0x214], al
inc ecx
test al, al
jne 0x428062
mov ecx, ebx
mov al, byte [ebp + ecx - 0x214]
mov byte [ebp + ecx - 0x10c], al
inc ecx
test al, al
jne 0x428077
push edi
lea edi, [ebp - 0x10c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x428092
push esi
mov esi, str.xocr32b.exe
lea eax, [ebp - 0x10c]
push ebx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0043aa81
pop ecx
pop ecx
test ax, ax
je 0x428158
mov ecx, ebx
mov al, byte [ebp + ecx - 0x214]
mov byte [ebp + ecx - 0x10c], al
inc ecx
test al, al
jne 0x4280bd
lea edi, [ebp - 0x10c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4280d7
push 6
pop ecx
mov esi, str.prime_engine_1xocr32b.exe
lea eax, [ebp - 0x10c]
rep movsd dword es:[edi], dword [esi]
push ebx
push eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.0043aa81
pop ecx
pop ecx
test ax, ax
je 0x42810d
mov eax, str.ERROR:_failed_to_find_xocr32b.exe___using_default_path
lea ecx, [ebp - 0x10c]
jmp 0x428163
mov ecx, ebx
mov al, byte [ebp + ecx - 0x214]
mov byte [ebp + ecx - 0x10c], al
inc ecx
test al, al
jne 0x42810f
lea edi, [ebp - 0x10c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x428129
mov esi, str.prime_engine_1
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ebp + ecx - 0x10c]
mov byte [ebp + ecx - 0x214], al
inc ecx
test al, al
jne 0x42813e
mov eax, str.engine_1_in_prime_engine_1_directory
jmp 0x42815d
mov eax, str.engine_1_in_main__bin_directory
lea ecx, [ebp - 0x214]
push ecx
push eax
mov edi, 0x47a89e
push edi
call fcn.00415867
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push ebx
call sym.procr1.west__RecInitS_8
movzx esi, ax
mov eax, 0xc3
test si, si
je 0x4281b2
cmp si, ax
je 0x4281b2
lea eax, [ebp - 0x214]
push eax
push str.Module_initialization_problem___engine_path
push edi
call fcn.00415867
movsx ecx, si
push ecx
push str.Module_initialization_problem___status
jmp 0x428309
cmp word [0x47a77a], bx
jle 0x4281d0
lea eax, [ebp - 0x214]
push eax
push str.Module_initialization_SUCCESS___engine_path
push edi
call fcn.00415867
add esp, 0xc
push ebx
push str.PRIM2V12.LIC
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x31c]
push ebx
push eax
call fcn.00433c37
add esp, 0x14
lea eax, [ebp - 0x31c]
push 0xadaf78
push 0x83b23d
push eax
call sym.procr1.west__RecLoadLicenseFile_12
movzx esi, ax
test si, si
je 0x428314
mov eax, 0xc3
cmp si, ax
je 0x428314
lea eax, [ebp - 0x31c]
push eax
push 0x45913c
push edi
call fcn.00415867
movsx eax, si
push eax
push str.OEM_license_problem___status____WILL_NOW_USE_BACKUP_COPY
push edi
call fcn.0041594b
push ebx
push str.PRIM2V12.LIC.BACKUP
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x52c]
push ebx
push eax
call fcn.00433c37
add esp, 0x2c
lea eax, [ebp - 0x31c]
push ebx
push eax
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0xadaf78
push 0x83b23d
lea eax, [ebp - 0x31c]
push eax
call sym.procr1.west__RecLoadLicenseFile_12
movzx eax, ax
test ax, ax
je 0x428314
mov ecx, 0xc3
cmp ax, cx
je 0x428314
cwde
push eax
push str.OEM_license_problem___status____TRYING_OLD_LICENSE
push edi
call fcn.0041594b
push ebx
push str.PRIMV12.LIC
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x31c]
push ebx
push eax
call fcn.00433c37
add esp, 0x20
lea eax, [ebp - 0x31c]
push 0x406c34
push 0x889316
push eax
call sym.procr1.west__RecLoadLicenseFile_12
movzx esi, ax
test si, si
je 0x428314
mov eax, 0xc3
cmp si, ax
je 0x428314
lea eax, [ebp - 0x31c]
push eax
push str.OEM_license_problem___engine_path
push edi
call fcn.00415867
movsx ecx, si
push ecx
push str.OEM_license_problem___status
push edi
call fcn.0041594b
add esp, 0x18
jmp 0x428370
push sym.procr1.west_enum_tagRECERR___stdcall_crd_status_struct_tagPROGRESSMONITOR__
call sym.procr1.west__RecSetCBProgMon_4
movzx esi, ax
test si, si
je 0x428331
movsx ecx, si
push ecx
push str.Error:_RecSetCBProgMon__
jmp 0x428362
push ebx
call sym.procr1.west__RecSetRMTradeoff_4
movzx esi, ax
test si, si
je 0x42834a
movsx ecx, si
push ecx
push str.Error:_RecSetRMTradeOff__
jmp 0x428362
push 0xffffffffffffffff
call sym.procr1.west__RecSetTimeOut_4
movzx esi, ax
test si, si
je 0x428378
movsx ecx, si
push ecx
push str.Error:_RecSetTimeOut
push edi
call fcn.0041594b
add esp, 0xc
call fcn.00428487
mov ax, si
jmp 0x428478
xor esi, esi
inc esi
push esi
call sym.procr1.west__RecSetSpell_4
test ax, ax
je 0x4283a3
push 0x458fd1
push str.Error:_RecSetSpell__
push edi
call fcn.00415867
add esp, 0xc
call fcn.00428487
jmp 0x428476
push esi
call sym.procr1.west__RecSetSpellCorrection_4
test ax, ax
je 0x4283ba
push 0x458fd2
push str.Error:_RecSetSpellCorrection__
jmp 0x428390
push 0xfffffffffffffffe
call sym.procr1.west__RecSetSpellLanguage_4
test ax, ax
je 0x4283db
movsx eax, word [0x47a746]
push eax
push str.Error:_RecSetSpellLanguage__
push edi
call fcn.0041594b
jmp 0x428396
push 2
call sym.procr1.west__RecSetImgSource_4
test ax, ax
je 0x428445
cmp word [0x47a77a], bx
je 0x428421
movzx eax, word [0x47a76c]
push 0x458fd3
push 0x459013
push 0x45904b
push 0x45905b
push str.RecSetImgSource__
push 0x4592f0
push eax
push ebx
push esi
push edi
call fcn.0040ce4c
add esp, 0x28
cmp word [0x47a76c], bx
jle 0x428399
push ebx
push 0x4592f8
push str.Error:__RecSetImgSource__
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x428399
cmp word [0x47a77a], bx
jle 0x428461
push 0x459081
push str.loaded_wordscan_successfully
push edi
call fcn.00415867
add esp, 0xc
xor eax, eax
mov word [0x4853d4], si
mov byte [0x4853d8], bl
mov word [0x4854e0], ax
xor eax, eax
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042dc3d
leave
ret