Function at 0x11c9f800
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x11f9e3a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
mov eax, dword [esp + 0x70]
push ebx
push ebp
push esi
mov ebp, ecx
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x18]
push eax
push ecx
mov ecx, ebp
call fcn.11ca4680
mov esi, dword [esp + 0x84]
mov edx, dword [esp + 0x14]
push esi
lea eax, [esp + 0x84]
push edx
push eax
mov ecx, ebp
mov dword [esp + 0x84], ebx
call fcn.11ca33e0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 1
call fcn.11e7f410
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], bl
call fcn.11e7f280
mov ecx, dword [esp + 0x14]
mov eax, dword [0x12133f80]
mov edi, ecx
cmp eax, ebx
mov dword [esp + 0x80], edi
je 0x11c9f8ab
push ecx
push ecx
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_lpwszFileName__s__lpwszFileFullName__s_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x18
lea ecx, [esp + 0x1c]
mov dword [esp + 0x30], ebx
call fcn.11e923e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 2
call fcn.11e923e0
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x80], 3
push esi
mov ecx, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.11ca3840
mov eax, dword [0x12133f80]
cmp eax, ebx
je 0x11c9f931
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, 0x1212b5c0
call fcn.11d687a0
push eax
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_CopyEditWork__d__Embed__d__SaveAs__d_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x1c
mov esi, dword [esp + 0x14]
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x48]
push ebx
push edx
mov ecx, 0x1212b5c0
call fcn.11c9f420
mov eax, dword [eax]
push esi
push eax
mov byte [esp + 0x80], 4
call fcn.11e67d22
add esp, 8
cmp eax, ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 3
sete byte [esp + 0x13]
call fcn.11e7f280
mov al, byte [esp + 0x13]
cmp al, bl
mov eax, dword [0x12133f80]
je 0x11c9fbf9
cmp eax, ebx
je 0x11c9f9ac
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_current_open_file__wstrFileFullName__s_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x14
mov ecx, 0x1212b5c0
call fcn.11d687a0
test eax, eax
jne 0x11c9f9cc
cmp dword [esp + 0x2c], ebx
je 0x11c9f9c6
cmp dword [esp + 0x28], ebx
je 0x11c9f9cc
mov dword [esp + 0x20], ebx
jmp 0x11c9f9d4
mov dword [esp + 0x20], 1
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x11c9fa01
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.11de4210
lea ecx, [esp + 0x20]
push ecx
call fcn.11de4300
add esp, 0xc
jmp 0x11c9fbb5
mov ecx, 0x1212b458
xor esi, esi
call fcn.11df4470
test eax, eax
je 0x11c9fa83
push 0x12024f28
lea ecx, [esp + 0x18]
call fcn.11e83e40
test eax, eax
je 0x11c9fa35
push 0x12024f1c
lea ecx, [esp + 0x18]
call fcn.11e83e40
test eax, eax
jne 0x11c9fa83
mov ecx, 0x1212b5c0
mov esi, 1
call fcn.11daa3c0
test eax, eax
jne 0x11c9fa68
cmp dword [ebp + 0x38], ebx
je 0x11c9fa68
mov edx, dword [ebp + 0x34]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov eax, dword [edx]
lea edx, [esp + 0x24]
push edx
push eax
call fcn.11de4370
add esp, 0x10
jmp 0x11c9fad7
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
push ecx
push str..doc
mov ecx, 0x1212b5c0
call fcn.11d70140
jmp 0x11c9fad7
cmp dword [ebp + 0x38], ebx
jbe 0x11c9fad7
mov edx, dword [ebp + 0x34]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov eax, dword [edx]
lea edx, [esp + 0x24]
push edx
push eax
mov esi, 1
call fcn.11de4370
mov eax, dword [0x12133f80]
add esp, 0x10
cmp eax, ebx
je 0x11c9fad7
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x38]
mov edx, dword [ecx]
mov ecx, 0x1212b458
push edx
push eax
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_cur_GetOpenedEncryptDocNum__lu__m_arrOpenedEncryptDoc_0___s_
push str.CurrentFileMgr
push esi
call fcn.11ca5810
add esp, 0x18
mov edi, dword [esp + 0x14]
push 1
push 0x1212c678
lea ecx, [esp + 0x44]
call fcn.11e8c590
push edi
mov ecx, 0x1212c698
mov byte [esp + 0x7c], 5
call fcn.11e7f500
xor eax, eax
cmp esi, ebx
setne al
mov dword [0x1212c69c], eax
mov dword [0x1212c6a0], esi
mov dword [0x1212c6a4], ebx
mov dword [0x1212c6a8], ebx
mov dword [0x1212c6ac], ebx
mov dword [0x1212c6b0], ebx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 3
call fcn.11e8c5f0
xor eax, eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x49], eax
push 1
mov dword [esp + 0x51], eax
push ecx
mov dword [esp + 0x59], eax
push ebx
mov dword [esp + 0x61], eax
mov ecx, 0x1212b5c0
mov word [esp + 0x65], ax
mov byte [esp + 0x54], bl
mov byte [esp + 0x67], al
call fcn.11d70d90
lea edx, [esp + 0x48]
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.11de4160
lea ecx, [esp + 0x20]
push ecx
call fcn.11de4290
mov eax, dword [0x12133f80]
add esp, 0xc
cmp eax, ebx
je 0x11c9fbae
mov edx, dword [esp + 0x14]
push esi
push edx
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_cur_file__s__bEncrypt__d__
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x18
mov edi, dword [esp + 0x80]
push ebx
lea eax, [esp + 0x28]
push ebx
push eax
push ebx
push ebx
lea ecx, [esp + 0x94]
push ebx
push ecx
mov ecx, 0x1212b5c0
call fcn.11c9f420
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 3
call fcn.11e7f280
cmp dword [esp + 0x24], ebx
jne 0x11c9ff7f
mov dword [esp + 0x20], 1
jmp 0x11c9ff7f
cmp eax, ebx
je 0x11c9fc4f
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x48]
push ebx
push edx
mov ecx, 0x1212b5c0
call fcn.11c9f420
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, 0x1212b458
mov byte [esp + 0x80], 7
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_not_current_open_file__wstrFileFullName__s__curOpenfile__s_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x18
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 3
call fcn.11e7f280
push 2
lea ecx, [esp + 0x4c]
call fcn.11e15fa0
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 8
call fcn.11e16080
mov edx, dword [esp + 0x14]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
mov byte [esp + 0x9c], 9
call fcn.11ede9a0
add esp, 0x24
test eax, eax
je 0x11c9fd69
lea ecx, [esp + 0x80]
mov dword [esp + 0x24], 1
call fcn.11e923e0
lea eax, [esp + 0x1c]
push ebx
lea ecx, [esp + 0x84]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
lea eax, [esp + 0x40]
push ebx
push eax
push edi
mov ecx, 0x1212b028
mov byte [esp + 0x94], 0xa
call fcn.11d0a950
mov esi, eax
mov eax, dword [0x12133f80]
cmp eax, ebx
je 0x11c9fd03
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push ecx
push esi
push edx
push edi
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_lpwszFileName__s__Encrypted__d__bRet__d__dwError__d_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x20
cmp esi, ebx
je 0x11c9fd53
cmp dword [esp + 0x30], ebx
jne 0x11c9fd53
lea ecx, [esp + 0x80]
call fcn.11e925e0
cmp eax, 0x14
jb 0x11c9fd4b
lea ecx, [esp + 0x80]
call fcn.11e92ce0
push eax
mov ecx, 0x1212b5c0
call fcn.11d68820
test eax, eax
jne 0x11c9fd4b
cmp dword [esp + 0x2c], ebx
je 0x11c9fd45
cmp dword [esp + 0x28], ebx
je 0x11c9fd4b
mov dword [esp + 0x20], ebx
jmp 0x11c9fd53
mov dword [esp + 0x20], 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 9
call fcn.11e92540
jmp 0x11c9ff63
push ebx
push ebx
push edi
mov ecx, 0x1212b5c0
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
call fcn.11d7b650
test eax, eax
jne 0x11ca014c
push edi
call fcn.11cbc4e0
add esp, 4
test eax, eax
jne 0x11ca014c
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x11c9ff63
mov ecx, 0x1212b458
xor esi, esi
call fcn.11df4470
test eax, eax
je 0x11c9fe31
push 0x12024f28
lea ecx, [esp + 0x18]
call fcn.11e83e40
test eax, eax
je 0x11c9fde3
push 0x12024f1c
lea ecx, [esp + 0x18]
call fcn.11e83e40
test eax, eax
jne 0x11c9fe31
mov ecx, 0x1212b5c0
mov esi, 1
call fcn.11daa3c0
test eax, eax
jne 0x11c9fe16
cmp dword [ebp + 0x38], ebx
je 0x11c9fe16
mov ecx, dword [ebp + 0x34]
lea edx, [esp + 0x18]
push ebx
push edx
mov eax, dword [ecx]
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.11de4370
add esp, 0x10
jmp 0x11c9fe85
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push edx
push eax
push str..doc
mov ecx, 0x1212b5c0
call fcn.11d70140
jmp 0x11c9fe85
cmp dword [ebp + 0x38], ebx
jbe 0x11c9fe85
mov ecx, dword [ebp + 0x34]
lea edx, [esp + 0x18]
push ebx
push edx
mov eax, dword [ecx]
lea ecx, [esp + 0x24]
push ecx
push eax
mov esi, 1
call fcn.11de4370
mov eax, dword [0x12133f80]
add esp, 0x10
cmp eax, ebx
je 0x11c9fe85
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x38]
mov ecx, dword [edx]
push ecx
push eax
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_GetOpenedEncryptDocNum__lu__m_arrOpenedEncryptDoc_0___s_
push str.CurrentFileMgr
push esi
call fcn.11ca5810
add esp, 0x18
mov edi, dword [esp + 0x14]
push 1
push 0x1212c678
lea ecx, [esp + 0x44]
call fcn.11e8c590
push edi
mov ecx, 0x1212c698
mov byte [esp + 0x7c], 0xb
call fcn.11e7f500
xor eax, eax
cmp esi, ebx
setne al
mov dword [0x1212c69c], eax
mov dword [0x1212c6a0], esi
mov dword [0x1212c6a4], ebx
mov dword [0x1212c6a8], ebx
mov dword [0x1212c6ac], ebx
mov dword [0x1212c6b0], ebx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 9
call fcn.11e8c5f0
xor edx, edx
lea eax, [esp + 0x5c]
mov dword [esp + 0x5d], edx
push 1
mov dword [esp + 0x65], edx
push eax
mov dword [esp + 0x6d], edx
push ebx
mov dword [esp + 0x75], edx
mov ecx, 0x1212b5c0
mov word [esp + 0x79], dx
mov byte [esp + 0x68], bl
mov byte [esp + 0x7b], dl
call fcn.11d70d90
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.11de4160
lea eax, [esp + 0x20]
push eax
call fcn.11de4290
mov eax, dword [0x12133f80]
add esp, 0xc
cmp eax, ebx
je 0x11c9ff5c
mov ecx, dword [esp + 0x14]
push esi
push ecx
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_notcur_file__s__bEncrypt__d__
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x18
mov edi, dword [esp + 0x80]
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 8
call fcn.11e16090
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 3
call fcn.11e15fd0
cmp dword [0x12133f80], ebx
je 0x11c9ffb1
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push ecx
push edx
push edi
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_lpwszFileName__s__bIsCurrentOpenedEncryptFile__d__bCanSave__d___
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x1c
cmp dword [esp + 0x20], ebx
je 0x11ca0166
mov ecx, 0x1212b458
xor esi, esi
call fcn.11df5040
test eax, eax
jne 0x11c9ffd5
mov ecx, 0x1212b5c0
call fcn.11da8900
mov ecx, 0x1212b458
call fcn.11df5090
test eax, eax
je 0x11c9ffec
push ebx
call fcn.11d58d90
add esp, 4
mov eax, dword [esp + 0x84]
cmp eax, ebx
je 0x11ca007b
cmp dword [eax], 0x10
jb 0x11ca007b
cmp dword [0x12133f80], ebx
je 0x11ca002f
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
push edx
mov ecx, 0x1212b458
call fcn.11ec4a10
push eax
push str.__s__CCurrentFileMgr::OnDocBeforeSave_CurrentName__s__NameArray__s_
push str.CurrentFileMgr
push 1
call fcn.11ca5810
add esp, 0x18
lea ecx, [esp + 0x48]
call fcn.11e84ba0
mov ecx, dword [esp + 0x84]
push ebx
lea eax, [esp + 0x4c]
push 0x12024900
mov edx, dword [ecx + 0xc]
push eax
push edx
mov byte [esp + 0x88], 0xc
call fcn.11d6f8c0
add esp, 0x10
lea eax, [esp + 0x48]
mov ecx, 0x1212b5c0
push eax
call fcn.11da89a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 3
call fcn.11e84bb0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push edx
push eax
push ecx
push edi
mov ecx, ebp
call fcn.11ca3f90
mov ecx, 0x1212b458
call fcn.11df5090
test eax, eax
je 0x11ca01bf
push str..xls
push edi
call fcn.11e9bad0
add esp, 8
test eax, eax
jne 0x11ca00e3
push str..doc
push edi
call fcn.11e9bad0
add esp, 8
test eax, eax
jne 0x11ca00e3
push 0x12024990
push edi
call fcn.11e9bad0
add esp, 8
test eax, eax
je 0x11ca01bf
push edi
lea ecx, [esp + 0x84]
call fcn.11e7eae0
push 0x1202498c
lea ecx, [esp + 0x84]
mov byte [esp + 0x7c], 0xd
call fcn.11e7fed0
mov edx, dword [esp + 0x80]
push ebx
push edx
call fcn.11e9c3e0
add esp, 8
test eax, eax
jne 0x11ca013e
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x88]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.11ca3f90
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x80]
jmp 0x11ca01ba
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push edx
push eax
push edi
mov ecx, 0x1212b5c0
call fcn.11d70140
jmp 0x11c9ff63
push 0x12119948
lea ecx, [esp + 0x84]
mov esi, 1
call fcn.11e7eae0
mov edx, dword [0x1212c7e8]
push ebx
push 0xd
push edx
lea ecx, [esp + 0x8c]
mov byte [esp + 0x84], 0xe
call fcn.11e833d0
mov eax, dword [esp + 0x80]
push esi
push ebx
push eax
mov ecx, 0x1212b158
call fcn.11dc00d0
mov byte [esp + 0x78], 3
lea ecx, [esp + 0x80]
call fcn.11e7f280
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 2
call fcn.11e92540
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], bl
call fcn.11e92540
lea ecx, [esp + 0x14]
mov dword [esp + 0x78], 0xffffffff
call fcn.11e7f280
mov ecx, dword [esp + 0x70]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x6c
ret 8