Function at 0x12ecbb60
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x130668e6
push eax
mov eax, 0x2904
mov dword fs:[0], esp
call fcn.12f5d910
push ebx
push ebp
mov ebp, dword [esp + 0x291c]
push esi
xor ebx, ebx
mov esi, ecx
cmp ebp, ebx
mov dword [esp + 0x28], esi
je 0x12ecc779
push ebp
call fcn.12f5c51d
add esp, 4
test eax, eax
je 0x12ecc779
push edi
mov edi, dword [esp + 0x292c]
mov eax, dword [edi]
cmp eax, ebx
je 0x12ecbbc3
push eax
call fcn.12f5c050
add esp, 4
mov dword [edi], ebx
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0xe96]
mov word [esp + 0xe94], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0x46e]
mov word [esp + 0x46c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0x14ae]
mov word [esp + 0x14ac], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0x18be]
mov word [esp + 0x18bc], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x12a6]
mov word [esp + 0x12a4], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x87e]
mov word [esp + 0x87c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x2930]
push 0xffdf
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], ebx
mov dword [eax], ebx
call fcn.12f29950
mov eax, dword [0x13199068]
mov dword [esp + 0x291c], ebx
cmp eax, ebx
je 0x12ecbcaf
push ebp
push str.CTSCDTGlobalMgr::AutoDecryptFile_0___s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
mov edi, dword [esp + 0x2928]
cmp edi, ebx
jne 0x12ecbcca
push ebp
mov ecx, esi
call fcn.12ecb940
test eax, eax
jne 0x12ecc5e9
push ebp
mov ecx, esi
call fcn.12ecba60
test eax, eax
jne 0x12ecc5f3
push ebx
push ebp
call fcn.12f821d0
add esp, 8
test eax, eax
jne 0x12ecc5fd
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.12fa1970
mov esi, eax
mov eax, dword [0x13199068]
add esp, 0x28
cmp eax, ebx
je 0x12ecbd1f
push ebp
push esi
push str.CTSCDTGlobalMgr::AutoDecryptFile_1_1__dwSDType_d___lpwszFile_s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
cmp esi, ebx
je 0x12ecc607
push ebp
mov ecx, 0x131a9048
call fcn.12e07070
mov esi, dword [esp + 0x2c]
push eax
push ebp
mov ecx, esi
call fcn.12ec41c0
cmp edi, ebx
jne 0x12ecbde4
cmp eax, 8
je 0x12ecc638
cmp eax, 0xa
je 0x12ecc642
cmp eax, 9
je 0x12ecc64c
cmp eax, 0xd
jne 0x12ecbde4
lea ecx, [esp + 0x40]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
push ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.12da8f10
add esp, 0x18
test eax, eax
je 0x12ecc611
cmp dword [0x13199068], ebx
je 0x12ecbdce
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push str.CTSCDTGlobalMgr::AutoDecryptFile_FileFilter___d___d___d_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
cmp dword [esp + 0x3c], ebx
jne 0x12ecbde4
cmp dword [esp + 0x38], ebx
jne 0x12ecbde4
cmp dword [esp + 0x30], ebx
je 0x12ecc611
call fcn.12e30170
lea edx, [esp + 0x50]
mov dword [esp + 0x40], eax
push edx
push 1
push ebx
push ebx
push 0xf0e3
push 0x753b
push ebx
push eax
mov dword [esp + 0x70], ebx
call fcn.12e761d0
add esp, 0x20
test eax, eax
je 0x12ecc670
cmp dword [esp + 0x50], ebx
je 0x12ecc677
lea ecx, [esp + 0x24]
call fcn.12ebadf0
push ebp
mov byte [esp + 0x2920], 1
call fcn.12ed3690
add esp, 4
test eax, eax
je 0x12ecbe49
mov esi, dword [esp + 0x4c]
mov edi, 1
jmp 0x12ecbe98
lea eax, [esp + 0x14ac]
push 0x208
push eax
push ebp
mov ecx, esi
call fcn.12ec3ef0
test eax, eax
je 0x12ecbe90
lea ecx, [esp + 0x14ac]
push ecx
call fcn.12f5c51d
add esp, 4
test eax, eax
je 0x12ecbe90
lea edx, [esp + 0x14ac]
push ebx
push edx
call fcn.12f7ff20
add esp, 8
mov esi, 1
test eax, eax
jne 0x12ecbe94
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
cmp dword [0x13199068], ebx
je 0x12ecbebe
lea eax, [esp + 0x14ac]
push eax
push esi
push edi
push str.CTSCDTGlobalMgr::AutoDecryptFile_1__bIsInSDDis_d___bIsInScdt_d___SrcReal_s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
push 0x103
lea ecx, [esp + 0x12a8]
push ebp
push ecx
call fcn.12f5c57b
add esp, 0xc
cmp esi, ebx
lea eax, [esp + 0x14ac]
jne 0x12ecbee1
mov eax, ebp
push 0x207
lea edx, [esp + 0xe98]
push eax
push edx
call fcn.12f5c57b
mov eax, dword [0x13199068]
add esp, 0xc
cmp eax, ebx
je 0x12ecbf25
mov eax, dword [esp + 0x2928]
lea ecx, [esp + 0xe94]
push eax
push esi
push ecx
push str.CTSCDTGlobalMgr::AutoDecryptFile_2__Src_s___IsInScdt_d___bDecryptFile2SCDTTempFile_d_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
cmp dword [esp + 0x2928], ebx
je 0x12ecc025
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x5d]
mov byte [esp + 0x5c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.12d8cd30
mov esi, eax
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0xa86]
mov word [esp + 0xa84], bx
lea edx, [esp + 0xa84]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x2c]
push 0x208
push edx
push esi
stosw word es:[edi], ax
call fcn.12ec3ef0
test eax, eax
je 0x12ecc69b
lea eax, [esp + 0x5c]
push 0x208
push eax
lea ecx, [esp + 0xa8c]
push 0xffffffffffffffff
push ecx
call fcn.12e2f7e0
lea edx, [esp + 0xa94]
push ebx
push edx
call fcn.12f7ff20
add esp, 0x18
test eax, eax
jne 0x12ecbfcc
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x5c]
push 6
push eax
call fcn.12eccf40
test eax, eax
je 0x12ecc6a2
push 0x103
lea ecx, [esp + 0x880]
push esi
push ecx
call fcn.12f5c57b
push ebp
call fcn.12e31030
add esp, 0x10
lea edx, [esp + 0xa84]
push eax
push edx
lea eax, [esp + 0x474]
push 0x130c4e18
push eax
call fcn.12f5cfbf
mov eax, dword [0x13199068]
add esp, 0x10
cmp eax, ebx
je 0x12ecc1ce
lea ecx, [esp + 0x46c]
push ecx
push str.CTSCDTGlobalMgr::AutoDecryptFile_3__wszDstPath_s_
jmp 0x12ecc1bf
cmp esi, ebx
jne 0x12ecc16e
cmp edi, ebx
jne 0x12ecc16e
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x18bc]
push 0x208
lea eax, [esp + 0xe98]
push edx
push eax
call fcn.12ec3ef0
test eax, eax
je 0x12ecc6a9
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0x5e]
mov word [esp + 0x5c], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18bc]
push 0x207
lea edx, [esp + 0x60]
push ecx
push edx
stosw word es:[edi], ax
call fcn.12f5c57b
lea eax, [esp + 0x68]
push 0x5c
push eax
call fcn.12f5c984
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x12ecc0ac
push esi
call fcn.12f5c51d
add esp, 4
cmp eax, 1
jb 0x12ecc0ac
mov word [esi], bx
mov ecx, 0x103
xor eax, eax
lea edi, [esp + 0xa86]
mov word [esp + 0xa84], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xe94]
push 0x207
lea edx, [esp + 0xa88]
push ecx
push edx
stosw word es:[edi], ax
call fcn.12f5c57b
lea eax, [esp + 0xa90]
push 0x5c
push eax
call fcn.12f5c984
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x12ecc109
push esi
call fcn.12f5c51d
add esp, 4
cmp eax, 1
jb 0x12ecc109
mov word [esi], bx
cmp dword [0x13199068], ebx
je 0x12ecc13a
lea ecx, [esp + 0x18bc]
lea edx, [esp + 0xa84]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
push str.CTSCDTGlobalMgr::AutoDecryptFile_4__DstDir_s___SrcDir_s___DstReal_s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
lea ecx, [esp + 0xa84]
lea edx, [esp + 0x5c]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
call fcn.12ecd2c0
lea ecx, [esp + 0x18c8]
push 0x207
lea edx, [esp + 0x47c]
push ecx
push edx
call fcn.12f5c57b
add esp, 0x18
push 0x103
lea eax, [esp + 0x880]
push ebp
push eax
call fcn.12f5c57b
lea ecx, [esp + 0x888]
push 0x5c
push ecx
call fcn.12f5c984
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x12ecc1aa
push esi
call fcn.12f5c51d
add esp, 4
cmp eax, 1
jb 0x12ecc1aa
mov word [esi], bx
cmp dword [0x13199068], ebx
je 0x12ecc1ce
lea edx, [esp + 0x46c]
push edx
push str.CTSCDTGlobalMgr::AutoDecryptFile_5__wszDstPath_s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
lea eax, [esp + 0x46c]
push eax
call fcn.12f5c51d
add esp, 4
test eax, eax
jbe 0x12ecc23e
lea ecx, [esp + 0x46c]
push ecx
call fcn.12f5c51d
mov esi, eax
lea ebp, [esi + esi + 2]
push ebp
call fcn.12f5c05b
mov edx, dword [esp + 0x2934]
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [edx], edi
je 0x12ecc6d4
mov ecx, ebp
xor eax, eax
mov edx, ecx
push esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x2930]
lea eax, [esp + 0x470]
push eax
mov edx, dword [ecx]
push edx
call fcn.12f5c57b
add esp, 0xc
lea eax, [esp + 0x58]
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0xe98]
push ecx
push edx
xor ebp, ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.12f801c0
add esp, 0xc
test eax, eax
je 0x12ecc27c
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
xor edx, edx
or ebp, ecx
or eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [0x13199068]
mov esi, dword [esp + 0x292c]
cmp eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
je 0x12ecc2b9
mov eax, dword [esi]
lea ecx, [esp + 0xe94]
push eax
push ecx
call fcn.12d8d580
push eax
push str.CTSCDTGlobalMgr::AutoDecryptFile_5_6__IsSDsysRun_d____s___s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
call fcn.12d8d580
test eax, eax
je 0x12ecc31c
mov ecx, dword [esi]
lea edx, [esp + 0x28]
lea eax, [esp + 0x18]
push edx
push eax
push ebx
lea edx, [esp + 0xea0]
push ecx
push edx
call fcn.12da4520
mov esi, eax
mov eax, dword [0x13199068]
add esp, 0x14
cmp eax, ebx
je 0x12ecc30a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
push str.CTSCDTGlobalMgr::AutoDecryptFile_6__Return_d___ErrCode_08x___SysErr_08x_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
cmp esi, ebx
jne 0x12ecc50c
mov dword [esp + 0x14], 1
jmp 0x12ecc34e
mov edx, dword [esp + 0x2928]
lea eax, [esp + 0x28]
push edx
mov edx, dword [esi]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xea0]
push edx
push eax
call fcn.12eccd00
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x12ecc50c
cmp dword [esp + 0x2928], ebx
je 0x12ecc39b
lea ecx, [esp + 0x46c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or al, 1
lea edx, [esp + 0x46c]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [0x13199068], ebx
je 0x12ecc39b
lea ecx, [esp + 0x46c]
push ecx
push eax
push str.CTSCDTGlobalMgr::AutoDecryptFile_7__bSetAttr_d____s_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x5d]
mov byte [esp + 0x5c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x2928]
push 0x82
cmp eax, ebx
je 0x12ecc3d0
lea edx, [esp + 0x60]
lea eax, [esp + 0x470]
push edx
push 0xffffffffffffffff
push eax
jmp 0x12ecc3df
mov edx, dword [esp + 0x2928]
lea ecx, [esp + 0x60]
push ecx
push 0xffffffffffffffff
push edx
call fcn.12e2f7e0
add esp, 0x10
lea eax, [esp + 0x5c]
push ebx
push eax
push 0x1001
push 0x800
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov ecx, 0x311
xor eax, eax
lea edi, [esp + 0x1cce]
mov word [esp + 0x1ccc], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x12a4]
push 0x103
lea edx, [esp + 0x1cd0]
push ecx
push edx
stosw word es:[edi], ax
call fcn.12f5c57b
lea eax, [esp + 0xea0]
push 0x207
lea ecx, [esp + 0x1ee4]
push eax
push ecx
call fcn.12f5c57b
lea edx, [esp + 0x894]
push 0x103
lea eax, [esp + 0x2300]
push edx
push eax
call fcn.12f5c57b
lea ecx, [esp + 0x490]
push 0x207
lea edx, [esp + 0x2514]
push ecx
push edx
call fcn.12f5c57b
mov eax, dword [esp + 0x293c]
mov edx, dword [esp + 0x70]
push ebx
push ebx
lea ecx, [esp + 0x1d04]
push 0xc48
or eax, 0x20000
push ecx
push 0xf0e4
mov dword [esp + 0x2950], eax
mov eax, dword [esp + 0x8c]
push 0x753b
push ebx
push edx
mov dword [esp + 0x294c], 6
mov dword [esp + 0x2950], 1
mov dword [esp + 0x2954], ebp
mov dword [esp + 0x2958], eax
call fcn.12e761d0
mov ecx, dword [0x13199068]
add esp, 0x50
cmp ecx, ebx
je 0x12ecc6dc
push eax
push str.CTSCDTGlobalMgr::AutoDecryptFile_8__bAddLog_d_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
jmp 0x12ecc6dc
cmp dword [0x13199068], ebx
je 0x12ecc532
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str.CTSCDTGlobalMgr::AutoDecryptFile_9__dwErrCode_08x___dwSysErr_08x_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
mov eax, dword [esp + 0x18]
cmp eax, 0x10001
je 0x12ecc5c7
cmp eax, 0x10002
je 0x12ecc5c7
cmp eax, 0x10010
je 0x12ecc5c7
cmp eax, 0x10011
je 0x12ecc5c7
cmp eax, 3
je 0x12ecc575
cmp eax, 4
je 0x12ecc575
cmp eax, 0x1f
jne 0x12ecc56f
mov dword [esp + 0x10], 0xf0000102
jmp 0x12ecc5cf
mov dword [esp + 0x10], eax
jmp 0x12ecc5cf
lea edx, [esp + 0xe94]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x12ecc596
test al, 1
je 0x12ecc596
mov dword [esp + 0x10], 0xf0000011
jmp 0x12ecc5b6
mov eax, dword [esp + 0x28]
cmp eax, 5
jne 0x12ecc5a9
mov dword [esp + 0x10], 0xf0000012
jmp 0x12ecc5b6
cmp eax, 0x20
jne 0x12ecc5b6
mov dword [esp + 0x10], 0xf0000013
cmp dword [esp + 0x18], 4
jne 0x12ecc5cf
mov dword [esp + 0x10], 0xf000000a
jmp 0x12ecc5cf
mov dword [esp + 0x10], 0xf0000101
mov eax, dword [esp + 0x2930]
mov dword [esp + 0x14], 1
mov dword [eax], 1
jmp 0x12ecc6dc
mov esi, 1
jmp 0x12ecc6be
mov esi, 2
jmp 0x12ecc6be
mov esi, 3
jmp 0x12ecc6be
mov esi, 5
jmp 0x12ecc6be
mov ecx, dword [esp + 0x2930]
mov dword [esp + 0x10], 0xf0000017
mov dword [esp + 0x14], 1
mov esi, 6
mov dword [ecx], 1
jmp 0x12ecc6be
mov dword [esp + 0x10], 0xf0000015
jmp 0x12ecc654
mov dword [esp + 0x10], 0xf0000016
jmp 0x12ecc654
mov dword [esp + 0x10], 0xf0000017
mov edx, dword [esp + 0x2930]
mov dword [esp + 0x14], 1
mov esi, 6
mov dword [edx], 1
jmp 0x12ecc6be
mov esi, 7
jmp 0x12ecc6be
mov eax, dword [esp + 0x2930]
mov esi, 8
mov dword [esp + 0x10], 0xf0000004
mov dword [esp + 0x14], 1
mov dword [eax], 1
jmp 0x12ecc6be
mov esi, 9
jmp 0x12ecc6ae
mov esi, 0xa
jmp 0x12ecc6ae
mov esi, 0xb
lea ecx, [esp + 0x24]
mov byte [esp + 0x291c], bl
call fcn.12ebae10
lea ecx, [esp + 0x1c]
mov dword [esp + 0x291c], 0xffffffff
call fcn.12f29980
jmp 0x12ecc704
mov dword [esp + 0x34], 0xc
lea ecx, [esp + 0x24]
mov byte [esp + 0x291c], bl
call fcn.12ebae10
lea ecx, [esp + 0x1c]
mov dword [esp + 0x291c], 0xffffffff
call fcn.12f29980
mov esi, dword [esp + 0x34]
cmp dword [0x13199068], ebx
je 0x12ecc731
mov ecx, dword [esp + 0x2930]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx]
push edx
push edi
push str.CTSCDTGlobalMgr::AutoDecryptFile_10__dwErr_08x___bDecryptFail_d_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
jmp 0x12ecc735
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2930]
cmp dword [eax], ebx
je 0x12ecc74f
cmp edi, ebx
je 0x12ecc74f
push edi
mov ecx, 0x131a8c70
call fcn.12dfc6f0
mov eax, dword [0x13199068]
pop edi
cmp eax, ebx
je 0x12ecc773
mov ecx, dword [esp + 0x10]
push ecx
push esi
push str.CTSCDTGlobalMgr::AutoDecryptFile___ndbgLine_d___Ret_d_
push str.SCDTDecrypt
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
mov eax, dword [esp + 0x10]
jmp 0x12ecc77b
xor eax, eax
mov ecx, dword [esp + 0x2910]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2910
ret 0x10