Function at 0x484ba0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x50a903
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push ebp
push esi
mov esi, dword [esp + 0xf8]
mov ebx, ecx
push edi
test esi, esi
mov dword [esp + 0x20], ebx
jne 0x484bd7
xor eax, eax
jmp 0x4859b0
push 0x110
push 0x2020
push esi
call fcn.00483c60
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x484c0d
push 0x111
push 0x2020
push esi
call fcn.00483c60
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x4859b0
push ebp
mov ecx, ebx
call fcn.00483df0
test eax, eax
mov dword [esp + 0x4c], eax
jne 0x484c33
push str.__DCMPRN___Failed____CreateDIB__
mov ecx, 0x54b128
call fcn.004965f0
xor eax, eax
jmp 0x4859b0
mov esi, dword [ebx + 0x18]
mov edi, dword [ebx + 0x1c]
test esi, esi
je 0x484cd8
test edi, edi
je 0x484cd8
test esi, esi
jge 0x484c76
push 0x11
push 0x28
mov ecx, ebp
call fcn.004ab190
mov ecx, dword [ebx + 0x18]
and eax, 0xffff
imul ecx, eax
mov eax, 0xae147ae1
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
mov eax, dword [ebx + 0x1c]
test eax, eax
jge 0x484ca6
push 0x10
push 0x28
mov ecx, ebp
call fcn.004ab190
mov ecx, dword [ebx + 0x1c]
and eax, 0xffff
imul ecx, eax
mov eax, 0xae147ae1
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov edi, edx
cmp esi, 0x640
jle 0x484cc1
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
shl eax, 6
cdq
idiv esi
mov esi, 0x640
mov edi, eax
lea eax, [esi + 0x1f]
mov ebx, edi
cdq
and edx, 0x1f
add eax, edx
mov esi, eax
sar esi, 5
shl esi, 5
mov ebp, esi
jmp 0x484d04
push 0x11
push 0x28
mov ecx, ebp
call fcn.004ab190
mov si, ax
push 0x10
push 0x28
mov ecx, ebp
and esi, 0xffff
call fcn.004ab190
mov di, ax
xor ebp, ebp
and edi, 0xffff
xor ebx, ebx
mov eax, dword [0x54b1f8]
test eax, eax
je 0x484d58
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
push edi
push esi
lea edx, [esp + 0x18]
push str.__DCMPRN___Width___d__Height___d
push edx
mov dword [esp + 0x104], 0
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, 0x54b128
push eax
call fcn.004965f0
lea ecx, [esp + 0x10]
mov dword [esp + 0xf4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
push ebx
push ebp
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
push ecx
push edx
push esi
call fcn.004e6540
add esp, 0x14
mov ebx, eax
mov dword [esp + 0x44], ebx
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
jne 0x484d9a
push str.__DCMPRN___Failed____OCRCreateBWDIB__
mov ecx, 0x54b128
call fcn.004965f0
xor eax, eax
jmp 0x4859b0
mov eax, dword [0x54b1f8]
xor ebp, ebp
cmp eax, ebp
je 0x484e55
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x545eb8]
lea ecx, [esp + 0x10]
push eax
push str.C:IMG_d.bmp
push ecx
mov dword [esp + 0x100], 1
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.004c84b4
mov edx, dword [esp + 0x10]
push ebp
push 0x9001
push edx
lea ecx, [esp + 0x9c]
mov byte [esp + 0x100], 2
call sub.MFC42.DLL_CFile::Open
test eax, eax
je 0x484e22
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.004e42b0
lea ecx, [esp + 0x90]
call sub.MFC42.DLL_CFile::Close
mov eax, dword [0x545eb8]
lea ecx, [esp + 0x90]
inc eax
mov byte [esp + 0xf4], 1
mov dword [0x545eb8], eax
call sub.MFC42.DLL_CFile::CFile
lea ecx, [esp + 0x10]
mov dword [esp + 0xf4], 0xffffffff
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x54b1f8]
mov dword [esp + 0xf4], 3
cmp eax, ebp
mov dword [esp + 0x18], ebp
mov ebx, 4
je 0x484ebd
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
lea edx, [esp + 0x10]
push str.__DCMPRN___OCR_Begin
push edx
mov byte [esp + 0xfc], bl
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, 0x54b128
push eax
call fcn.004965f0
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 3
call sub.MFC42.DLL_CString::CString
cmp dword [edi + 0x40], ebp
je 0x4850e8
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [edi + 0x40]
mov byte [esp + 0xf4], 5
cmp eax, ebp
mov dword [esp + 0x18], ebp
jle 0x4850d2
xor eax, eax
mov dword [esp + 0x1c], eax
add eax, dword [edi + 0x3c]
mov ecx, dword [eax]
add eax, 0x18
mov dword [esp + 0x24], ecx
mov dx, word [eax - 0x14]
mov word [esp + 0x28], dx
mov cx, word [eax - 0x12]
mov word [esp + 0x2a], cx
mov edx, dword [eax - 0x10]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax - 0xc]
mov dword [esp + 0x30], ecx
mov edx, dword [eax - 8]
mov dword [esp + 0x34], edx
mov ecx, dword [eax - 4]
mov dword [esp + 0x38], ecx
push eax
lea ecx, [esp + 0x40]
call fcn.004c830a
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
test eax, eax
jne 0x484f5d
test esi, esi
jne 0x484f5d
test edx, edx
jne 0x484f5d
test ecx, ecx
je 0x485016
lea ebx, [esp + 0x14]
push ebx
push 0x4e20
push ecx
push edx
mov edx, dword [esp + 0x54]
push esi
push eax
push edx
call fcn.004e6570
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x484f87
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Empty
cmp esi, 2
je 0x484f98
mov dword [0x54b0f8], 0
jmp 0x484f9e
inc dword [0x54b0f8]
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [0x54b1f8]
test eax, eax
je 0x485016
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
push esi
lea edx, [esp + 0x28]
push str.__DCMPRN____d_OCR_Run_One____d___d___d___d____Value_:__s
push edx
mov byte [esp + 0x114], 6
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x30]
add esp, 0x20
mov ecx, 0x54b128
push eax
call fcn.004965f0
lea ecx, [esp + 0x10]
mov byte [esp + 0xf4], 5
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x24]
test eax, eax
je 0x485037
lea ecx, [esp + 0x50]
lea edx, [esp + 0x48]
push ecx
push edx
push eax
call fcn.004d6240
add esp, 0xc
test eax, eax
je 0x4850b3
jmp 0x485047
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2a]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
test eax, eax
jne 0x485060
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x14]
push eax
call fcn.004c830a
test ebp, ebp
jne 0x48509b
push 0x70
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x6c], esi
test esi, esi
mov byte [esp + 0xf4], 7
je 0x48508f
mov ecx, esi
call fcn.004aa6b0
mov dword [esi], 0x515c58
jmp 0x485091
xor esi, esi
mov byte [esp + 0xf4], 5
mov ebp, esi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
push ebp
call fcn.004d6d80
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0x40]
inc ecx
add eax, 0x1c
cmp ecx, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
jl 0x484eec
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf4], 3
call sub.MFC42.DLL_CString::CString
jmp 0x485943
mov ecx, dword [edi + 0x30]
cmp dword [ecx - 8], ebp
je 0x485943
cmp dword [edi + 0x54], ebp
jle 0x485943
lea ecx, [esp + 0x90]
call fcn.004732c0
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
push eax
push ecx
lea ecx, [esp + 0x98]
mov byte [esp + 0xfc], 8
call fcn.00473310
test eax, eax
je 0x4858e0
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_3
push 0x2000
mov byte [esp + 0xf8], 9
call sub.MFC42.DLL_operatornew
push 0x2000
mov dword [esp + 0x54], eax
call sub.MFC42.DLL_operatornew
mov dword [esp + 0x18], eax
xor eax, eax
add esp, 8
mov dword [esp + 0x54], 0x51617c
mov dword [esp + 0x58], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], eax
mov ecx, dword [edi + 0x2c]
mov byte [esp + 0xf4], 0xa
cmp ecx, ebp
jne 0x48519f
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x5c]
call fcn.0045bf60
mov edx, dword [esp + 0x58]
mov dword [edx], 1
jmp 0x4851fe
test cl, 1
je 0x4851bf
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x5c]
call fcn.0045bf60
mov eax, dword [esp + 0x58]
mov dword [eax], 1
mov eax, dword [esp + 0x5c]
test byte [edi + 0x2c], bl
je 0x4851de
mov esi, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x5c]
call fcn.0045bf60
mov ecx, dword [esp + 0x58]
mov dword [ecx + esi*4], ebx
mov eax, dword [esp + 0x5c]
test byte [edi + 0x2c], 2
je 0x485202
mov esi, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x5c]
call fcn.0045bf60
mov edx, dword [esp + 0x58]
mov dword [edx + esi*4], 2
mov eax, dword [esp + 0x5c]
xor esi, esi
test eax, eax
mov dword [esp + 0x8c], esi
jle 0x485886
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + esi*4]
push ecx
push edx
mov ecx, edi
call fcn.00484710
mov ebx, eax
xor ebp, ebp
cmp ebx, ebp
mov dword [esp + 0x40], ebx
je 0x485872
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
push esi
call fcn.004e4190
push esi
mov dword [esp + 0x74], eax
call fcn.004e41b0
push ebx
mov dword [esp + 0x8c], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [edi + 0x54]
mov dword [esp + 0x1c], ebp
cmp eax, ebp
jle 0x48579e
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x78]
mov eax, dword [eax + 0x50]
add eax, esi
mov ecx, dword [eax]
add eax, 0x18
mov dword [esp + 0x24], ecx
mov edx, dword [eax - 0x14]
mov dword [esp + 0x28], edx
mov ecx, dword [eax - 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax - 0xc]
mov dword [esp + 0x30], edx
mov ecx, dword [eax - 8]
mov dword [esp + 0x34], ecx
mov edx, dword [eax - 4]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x3c], edx
call fcn.004c830a
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test eax, eax
jne 0x4852f6
test edx, edx
jne 0x485304
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x485315
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x485315
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x88]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
jmp 0x485315
test eax, eax
jge 0x485302
add eax, dword [esp + 0x70]
mov dword [esp + 0x28], eax
test edx, edx
jge 0x485311
add edx, dword [esp + 0x88]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
test eax, eax
mov edi, eax
mov ebp, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xc8], ebx
jne 0x485347
test edx, edx
jne 0x485347
cmp ecx, dword [esp + 0x70]
jne 0x485347
mov ebx, dword [esp + 0x34]
cmp ebx, dword [esp + 0x88]
je 0x48536d
mov esi, dword [esp + 0x34]
push esi
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
mov eax, dword [esp + 0x50]
push eax
call fcn.004845e0
mov esi, eax
test esi, esi
jne 0x485369
mov esi, dword [esp + 0x40]
jmp 0x48536d
xor edi, edi
xor ebp, ebp
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x14]
mov ebx, dword [esp + 0x20]
push ecx
push 0xea60
push edx
push eax
push ebp
push edi
push esi
call fcn.004e6570
mov edi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x1c
cmp esi, eax
je 0x485465
mov eax, dword [0x54b1f8]
test eax, eax
je 0x48545e
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x545ebc]
lea edx, [esp + 0x80]
push ecx
push str.C:IMG_OCR_d.bmp
push edx
mov byte [esp + 0x100], 0xb
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0xdc]
call fcn.004c84b4
mov eax, dword [esp + 0x80]
push 0
push 0x9001
push eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x100], 0xc
call sub.MFC42.DLL_CFile::Open
test eax, eax
je 0x48542b
lea ecx, [esp + 0xdc]
push ecx
push esi
call fcn.004e42b0
lea ecx, [esp + 0xdc]
call sub.MFC42.DLL_CFile::Close
mov eax, dword [0x545ebc]
lea ecx, [esp + 0xdc]
inc eax
mov byte [esp + 0xf4], 0xb
mov dword [0x545ebc], eax
call sub.MFC42.DLL_CFile::CFile
lea ecx, [esp + 0x80]
mov byte [esp + 0xf4], 0xa
call sub.MFC42.DLL_CString::CString
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x54b1f8]
xor ebp, ebp
cmp eax, ebp
je 0x4854d3
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
push edi
lea ecx, [esp + 0x8c]
push str.__DCMPRN____d_OCR_Run____d___d___d___d____Value_:__s
push ecx
mov byte [esp + 0x114], 0xd
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x94]
add esp, 0x20
mov ecx, 0x54b128
push edx
call fcn.004965f0
lea ecx, [esp + 0x74]
mov byte [esp + 0xf4], 0xa
call sub.MFC42.DLL_CString::CString
cmp edi, ebp
jne 0x48556d
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
push eax
push edi
mov byte [edi], 0
mov byte [eax], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
lea ecx, [esp + 0xa4]
call fcn.00473380
mov esi, eax
cmp esi, ebp
je 0x485591
lea ecx, [esp + 0x84]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0x30]
push eax
push ecx
push edx
push esi
lea eax, [esp + 0x94]
push str.__DCMPRN___OCRParse_run_error__d____s___s___s__
push eax
mov byte [esp + 0x10c], 0x14
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x9c]
add esp, 0x18
push ecx
mov ecx, 0x54b128
call fcn.004965f0
lea ecx, [esp + 0x84]
mov byte [esp + 0xf4], 0xa
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov ecx, dword [ebx + 0x54]
inc eax
add edx, 0x1c
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x78], edx
jl 0x485275
jmp 0x485796
cmp dword [0x54b1f8], ebp
je 0x4855ff
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push edi
push eax
mov eax, dword [ebx + 0x34]
push ecx
mov ecx, dword [ebx + 0x30]
push edx
push eax
push ecx
lea edx, [esp + 0x84]
push str.__DCMPRN___OCRParse_Successful____s___s___d___s___s___s___s__
push edx
mov byte [esp + 0x118], 0xe
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x8c]
add esp, 0x24
mov ecx, 0x54b128
push eax
call fcn.004965f0
lea ecx, [esp + 0x68]
mov byte [esp + 0xf4], 0xa
call sub.MFC42.DLL_CString::CString
mov dword [esp + 0xb4], 0x5165a4
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], ebp
mov ebx, 0x515c40
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebp
lea ecx, [esp + 0xb4]
push 0x541558
push ecx
push edi
mov byte [esp + 0x100], 0x10
call fcn.004d6520
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xac]
push 0x541558
push edx
push eax
call fcn.004d62a0
mov esi, dword [esp + 0x30]
add esp, 0x18
xor edi, edi
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xa8]
cmp eax, ecx
jl 0x48569d
mov eax, ecx
cmp edi, eax
jge 0x48571f
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x4c]
mov ecx, dword [eax + edi*4]
push edx
push ecx
call fcn.004d6240
add esp, 0xc
test eax, eax
je 0x485719
cmp esi, ebp
jne 0x4856fb
push 0x70
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x6c], esi
cmp esi, ebp
mov byte [esp + 0xf4], 0x11
je 0x4856f1
mov ecx, esi
call fcn.004aa6b0
mov dword [esi], 0x515c58
jmp 0x4856f3
xor esi, esi
mov byte [esp + 0xf4], 0x10
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
mov eax, dword [edx + edi*4]
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
push esi
call fcn.004d6d80
add esp, 0x10
inc edi
jmp 0x485689
mov dword [esp + 0x18], esi
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + 0xa4]
mov byte [esp + 0xf4], 0x12
cmp eax, ebp
je 0x485754
push ecx
push eax
call sub.MFC42.DLL_DestructElements
mov eax, dword [esp + 0xa4]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov esi, 0x514bb8
mov dword [esp + 0xb4], 0x5165a4
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0xb8]
mov byte [esp + 0xf4], 0x13
cmp eax, ebp
je 0x485787
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov byte [esp + 0xf4], 0xa
mov dword [esp + 0xb4], esi
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x40]
cmp ebx, dword [esp + 0x44]
je 0x485860
mov eax, dword [0x54b1f8]
test eax, eax
je 0x485859
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x545ec0]
lea edx, [esp + 0x7c]
push ecx
push str.C:IMG_ROTATE_d.bmp
push edx
mov byte [esp + 0x100], 0x15
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0xcc]
call fcn.004c84b4
mov eax, dword [esp + 0x7c]
push 0
push 0x9001
push eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x100], 0x16
call sub.MFC42.DLL_CFile::Open
test eax, eax
je 0x485829
lea ecx, [esp + 0xcc]
push ecx
push ebx
call fcn.004e42b0
lea ecx, [esp + 0xcc]
call sub.MFC42.DLL_CFile::Close
mov eax, dword [0x545ec0]
lea ecx, [esp + 0xcc]
inc eax
mov byte [esp + 0xf4], 0x15
mov dword [0x545ec0], eax
call sub.MFC42.DLL_CFile::CFile
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf4], 0xa
call sub.MFC42.DLL_CString::CString
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 0x54]
cmp edx, eax
jl 0x485886
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x5c]
inc esi
cmp esi, eax
mov dword [esp + 0x8c], esi
jl 0x485217
mov eax, dword [esp + 0x4c]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x14]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 8
lea ecx, [esp + 0x90]
call fcn.004734d0
mov dword [esp + 0x54], 0x51617c
mov eax, dword [esp + 0x58]
mov byte [esp + 0xf4], 0x17
test eax, eax
je 0x4858ca
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0x54], 0x514bb8
mov byte [esp + 0xf4], 8
lea ecx, [esp + 0x3c]
jmp 0x485926
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [edi + 0x34]
mov eax, dword [edi + 0x30]
push edx
push eax
lea ecx, [esp + 0x24]
push str.__DCMPRN___OCRParse_load_failed____s___s__
push ecx
mov byte [esp + 0x104], 0x18
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov ecx, 0x54b128
push edx
call fcn.004965f0
mov byte [esp + 0xf4], 8
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x90]
mov byte [esp + 0xf4], 3
call fcn.00473300
mov ebp, dword [esp + 0x18]
mov eax, dword [0x54b1f8]
test eax, eax
je 0x48598f
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x18]
push str.__DCMPRN___OCR_End
push eax
mov byte [esp + 0xfc], 0x19
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x20]
add esp, 8
push ecx
mov ecx, 0x54b128
call fcn.004965f0
lea ecx, [esp + 0x18]
mov byte [esp + 0xf4], 3
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [esp + 0x14]
mov dword [esp + 0xf4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, ebp
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe8
ret 4