Function at 0x427632
Capabilities:
Check if file exists

Disassembly:
push 0x30
mov eax, 0x46ae9e
call fcn.00468ea6
mov dword [ebp - 0x20], ecx
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x427672
test dword [eax + 0x1c], 0x100
je 0x427672
cmp byte [eax + 0x19], 4
jb 0x427672
push dword [eax + 0x14]
mov edx, 0x40ae20
push dword [eax + 0x10]
push 0x43
pop ecx
call fcn.00414ca8
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp + 8]
test esi, esi
je 0x427682
mov eax, dword [ecx + 0x760]
mov dword [esi + 0x24], eax
call fcn.004274b5
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
mov edi, eax
test edi, edi
js 0x4279cd
test esi, esi
je 0x4278cf
cmp dword [esi + 0xc], ebx
jbe 0x4278cf
lea ecx, [ebp - 0x34]
call dword [0x4786f8]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], ebx
cmp dword [esi + 0xc], ebx
jbe 0x4276f8
mov eax, dword [esi + 8]
push dword [eax + ebx*4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4276de
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + ebx*4]
call fcn.004659fd
test eax, eax
jne 0x4276f0
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x34]
push dword [eax + ebx*4]
push dword [ebp - 0x2c]
call dword [sym.imp.MFC42u.dll_CStringArray::SetAtGrow]
inc ebx
cmp ebx, dword [esi + 0xc]
jb 0x4276bf
xor ebx, ebx
cmp dword [ebp - 0x2c], 0
jle 0x4278b6
cmp dword [ebp - 0x2c], 1
jne 0x4277b9
lea ecx, [ebp - 0x18]
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov esi, 0xef68
mov byte [ebp - 4], 1
mov edx, esi
lea ecx, [ebp - 0x18]
call fcn.004216fb
test eax, eax
jne 0x4277b1
push ebx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x34]
call fcn.0041b60a
mov byte [ebp - 4], 3
push dword [eax]
lea eax, [ebp - 0x18]
push esi
push eax
call dword [sym.imp.MFC42u.dll_AfxFormatString1]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call dword [sym.imp.MFC42u.dll_CString::CString]
push ecx
mov ecx, dword [ebp - 0x18]
push 0x10
pop edx
call fcn.00422563
jmp 0x4277aa
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x18]
jmp 0x4278a8
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov edi, 0xef69
mov byte [ebp - 4], 5
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.004216fb
test eax, eax
jne 0x4278a5
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov byte [ebp - 4], 7
mov esi, ebx
cmp esi, dword [ebp - 0x2c]
jge 0x427838
push esi
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x34]
call fcn.0041b60a
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call dword [sym.imp.MFC42u.dll_CString::operator]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call dword [sym.imp.MFC42u.dll_CString::CString]
mov eax, dword [ebp - 0x2c]
sub eax, esi
cmp eax, 1
jle 0x427835
push 0x40aa0c
lea ecx, [ebp - 0x18]
call dword [sym.imp.MFC42u.dll_CString::operator_1]
inc esi
jmp 0x4277f0
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
push edi
push eax
call dword [sym.imp.MFC42u.dll_AfxFormatString1]
push ecx
mov ecx, dword [ebp - 0x1c]
push 0x10
pop edx
call fcn.00422563
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call dword [sym.imp.MFC42u.dll_CString::CString]
jmp 0x42789e
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call dword [sym.imp.MFC42u.dll_CString::CString]
mov edi, 0x80004005
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x34]
call dword [sym.imp.MFC42u.dll_CStringArray::SetSize]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call dword [sym.imp.MFC42u.dll_CStringArray::CStringArray]
test edi, edi
js 0x4279c5
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov esi, dword [eax + 0xc4]
mov ecx, esi
call dword [0x478f64]
mov ecx, dword [ebp - 0x20]
call esi
mov eax, dword [eax + 0x54]
test eax, eax
je 0x427916
cmp dword [eax + 0x64], ebx
mov ebx, dword [ebp - 0x20]
jne 0x427962
mov ecx, ebx
call fcn.00427a22
mov edi, eax
test edi, edi
jle 0x427964
movzx edi, di
or edi, 0x80070000
jmp 0x427962
mov edi, 0x80004005
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x4279c5
test dword [eax + 0x1c], 0x100
je 0x4279c5
cmp byte [eax + 0x19], 2
jb 0x4279c5
push 0x4005
push 0x40aa18
push dword [eax + 0x14]
mov edx, 0x40ae20
push dword [eax + 0x10]
push 0x46
pop ecx
call fcn.00414cf4
mov ebx, dword [ebp - 0x20]
test edi, edi
js 0x4279c5
call dword [sym.imp.MFC42u.dll_AfxGetModuleState]
push dword [ebp + 8]
mov ecx, ebx
mov esi, dword [eax + 4]
call fcn.004285aa
push eax
mov eax, dword [esi + 0x20]
push dword [eax + 0x20]
call dword [sym.imp.FxsCompose.dll_HrNewFaxComposeUI]
mov edi, eax
test edi, edi
jns 0x4279c5
mov ecx, dword [0x475014]
cmp ecx, 0x475014
je 0x4279c5
test dword [ecx + 0x1c], 0x100
je 0x4279c5
cmp byte [ecx + 0x19], 2
jb 0x4279c5
movzx eax, di
mov edx, 0x40ae20
push eax
push 0x40aa90
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x47
pop ecx
call fcn.00414cf4
call dword [sym.imp.ole32.dll_OleUninitialize]
jmp 0x427a06
mov ecx, dword [0x475014]
cmp ecx, 0x475014
je 0x427a06
test dword [ecx + 0x1c], 0x100
je 0x427a06
cmp byte [ecx + 0x19], 2
jb 0x427a06
movzx eax, di
mov edx, 0x40ae20
push eax
push 0x40aae0
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x48
pop ecx
call fcn.00414cf4
mov ecx, dword [ebp - 0x20]
call fcn.004274fb
xor eax, eax
test edi, edi
setns al
call fcn.00468de4
ret 4