Function at 0x11ce03d0
Capabilities:
Get file size
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x11fa26d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 2
lea ecx, [esp + 0xf4]
call fcn.11e15fa0
xor ebx, ebx
push 0xffffffffffffffdd
lea ecx, [esp + 0x60]
mov dword [esp + 0x108], ebx
call fcn.11e15fa0
mov ebp, dword [esp + 0x110]
mov ecx, 0x1212adb0
push ebp
mov byte [esp + 0x108], 1
call fcn.11d481e0
cmp dword [esi + 0xb0], ebx
je 0x11ce04cb
mov esi, dword [esp + 0x10c]
cmp dword [esi + 8], 0x100222
je 0x11ce05f9
lea ecx, [esp + 0x5c]
call fcn.11e16060
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x54], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebx
je 0x11ce05c6
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esi + 0xc]
push ebp
push esi
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
call eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebx
mov esi, dword [esi + 0x14]
jmp 0x11ce225f
push ebp
mov ecx, 0x1212ae38
call fcn.11d2b3f0
mov eax, dword [esp + 0x114]
cmp eax, ebx
je 0x11ce04e5
mov eax, dword [eax]
jmp 0x11ce04ee
push ebp
call fcn.11dbba60
add esp, 4
cmp eax, ebx
je 0x11ce0601
cmp eax, 0x1a
je 0x11ce0601
cmp eax, 0x11
je 0x11ce0601
push ebx
push ebx
push ebx
mov ecx, 0x1212b5c0
call fcn.11d60760
test eax, eax
jne 0x11ce0538
mov edx, dword [esp + 0x10c]
lea ecx, [esp + 0x5c]
push ecx
push ebp
push edx
mov ecx, 0x1212ae38
call fcn.11d22390
mov esi, eax
jmp 0x11ce225f
mov esi, dword [esp + 0x10c]
cmp dword [esi + 8], 0x100222
je 0x11ce05f9
lea ecx, [esp + 0x5c]
call fcn.11e16060
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x54], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebx
je 0x11ce05c6
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esi + 0xc]
push ebp
push esi
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
call eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebx
mov esi, dword [esi + 0x14]
jmp 0x11ce225f
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11ce05f9
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11ce05f9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov esi, dword [esi + 0x14]
jmp 0x11ce225f
mov eax, dword [0x11fd6250]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], 1
mov dword [esp + 0xc0], eax
mov byte [esp + 0x104], 2
mov dword [esp + 0xc4], eax
mov byte [esp + 0x104], 3
mov dword [esp + 0xc8], eax
mov byte [esp + 0x104], 4
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], ebx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x104], 5
call fcn.11d1b630
mov byte [esp + 0x104], 6
push 0x12119948
lea ecx, [esp + 0xc4]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], ebx
call fcn.11e7f500
push 0x12119948
lea ecx, [esp + 0xc8]
call fcn.11e7f500
push 0x12119948
lea ecx, [esp + 0xcc]
call fcn.11e7f500
mov ecx, dword [0x11fd6250]
mov byte [esp + 0x104], 7
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], ecx
lea eax, [esi + 4]
push 1
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x10c], 8
call fcn.11e8c590
lea edx, [esp + 0xec]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x110], 9
push ebp
mov ecx, esi
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
call fcn.11ce02f0
test eax, eax
je 0x11ce0ffb
mov ecx, 0x1212b5c0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.11d7ef40
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
je 0x11ce08f0
push ebx
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x4c], eax
jne 0x11ce07e5
cmp dword [0x12133f80], ebx
je 0x11ce07e5
push ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Fail_to_get_decrypt_file_size._Err__x__hObject__x_
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
push ebx
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + edx*4 + 0x5c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
push edx
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
jne 0x11ce0850
cmp dword [0x12133f80], ebx
je 0x11ce0850
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4 + 0x5c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
push edx
call edi
push eax
push str.Fail_to_get_encrypt_file_size._Err__x__hEncrypt__x_
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
jmp 0x11ce0856
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [esp + 0x6c]
push eax
push ebx
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x11ce0888
cmp dword [0x12133f80], ebx
je 0x11ce0888
push ebp
call edi
push eax
push str.Fail_to_get_decrypt_file_time._Err__x__hObject__x_
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
push ebx
push ebx
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + edx*4 + 0x5c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x11ce08f0
cmp dword [0x12133f80], ebx
je 0x11ce08f0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + ecx*4 + 0x5c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
push edx
call edi
push eax
push str.Fail_to_get_encrypt_file_time._Err__x__hEncrypt__x_
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esp + 0xec]
mov dword [esp + 0x14], ebx
cmp eax, 2
jne 0x11ce0c15
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*8]
lea edx, [edx + eax*4]
mov eax, dword [edx + 0xc]
cmp eax, ebx
mov eax, dword [esp + 0x1c]
jne 0x11ce0a2e
mov edx, dword [edx + 0x5c]
lea edi, [eax + eax*2]
cmp dword [edx + edi*4 + 8], ebx
je 0x11ce0a2e
push ebp
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea eax, [esp + 0x24]
mov dword [esp + 0x24], ebx
push eax
push ebx
push ebx
push ebp
mov dword [esp + 0x38], ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [edx + ecx*4 + 0x3c]
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [edx + ecx*4 + 0x38]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.11dbc8b0
add esp, 0x10
test eax, eax
jg 0x11ce099e
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
push ebx
push ebp
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
lea edi, [edx + ecx*4]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, dword [edi + 0x30]
je 0x11ce0a26
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov dword [ecx + eax*4 + 0xc], 1
mov eax, dword [0x12133f80]
cmp eax, ebx
je 0x11ce09ee
mov eax, dword [esp + 0x10]
mov ecx, dword [0x12126854]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov edx, dword [eax + edx*4 + 0x40]
push edx
push 0x1245
push ecx
push str.__s__OnNtClose_LINE:_d_:__s_is_modified_
push str.SafeDoc
push 1
call fcn.11ca5810
add esp, 0x18
mov ecx, 0x1212b5c0
call fcn.11d7ef40
test eax, eax
je 0x11ce0a26
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x78]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push 0x1249
mov ecx, esi
call fcn.11d13a00
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*2]
lea edi, [eax + eax*2]
lea ecx, [ecx + ecx*8]
mov ecx, dword [edx + ecx*4 + 0x5c]
mov edx, dword [ecx + edi*4 + 8]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x14], edx
cmp dword [edi + 8], 0x100222
je 0x11ce0b38
lea ecx, [esp + 0x5c]
call fcn.11e16060
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], edx
push ecx
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x6c]
push edx
push ecx
push eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebx
je 0x11ce0ae1
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
push ebp
push edi
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
call eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
mov dword [edi + 0xc], eax
jmp 0x11ce0b1a
mov eax, dword [edi + 0x18]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x11ce0b1a
mov eax, dword [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
call dword [esp + 0x28]
mov dword [edi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 8]
test eax, 0x800000
je 0x11ce0b1a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [edi + 0x28], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x5c]
call fcn.11e16040
cmp dword [esp + 0x20], ebx
jne 0x11ce1114
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
lea ebx, [eax + eax*2]
lea ecx, [ecx + ecx*2]
lea edx, [ecx + ecx*8]
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + edx*4 + 0x5c]
lea ecx, [edx + ebx*4]
mov edx, dword [edx + ebx*4 + 4]
cmp edx, ebp
jne 0x11ce0bd3
cmp dword [ecx], 0xffffffff
je 0x11ce0bd3
mov edx, dword [0x1213494c]
test edx, edx
jne 0x11ce0b79
call fcn.11ed1240
mov edx, dword [0x1213494c]
test edx, edx
je 0x11ce0bcf
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*8]
mov ecx, dword [ebx + ecx*4 + 0x5c]
mov eax, dword [ecx + eax*4]
push eax
call edx
test eax, eax
je 0x11ce0bcf
mov ecx, dword [0x12133f80]
test ecx, ecx
je 0x11ce0bcf
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x12126854]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov edx, dword [eax + edx*4 + 0x40]
push edx
push ecx
push str.__s__CSafeDoc::OnNtClose__s_:_NtClose___failed_status__0x_08X_..._n
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x18
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea ebp, [eax + eax*2]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*8]
lea ebx, [edx + ecx*4 + 0x5c]
mov ecx, dword [edx + ecx*4 + 0x60]
mov edx, dword [ebx]
sub ecx, eax
dec ecx
lea ebp, [edx + ebp*4]
je 0x11ce0c0d
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*2 + 3]
shl ecx, 2
push ecx
lea ecx, [edx + eax*4]
push ecx
push ebp
call fcn.11e679d0
add esp, 0xc
dec dword [ebx + 4]
jmp 0x11ce0dd6
cmp eax, 1
lea ecx, [esp + 0x5c]
jne 0x11ce211c
call fcn.11e16060
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov edx, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x3c], ecx
push edx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x6c]
push ecx
push edx
push eax
mov dword [esp + 0x34], eax
call fcn.11e15b00
mov eax, dword [esp + 0x30]
add esp, 0x10
cmp eax, ebx
je 0x11ce0ca9
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x18]
push ebp
push edi
mov dword [edi + 0x1c], edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
call eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x74]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov dword [edi + 0xc], edx
jmp 0x11ce0ce2
mov eax, dword [edi + 0x18]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x11ce0ce2
mov eax, dword [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
call dword [esp + 0x28]
mov dword [edi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 8]
test eax, 0x800000
je 0x11ce0ce2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [edi + 0x28], eax
mov ebp, dword [edi + 0x14]
lea ecx, [esp + 0x5c]
call fcn.11e16040
cmp ebp, ebx
jne 0x11ce1118
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x1c]
mov ebp, eax
shl ebp, 4
add ebp, eax
mov eax, dword [edx + ecx*4 + 0x4c]
shl ebp, 5
mov dword [eax + ebp], ebx
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
lea ebp, [eax + edx*4 + 0x4c]
mov edx, dword [esp + 0x1c]
mov eax, edx
shl eax, 4
add eax, edx
mov edx, dword [ebp]
shl eax, 5
cmp dword [eax + edx + 0x214], ebx
jne 0x11ce0dda
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebp + 4]
mov dword [esp + 0x24], ecx
sub ebx, ecx
mov ecx, edx
dec ebx
add eax, ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0x104], 9
lea ecx, [eax + 0x210]
call fcn.11d1b5d0
mov eax, dword [esp + 0x18]
add eax, 0x220
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x11ce0d65
test ebx, ebx
je 0x11ce0dd3
mov edx, ebx
mov eax, dword [ebp]
shl edx, 4
add edx, ebx
shl edx, 5
push edx
mov edx, dword [esp + 0x28]
lea ecx, [edx + 1]
mov ebx, ecx
shl ebx, 4
add ebx, ecx
mov ecx, edx
shl ecx, 4
add ecx, edx
shl ebx, 5
shl ecx, 5
add ebx, eax
add ecx, eax
push ebx
push ecx
call fcn.11e679d0
add esp, 0xc
dec dword [ebp + 4]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx*2]
xor ebx, ebx
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
cmp dword [eax + 0x28], ebx
jne 0x11ce11d5
mov ecx, 0x1212b5c0
call fcn.11d7ee80
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x11ce1293
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
lea ebp, [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 0x20]
cmp ecx, ebx
jne 0x11ce131f
cmp dword [ebp + 0x50], ebx
jne 0x11ce0ff0
cmp dword [ebp + 0x60], ebx
jne 0x11ce0ff0
mov ebx, 1
mov dword [esp + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x1212b5c0
mov dword [ebp + 0x34], eax
call fcn.11da9350
test eax, eax
je 0x11ce0eb9
mov ecx, 0x1212b5c0
call fcn.11da8280
test eax, eax
je 0x11ce0eb9
call fcn.11dd84e0
test eax, eax
jne 0x11ce0e99
call fcn.11dd8580
test eax, eax
jne 0x11ce0e99
push eax
push eax
mov ecx, 0x1212b5c0
call fcn.11d744b0
test eax, eax
jne 0x11ce0e99
push eax
mov ecx, 0x1212b5c0
call fcn.11d87b70
test eax, eax
je 0x11ce0eb9
mov eax, dword [0x1212c758]
test eax, eax
je 0x11ce0eb9
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*4]
lea eax, [esp + 0x80]
push edx
push eax
mov ecx, esi
call fcn.11d0f3f0
mov eax, dword [esp + 0x10]
mov edi, dword [edi + 8]
cmp edi, 0x100222
je 0x11ce14ba
test ebx, ebx
je 0x11ce0f39
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
cmp dword [ecx], 0
je 0x11ce0f39
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x11ce0f39
mov edx, dword [ecx + 0x30]
test edx, edx
jne 0x11ce0f39
mov edx, dword [ecx + 0x24]
test edx, edx
jne 0x11ce0f39
add ecx, 0x40
mov dword [esp + 0x48], 1
push ecx
lea ecx, [esp + 0x3c]
call fcn.11e7f410
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ce0f35
mov ecx, dword [esp + 0x38]
mov eax, dword [0x12126854]
push 1
push ecx
push eax
push str.__s__CSafeDoc::OnNtClose__s__bRenameIpgsd__lu___n
push str.IPG_6058
push 4
call fcn.11ca5810
add esp, 0x18
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 2
add edx, ecx
mov edi, dword [edx + 0xc]
test edi, edi
je 0x11ce14e0
test ebx, ebx
jne 0x11ce0f90
mov eax, dword [edx + 0x44]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x11ce182f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x11ce17c4
mov edi, dword [edx + 0x60]
xor ecx, ecx
test edi, edi
jle 0x11ce0f90
mov eax, dword [edx + 0x5c]
add eax, 8
cmp dword [eax], 0
jne 0x11ce17f7
inc ecx
add eax, 0xc
cmp ecx, edi
jl 0x11ce0f7f
lea ecx, [esp + 0x80]
push edx
push ecx
mov ecx, esi
mov edi, 1
call fcn.11d0f3f0
mov eax, dword [esp + 0x10]
xor ecx, ecx
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov dword [eax + edx*4 + 0xc], ecx
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov dword [eax + edx*4 + 0x10], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov dword [edx + ecx*4 + 0x24], edi
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce152f
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x11ce0ebd
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
push ebx
push ebx
push ebx
mov ecx, 0x1212b5c0
call fcn.11d60760
test eax, eax
jne 0x11ce1a63
mov eax, dword [esp + 0x10c]
lea edx, [esp + 0x5c]
push edx
push ebp
push eax
mov ecx, 0x1212ae38
call fcn.11d22390
lea ecx, [esp + 0x38]
mov ebp, eax
mov byte [esp + 0x104], 7
call fcn.11e7f280
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x104], 0x18
cmp eax, ebx
je 0x11ce1068
push eax
call fcn.11e679b1
add esp, 4
mov esi, dword [esp + 0xcc]
mov byte [esp + 0x104], 0x17
cmp esi, ebx
je 0x11ce10a9
mov eax, dword [esp + 0xd0]
cmp eax, ebx
je 0x11ce10a0
lea edi, [eax]
push ebx
mov ecx, esi
call fcn.11d1c5b0
add esi, 0x220
dec edi
jne 0x11ce1088
mov esi, dword [esp + 0xcc]
push esi
call fcn.11e679b1
add esp, 4
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 0x16
call fcn.11e7f280
lea ecx, [esp + 0xc4]
mov byte [esp + 0x104], 0x15
call fcn.11e7f280
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 1
call fcn.11e7f280
lea ecx, [esp + 0x5c]
mov byte [esp + 0x104], 0
call fcn.11e15fd0
lea ecx, [esp + 0xf0]
mov dword [esp + 0x104], 0xffffffff
call fcn.11e15fd0
mov eax, ebp
jmp 0x11ce2289
mov ebp, dword [esp + 0x20]
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x104], 7
call fcn.11e7f280
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x104], 0x13
cmp eax, ebx
je 0x11ce1156
push eax
call fcn.11e679b1
add esp, 4
lea ecx, [esp + 0xcc]
mov byte [esp + 0x104], 0x12
call fcn.11d1b5f0
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 0x11
call fcn.11e7f280
lea ecx, [esp + 0xc4]
mov byte [esp + 0x104], 0x10
call fcn.11e7f280
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 1
call fcn.11e7f280
lea ecx, [esp + 0x5c]
mov byte [esp + 0x104], 0
call fcn.11e15fd0
lea ecx, [esp + 0xf0]
mov dword [esp + 0x104], 0xffffffff
call fcn.11e15fd0
mov eax, ebp
jmp 0x11ce2289
cmp dword [0x12133f80], ebx
je 0x11ce1210
mov ebx, dword [eax + 0xc]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x50]
mov edi, dword [0x12126854]
push ebx
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x40]
push ebx
push ecx
push edx
push eax
push edi
push str.Proc:__s__NtClose:__s__had_delete__maphandle__d___handle__d___bInvalid__d___bWriten__d_
push str.SafeDocDelete
push 4
call fcn.11ca5810
mov ecx, dword [esp + 0x34]
add esp, 0x24
mov edi, dword [esi + 0x18]
mov dword [esp + 0x24], ecx
sub edi, ecx
mov eax, dword [esi + 0x14]
lea ecx, [ecx + ecx*2]
dec edi
mov dword [esp + 0x14], 0
lea ebx, [ecx + ecx*8]
shl ebx, 2
mov ebp, ebx
add ebp, eax
mov ecx, ebp
call fcn.11cdac20
mov eax, dword [esp + 0x14]
add ebp, 0x6c
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x11ce1232
test edi, edi
je 0x11ce1276
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x14]
lea edi, [edi + edi*2]
lea ecx, [ecx + ecx*2 + 3]
lea edx, [edi + edi*8]
shl edx, 2
lea ecx, [ecx + ecx*8]
push edx
lea edx, [eax + ecx*4]
add eax, ebx
push edx
push eax
call fcn.11e679d0
add esp, 0xc
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0x50]
dec eax
mov dword [esi + 0x18], eax
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce1965
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
lea edx, [ecx + eax*4]
lea eax, [esp + 0x80]
push edx
push eax
mov ecx, esi
call fcn.11d0f3f0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
mov dword [edx + ecx*4 + 0xc], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov dword [ecx + eax*4 + 0x10], ebx
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov dword [eax + edx*4 + 0x24], 1
mov eax, dword [0x12133f80]
cmp eax, ebx
je 0x11ce1309
mov eax, dword [0x12126854]
push eax
push str._s_is_forced_to_merge_documents
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x10
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce1bd5
cmp dword [ebp + 0x24], ebx
je 0x11ce1360
cmp dword [0x12133f80], ebx
je 0x11ce134a
mov ecx, dword [ebp + 0x40]
mov eax, dword [0x12126854]
push ecx
push eax
push str.__s__CSafeDoc::OnNtClose_Delete_File__s__Failed__Merging__bInvalid_
push 0x120349f0
push 4
call fcn.11ca5810
add esp, 0x14
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce1965
cmp dword [ebp + 0x50], ebx
jne 0x11ce146c
cmp dword [ebp + 0x60], ebx
jne 0x11ce146c
mov eax, dword [ebp + 0x44]
mov ebp, dword [ebp + 0x40]
push eax
push ebp
mov ecx, 0x1212ae60
call fcn.11d599e0
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
mov ecx, dword [esi + 0x14]
cmp dword [ecx + edx*4 + 8], ebx
je 0x11ce13df
call fcn.11dd8bc0
test eax, eax
mov eax, dword [esp + 0x10]
je 0x11ce13df
lea eax, [eax + eax*2]
push 2
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + edx*4 + 0x44]
lea eax, [eax + edx*4]
push ecx
mov ecx, 0x1212ae60
mov eax, dword [eax + 0x40]
push eax
call fcn.11d592e0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
lea ecx, [edx + ecx*4 + 0x44]
call fcn.11e7eff0
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
push 0
lea eax, [eax + eax*8]
mov edx, dword [ecx + eax*4 + 0x44]
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x48]
mov eax, dword [eax + 0x2c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.11ce3750
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x24], eax
sub edi, eax
lea eax, [eax + eax*2]
dec edi
mov dword [esp + 0x14], 0
lea ebp, [eax + eax*8]
shl ebp, 2
add ebx, ebp
mov ecx, ebx
call fcn.11cdac20
mov eax, dword [esp + 0x14]
add ebx, 0x6c
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x11ce1425
test edi, edi
je 0x11ce1469
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x14]
lea edi, [edi + edi*2]
lea ecx, [ecx + ecx*2 + 3]
lea edx, [edi + edi*8]
shl edx, 2
lea ecx, [ecx + ecx*8]
push edx
lea edx, [eax + ecx*4]
add eax, ebp
push edx
push eax
call fcn.11e679d0
add esp, 0xc
dec dword [esi + 0x18]
mov ecx, 0x1212b5c0
call fcn.11d7ef40
test eax, eax
je 0x11ce14a4
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x78]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push 0x12e4
mov ecx, esi
call fcn.11d13a00
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce1965
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
xor edi, edi
lea eax, [eax + eax*8]
mov dword [ecx + eax*4 + 0x14], 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce152f
test ebx, ebx
je 0x11ce1783
mov edi, dword [edx + 0x24]
test edi, edi
je 0x11ce15e6
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ce151a
mov edx, dword [edx + 0x40]
mov eax, dword [0x12126854]
push edx
push eax
push str.__s__CSafeDoc::OnNtClose_Delete_File__s__Failed__Merging_
push 0x120349f0
push 4
call fcn.11ca5810
add esp, 0x14
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
mov edi, dword [esp + 0x2c]
test ebx, ebx
je 0x11ce1bcb
test edi, edi
jne 0x11ce1bd3
mov ecx, 0x1212b5c0
call fcn.11da9350
test eax, eax
je 0x11ce1840
mov ecx, 0x1212b5c0
call fcn.11da8280
test eax, eax
je 0x11ce1840
call fcn.11dd84e0
test eax, eax
jne 0x11ce15a5
call fcn.11dd8580
test eax, eax
jne 0x11ce15a5
push eax
push eax
mov ecx, 0x1212b5c0
call fcn.11d744b0
test eax, eax
jne 0x11ce15a5
push eax
mov ecx, 0x1212b5c0
call fcn.11d87b70
test eax, eax
je 0x11ce1840
mov eax, dword [0x1212c758]
test eax, eax
je 0x11ce1840
mov eax, dword [esp + 0x98]
test eax, eax
je 0x11ce1840
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x11ce1840
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x11ce1840
mov edx, dword [esp + 0xc0]
mov ecx, esi
push edx
call fcn.11d1b000
jmp 0x11ce1840
mov edi, dword [edx + 0x44]
mov ebp, dword [edi - 8]
test ebp, ebp
jne 0x11ce1650
mov edi, dword [esi + 0x18]
mov ebp, eax
sub edi, eax
mov eax, dword [esi + 0x14]
dec edi
add ecx, eax
mov ebx, ecx
mov dword [esp + 0x14], 0
mov ecx, ebx
call fcn.11cdac20
mov eax, dword [esp + 0x14]
add ebx, 0x6c
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x11ce1607
test edi, edi
je 0x11ce1778
mov eax, dword [esi + 0x14]
lea edi, [edi + edi*2]
lea ecx, [ebp + ebp*2 + 3]
lea edx, [edi + edi*8]
shl edx, 2
lea ecx, [ecx + ecx*8]
push edx
lea edx, [eax + ecx*4]
lea ecx, [ebp + ebp*2]
push edx
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*4]
push edx
jmp 0x11ce1770
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x40]
push ecx
push eax
mov ecx, 0x1212b5c0
call fcn.11d73dc0
test eax, eax
je 0x11ce1783
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + edx*4 + 0x44]
lea eax, [eax + edx*4]
push ecx
mov ecx, 0x1212ae60
mov eax, dword [eax + 0x40]
push eax
call fcn.11d599e0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
mov edi, dword [edx + ecx*4 + 8]
test edi, edi
je 0x11ce16e9
call fcn.11dd8bc0
test eax, eax
mov eax, dword [esp + 0x10]
je 0x11ce16e9
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
push 2
lea eax, [eax + eax*8]
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x40]
push ecx
push eax
mov ecx, 0x1212ae60
call fcn.11d592e0
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x14]
lea ecx, [eax + edx*4 + 0x44]
call fcn.11e7eff0
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
mov dword [esp + 0x44], 1
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*4]
lea ecx, [esp + 0x80]
push eax
push ecx
mov ecx, esi
call fcn.11d0f3f0
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x18]
mov dword [esp + 0x24], eax
sub edi, eax
lea ebp, [eax + eax*2]
mov eax, dword [esi + 0x14]
dec edi
mov dword [esp + 0x14], 0
lea ebp, [ebp + ebp*8]
shl ebp, 2
mov ebx, ebp
add ebx, eax
mov ecx, ebx
call fcn.11cdac20
mov eax, dword [esp + 0x14]
add ebx, 0x6c
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x14], eax
jne 0x11ce1734
test edi, edi
je 0x11ce1778
lea edi, [edi + edi*2]
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*8]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x28]
lea ecx, [ecx + ecx*2 + 3]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*4]
add eax, ebp
push ecx
push eax
call fcn.11e679d0
add esp, 0xc
mov eax, dword [esi + 0x18]
mov ebx, dword [esp + 0x18]
dec eax
mov dword [esi + 0x18], eax
mov ecx, 0x1212b5c0
call fcn.11d7ef40
test eax, eax
je 0x11ce151a
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x6c]
lea eax, [esp + 0x78]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push 0x1346
mov ecx, esi
call fcn.11d13a00
jmp 0x11ce151a
mov ecx, 0x1212b5c0
call fcn.11d7ef40
test eax, eax
je 0x11ce182f
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x6c]
lea eax, [esp + 0x78]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push 0x1358
jmp 0x11ce1828
mov ecx, 0x1212b5c0
call fcn.11d7ef40
test eax, eax
je 0x11ce182f
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x6c]
lea eax, [esp + 0x78]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push 0x136d
mov ecx, esi
call fcn.11d13a00
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
mov eax, dword [esp + 0x48]
test eax, eax
je 0x11ce190e
mov ecx, 0x1212b5c0
call fcn.11d8c8b0
test eax, eax
jne 0x11ce190e
push 0xffffffffffffffdd
lea ecx, [esp + 0x54]
call fcn.11e15fa0
mov edx, dword [esp + 0x38]
mov bl, 0x2c
push 0x1204c22c
mov byte [esp + 0x108], bl
mov edi, dword [edx - 8]
call fcn.11e67d05
add eax, edi
add esp, 4
cmp eax, 0x104
jae 0x11ce18fd
lea eax, [esp + 0x38]
push 0x1204c22c
lea ecx, [esp + 0x1c]
push eax
push ecx
call fcn.11e7f9f0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push edx
push eax
mov byte [esp + 0x10c], 0x2d
call fcn.11dbbb00
mov ecx, dword [0x12133f80]
add esp, 8
test ecx, ecx
je 0x11ce18ed
mov edx, dword [esp + 0x18]
mov ecx, dword [0x12126854]
push edx
mov edx, dword [esp + 0x3c]
push edx
push eax
push ecx
push str.__s__CSafeDoc::OnNtClose_bRenameSuc__lu__wstrSrcFile__s__wstrDstFile__s___n
push str.IPG_6058
push 4
call fcn.11ca5810
add esp, 0x1c
lea ecx, [esp + 0x18]
mov byte [esp + 0x104], bl
call fcn.11e7f280
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e15fd0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x11ce1965
push 0xffffffffffffffdd
lea ecx, [esp + 0x54]
call fcn.11e15fa0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xc8]
xor eax, eax
mov byte [esp + 0x104], 0x2e
test ecx, ecx
mov ecx, dword [esp + 0xac]
sete al
push eax
mov eax, dword [esp + 0xc8]
push ecx
push edx
push eax
mov ecx, esi
call fcn.11ce3750
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e15fd0
lea ecx, [esp + 0x38]
mov byte [esp + 0x104], 7
call fcn.11e7f280
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x104], 0x32
test eax, eax
je 0x11ce1992
push eax
call fcn.11e679b1
add esp, 4
mov esi, dword [esp + 0xcc]
mov bl, 0x31
test esi, esi
mov byte [esp + 0x104], bl
je 0x11ce19f8
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x24], esi
test eax, eax
je 0x11ce19ef
lea edi, [eax]
mov eax, dword [esi + 0x210]
mov byte [esp + 0x104], bl
test eax, eax
je 0x11ce19db
mov ecx, dword [esi + 0x214]
push eax
mov dword [esp + 0x28], ecx
call fcn.11e679b1
add esp, 4
add esi, 0x220
dec edi
mov dword [esp + 0x24], esi
jne 0x11ce19b7
mov esi, dword [esp + 0xcc]
push esi
call fcn.11e679b1
add esp, 4
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 0x30
call fcn.11e7f280
lea ecx, [esp + 0xc4]
mov byte [esp + 0x104], 0x2f
call fcn.11e7f280
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 1
call fcn.11e7f280
lea ecx, [esp + 0x5c]
mov byte [esp + 0x104], 0
call fcn.11e15fd0
lea ecx, [esp + 0xf0]
mov dword [esp + 0x104], 0xffffffff
call fcn.11e15fd0
xor eax, eax
jmp 0x11ce2289
mov esi, dword [esp + 0x10c]
cmp dword [esi + 8], 0x100222
je 0x11ce1b26
lea ecx, [esp + 0x5c]
call fcn.11e16060
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x20]
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x3c]
add esp, 0x10
cmp eax, ebx
je 0x11ce1af3
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x20]
push ebp
push esi
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
call eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ecx
jmp 0x11ce1b26
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11ce1b26
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11ce1b26
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov esi, dword [esi + 0x14]
lea ecx, [esp + 0x38]
mov byte [esp + 0x104], 7
call fcn.11e7f280
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x104], 0x1d
cmp eax, ebx
je 0x11ce1b56
push eax
call fcn.11e679b1
add esp, 4
mov edi, dword [esp + 0xcc]
mov byte [esp + 0x104], 0x1c
cmp edi, ebx
je 0x11ce1baa
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x24], edi
cmp eax, ebx
je 0x11ce1ba1
lea ebx, [eax]
lea ecx, [edi + 0x210]
mov byte [esp + 0x104], 0x1c
call fcn.11d1b5d0
add edi, 0x220
dec ebx
mov dword [esp + 0x24], edi
jne 0x11ce1b7a
mov edi, dword [esp + 0xcc]
push edi
call fcn.11e679b1
add esp, 4
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 0x1b
call fcn.11e7f280
mov byte [esp + 0x104], 0x1a
jmp 0x11ce223f
test edi, edi
je 0x11ce1840
xor ebx, ebx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x80]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x34], ebx
call fcn.11ce22b0
mov dword [esp + 0x40], eax
lea eax, [esi + 4]
push 1
push eax
lea ecx, [esp + 0x58]
call fcn.11e8c590
mov eax, dword [esi + 0x18]
xor ebp, ebp
cmp eax, ebx
mov byte [esp + 0x104], 0x20
jle 0x11ce1c47
xor edi, edi
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0xc0]
push ecx
mov eax, dword [edi + edx + 0x40]
push eax
call fcn.11e67d22
add esp, 8
test eax, eax
jne 0x11ce1c3c
mov edx, dword [esi + 0x14]
cmp dword [edi + edx + 0x20], ebx
je 0x11ce1cd0
mov eax, dword [esi + 0x18]
inc ebp
add edi, 0x6c
cmp ebp, eax
jl 0x11ce1c13
cmp dword [0x12133f80], ebx
je 0x11ce1c71
mov edx, dword [esp + 0xc0]
mov eax, dword [0x12126854]
push edx
push eax
push str.__s__CSafeDoc::OnNtClose__s_:_After_merge_file_not_find_from_m_arrMappings__n
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esi + 0x18]
xor edi, edi
cmp eax, ebx
jle 0x11ce1cba
xor ebp, ebp
cmp dword [0x12133f80], ebx
je 0x11ce1caf
mov ecx, dword [esi + 0x14]
mov eax, dword [0x12126854]
mov edx, dword [ecx + ebp + 0x40]
mov ecx, dword [esp + 0xc0]
push edx
push edi
push ecx
push eax
push str.__s__CSafeDoc::OnNtClose__s_:_m_arrMappings__d_.EncryptFile__s_n
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x1c
mov eax, dword [esi + 0x18]
inc edi
add ebp, 0x6c
cmp edi, eax
jl 0x11ce1c7c
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
jmp 0x11ce190e
cmp ebp, 0xffffffff
je 0x11ce1c47
cmp dword [esp + 0x2c], ebx
je 0x11ce1e56
mov ecx, dword [esi + 0x14]
lea eax, [ebp + ebp*2]
lea eax, [eax + eax*8]
shl eax, 2
mov dword [esp + 0x30], eax
add eax, ecx
cmp dword [eax + 0x60], ebx
jne 0x11ce1e56
cmp dword [eax + 0x50], ebx
jne 0x11ce1e56
cmp dword [esp + 0x40], ebx
je 0x11ce1d48
cmp dword [esp + 0x88], ebx
je 0x11ce1d48
call fcn.11dd8bc0
test eax, eax
je 0x11ce1d48
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
push 2
push edx
push eax
mov ecx, 0x1212ae60
call fcn.11d592e0
lea ecx, [esp + 0xc4]
call fcn.11e7eff0
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
mov eax, dword [esp + 0x30]
sub ebx, ebp
dec ebx
add edi, eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], 0
mov eax, dword [edi + 0x5c]
mov byte [esp + 0x104], 0x24
test eax, eax
je 0x11ce1d8e
mov ecx, dword [edi + 0x60]
push eax
mov dword [esp + 0x40], ecx
call fcn.11e679b1
add esp, 4
mov ecx, dword [edi + 0x4c]
mov byte [esp + 0x104], 0x23
test ecx, ecx
je 0x11ce1dd8
mov eax, dword [edi + 0x50]
mov ebx, ecx
mov edx, eax
dec eax
test edx, edx
je 0x11ce1dc8
inc eax
mov dword [esp + 0x14], eax
push 0
mov ecx, ebx
call fcn.11d1c5b0
mov eax, dword [esp + 0x14]
add ebx, 0x220
dec eax
mov dword [esp + 0x14], eax
jne 0x11ce1dae
mov eax, dword [edi + 0x4c]
push eax
call fcn.11e679b1
mov ebx, dword [esp + 0x28]
add esp, 4
lea ecx, [edi + 0x48]
mov byte [esp + 0x104], 0x22
call fcn.11e7f280
lea ecx, [edi + 0x44]
mov byte [esp + 0x104], 0x21
call fcn.11e7f280
lea ecx, [edi + 0x40]
mov byte [esp + 0x104], 0x20
call fcn.11e7f280
mov eax, dword [esp + 0x20]
add edi, 0x6c
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], eax
jne 0x11ce1d6f
test ebx, ebx
je 0x11ce1e4e
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*2]
lea ebp, [ebp + ebp*2 + 3]
lea edx, [ecx + ecx*8]
shl edx, 2
lea ecx, [ebp + ebp*8]
push edx
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x34]
add eax, ecx
push edx
push eax
call fcn.11e679d0
add esp, 0xc
dec dword [esi + 0x18]
jmp 0x11ce1cba
cmp dword [esp + 0x40], ebx
je 0x11ce20aa
cmp dword [esp + 0x8c], ebx
jne 0x11ce2026
mov edx, dword [esi + 0x14]
lea eax, [ebp + ebp*2]
lea edi, [eax + eax*8]
shl edi, 2
mov dword [esp + 0x30], edi
mov ecx, dword [edx + edi + 0x60]
lea eax, [edx + edi]
cmp ecx, ebx
jne 0x11ce2026
cmp dword [eax + 0x50], ebx
jne 0x11ce2026
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
push eax
push ecx
mov ecx, 0x1212b5c0
call fcn.11d73dc0
test eax, eax
jne 0x11ce1ec4
mov edx, dword [esi + 0x14]
mov eax, dword [edx + edi + 0x44]
cmp dword [eax - 8], ebx
jne 0x11ce2026
cmp dword [esp + 0x88], ebx
je 0x11ce1efe
call fcn.11dd8bc0
test eax, eax
je 0x11ce1efe
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
push 2
push ecx
push edx
mov ecx, 0x1212ae60
call fcn.11d592e0
lea ecx, [esp + 0xc4]
call fcn.11e7eff0
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
mov eax, dword [esp + 0x30]
sub ebx, ebp
dec ebx
add edi, eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], 0
mov eax, dword [edi + 0x5c]
mov byte [esp + 0x104], 0x29
test eax, eax
je 0x11ce1f44
mov ecx, dword [edi + 0x60]
push eax
mov dword [esp + 0x28], ecx
call fcn.11e679b1
add esp, 4
mov ecx, dword [edi + 0x4c]
mov byte [esp + 0x104], 0x28
test ecx, ecx
je 0x11ce1fa0
mov eax, dword [edi + 0x50]
mov ebx, ecx
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x24], ebx
je 0x11ce1f90
inc eax
mov dword [esp + 0x14], eax
lea ecx, [ebx + 0x210]
mov byte [esp + 0x104], 0x28
call fcn.11d1b5d0
mov eax, dword [esp + 0x14]
add ebx, 0x220
dec eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
jne 0x11ce1f68
mov eax, dword [edi + 0x4c]
push eax
call fcn.11e679b1
mov ebx, dword [esp + 0x38]
add esp, 4
lea ecx, [edi + 0x48]
mov byte [esp + 0x104], 0x27
call fcn.11e7f280
lea ecx, [edi + 0x44]
mov byte [esp + 0x104], 0x26
call fcn.11e7f280
lea ecx, [edi + 0x40]
mov byte [esp + 0x104], 0x20
call fcn.11e7f280
mov eax, dword [esp + 0x20]
add edi, 0x6c
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], eax
jne 0x11ce1f25
test ebx, ebx
je 0x11ce1e4e
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*2]
lea ebp, [ebp + ebp*2 + 3]
lea edx, [ecx + ecx*8]
shl edx, 2
lea ecx, [ebp + ebp*8]
push edx
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x34]
add eax, ecx
push edx
push eax
call fcn.11e679d0
mov eax, dword [esi + 0x18]
add esp, 0xc
dec eax
mov dword [esi + 0x18], eax
jmp 0x11ce1cba
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x8c]
lea ebp, [ebp + ebp*2]
lea eax, [ebp + ebp*8]
shl eax, 2
mov dword [edx + eax + 0xc], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x98]
mov dword [edx + eax + 0x18], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x9c]
mov dword [edx + eax + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0xac]
mov dword [edx + eax + 0x2c], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0xb0]
mov dword [edx + eax + 0x30], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0xb8]
mov dword [edx + eax + 0x38], ecx
mov ecx, dword [esp + 0xbc]
mov dword [edx + eax + 0x3c], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x88]
mov dword [edx + eax + 8], ecx
mov edx, dword [esi + 0x14]
mov dword [edx + eax + 0x24], ebx
jmp 0x11ce1cba
cmp dword [0x12133f80], ebx
je 0x11ce20dc
mov edx, dword [esi + 0x14]
mov ecx, dword [0x12126854]
lea eax, [ebp + ebp*2]
lea eax, [eax + eax*8]
mov eax, dword [edx + eax*4 + 0x40]
push eax
push ecx
push str.__s__CSafeDoc::OnNtClose__s_:_Merge_Failed__n
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x14
mov edx, dword [esi + 0x14]
lea ebp, [ebp + ebp*2]
mov ecx, 1
lea eax, [ebp + ebp*8]
shl eax, 2
mov dword [edx + eax + 0xc], ecx
mov edx, dword [esp + 0x90]
cmp edx, ebx
jne 0x11ce2109
mov edx, dword [esi + 0x14]
cmp dword [edx + eax + 0x10], ebx
jne 0x11ce2109
xor ecx, ecx
mov edx, dword [esi + 0x14]
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx + eax + 0x24], ebx
jmp 0x11ce1cba
call fcn.11e16060
mov esi, dword [esp + 0x10c]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x30], ebx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], eax
lea edx, [esp + 0x4c]
lea eax, [esp + 0x30]
push edx
push eax
push edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x24], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x11ce219b
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
push ebp
push esi
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
call eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ecx
jmp 0x11ce21ce
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11ce21ce
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11ce21ce
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov esi, dword [esi + 0x14]
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 8
call fcn.11e8c5f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x104], 7
call fcn.11e7f280
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x104], 0xe
cmp eax, ebx
je 0x11ce220f
push eax
call fcn.11e679b1
add esp, 4
lea ecx, [esp + 0xcc]
mov byte [esp + 0x104], 0xd
call fcn.11d1b5f0
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 0xc
call fcn.11e7f280
mov byte [esp + 0x104], 0xb
lea ecx, [esp + 0xc4]
call fcn.11e7f280
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 1
call fcn.11e7f280
lea ecx, [esp + 0x5c]
mov byte [esp + 0x104], 0
call fcn.11e15fd0
lea ecx, [esp + 0xf0]
mov dword [esp + 0x104], 0xffffffff
call fcn.11e15fd0
mov eax, esi
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf8
ret 0xc