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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101e0855
push eax
mov eax, dword [0x10282758]
mov dword fs:[0], esp
sub esp, 0x4bc
test eax, eax
push ebx
push ebp
mov ebp, dword [esp + 0x4d4]
push esi
push edi
mov edi, dword [esp + 0x4e0]
mov ebx, ecx
je 0x1000e7d3
push edi
push ebp
push str.CSDDecryptWorker::OnDecrypt_lpOpr_0x_x___lpResult_0x_x_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x18
test ebp, ebp
je 0x1000ed69
test edi, edi
je 0x1000ed69
lea esi, [ebp + 4]
mov ecx, 0x18b
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x10282758]
mov ecx, dword [ebp + 0x208]
xor eax, eax
mov dword [esp + 0x24], ecx
mov ax, word [ebp + 0x21a]
test edx, edx
mov dword [esp + 0x2c], eax
je 0x1000e836
push ecx
push eax
lea eax, [ebp + 0x844]
push eax
push str.CSDDecryptWorker::OnDecrypt_file__s__bEncrypt__d__ReqFunction__lu_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
mov edx, dword [0x10282758]
add esp, 0x1c
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x1000e86d
test edx, edx
je 0x1000e85a
push str.CSDDecryptWorker::OnDecrypt_fail_as__m_bInitCustom
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x10
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x4e0]
push 0
push ecx
push edx
jmp 0x1000ed62
mov eax, dword [0x10275190]
test eax, eax
jne 0x1000e89c
test edx, edx
je 0x1000e893
push str.CSDDecryptWorker::OnDecrypt_fail_as__IsInitGlobalInfo
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x10
push 0
push 0xf
jmp 0x1000ed5a
lea esi, [ebp + 0x844]
test esi, esi
je 0x1000ed39
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
test eax, eax
je 0x1000ed33
lea ecx, [esp + 0x30]
call fcn.10014290
push esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x4d8], 0
call fcn.10077a80
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x4d4], 1
push ecx
lea ecx, [esp + 0x58]
call fcn.1000cda0
mov edx, dword [esp + 0x10]
push 0
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x4dc], 2
call fcn.100144c0
test eax, eax
jne 0x1000e998
mov eax, dword [0x10282758]
test eax, eax
je 0x1000e937
mov eax, dword [esp + 0x10]
push eax
push str.CSDDecryptWorker::OnDecrypt_file__s__need_imp
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x14
lea ecx, [esp + 0x30]
call fcn.100149c0
mov ecx, dword [esp + 0x10]
push 0
push ecx
lea ecx, [esp + 0x38]
call fcn.100144c0
test eax, eax
jne 0x1000e998
mov edx, dword [esp + 0x10]
push 0xfffffffffffffffe
push edx
lea ecx, [esp + 0x38]
call fcn.100146d0
lea ecx, [esp + 0x30]
call fcn.100144b0
test eax, eax
jne 0x1000e998
mov eax, dword [0x10282758]
test eax, eax
je 0x1000e998
mov eax, dword [esp + 0x10]
push eax
push str.CSDDecryptWorker::OnDecrypt_file__s__fail__no_rights_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x14
lea ecx, [esp + 0x54]
mov byte [esp + 0x4d4], 1
call fcn.1000ce70
mov eax, dword [0x10282758]
mov edi, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x1c], edi
je 0x1000e9fa
push esi
lea ecx, [esp + 0x2c]
call fcn.10077a80
mov ecx, dword [eax]
push edi
push ecx
push str.CSDDecryptWorker::OnDecrypt___s__bImp__d_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
mov byte [esp + 0x4ec], 3
call fcn.100de220
add esp, 0x18
lea ecx, [esp + 0x28]
mov byte [esp + 0x4d4], 1
call fcn.10078300
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1000ecd7
test al, 0x10
jne 0x1000ecd7
mov eax, dword [0x10282758]
xor edi, edi
cmp eax, edi
je 0x1000ea37
push esi
push str.CSDDecryptWorker::OnDecrypt_File__s_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x14
lea edx, [esp + 0x20]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
lea ecx, [ebx + 0x1c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], edi
call fcn.1001d700
cmp eax, edi
je 0x1000ec4a
mov edx, dword [esp + 0x14]
cmp edx, edi
jne 0x1000ea96
mov edx, dword [esp + 0x4e0]
push edi
push 9
push edx
mov ecx, ebx
call fcn.10011630
mov eax, dword [0x10282758]
xor esi, esi
cmp eax, edi
je 0x1000ecab
push str.CSDDecryptWorker::OnDecrypt_Update_succeed_but_lpProcessing_is_null__fail_
jmp 0x1000ec97
mov word [esp + 0xa0], di
mov ecx, 0x10a
xor eax, eax
lea edi, [esp + 0xa2]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x20c]
add ebp, 0x630
stosw word es:[edi], ax
mov eax, dword [edx + 0x20c]
mov edx, dword [ebp - 0x420]
mov dword [esp + 0x4c4], eax
mov eax, dword [ebp - 0x41c]
mov edi, dword [sym.imp.MSVCRT.dll_wcsncpy]
mov dword [esp + 0x4bc], ecx
mov ecx, dword [ebp + 0x208]
mov dword [esp + 0x4c0], edx
mov edx, dword [ebp + 0x20c]
mov dword [esp + 0x4c8], eax
mov eax, dword [ebp + 0x210]
mov dword [esp + 0x4b0], ecx
push 0x103
lea ecx, [esp + 0x2ac]
push ebp
push ecx
mov dword [esp + 0x4c0], edx
mov dword [esp + 0x4c4], eax
call edi
push 0x103
lea edx, [esp + 0xb0]
push esi
push edx
call edi
lea eax, [esp + 0xb8]
push 0x42c
push eax
call fcn.100136e0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x500]
add esp, 0x20
push ecx
push edx
mov ecx, ebx
call fcn.10011670
mov eax, dword [0x10282758]
mov esi, 1
test eax, eax
je 0x1000eb9c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x20c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push str.CSDDecryptWorker::OnDecrypt_bNew__d__bImp__d__dwOperationID__lu_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x1c
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000ecab
push 0x18
call sub.MFC42u.DLL_operatornew
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x4d4], 4
je 0x1000ebd7
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
call fcn.10047740
jmp 0x1000ebd9
xor eax, eax
add ebx, 0x14
mov edx, dword [esp + 0x2c]
mov dword [eax], ebx
mov dword [eax + 4], 0x100051f0
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
push 0xffffffffffffffff
push 0
push eax
mov dword [eax + 0x10], ecx
push esi
push 0
lea ecx, [esp + 0x78]
mov byte [esp + 0x4ec], 1
mov dword [eax + 0xc], edx
call fcn.10047440
push 0
lea edx, [esp + 0x64]
push 0
push edx
mov ecx, 0x10280390
mov byte [esp + 0x4e0], 5
mov dword [esp + 0xa8], esi
call fcn.10048b80
lea ecx, [esp + 0x60]
mov byte [esp + 0x4d4], 1
call fcn.100474a0
jmp 0x1000ecab
mov eax, dword [esp + 0x20]
push edi
cmp eax, edi
je 0x1000ec76
mov eax, dword [esp + 0x4e4]
push 5
push eax
mov ecx, ebx
call fcn.10011630
mov eax, dword [0x10282758]
xor esi, esi
cmp eax, edi
je 0x1000ecab
push str.CSDDecryptWorker::OnDecrypt_file_is_transforming__but_fail_as_not_Update
jmp 0x1000ec97
mov ecx, dword [esp + 0x4e4]
push 9
push ecx
mov ecx, ebx
call fcn.10011630
mov eax, dword [0x10282758]
xor esi, esi
cmp eax, edi
je 0x1000ecab
push str.CSDDecryptWorker::OnDecrypt_commit_transform_fail_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x10
lea ecx, [esp + 0x10]
mov byte [esp + 0x4d4], 0
call fcn.10078300
lea ecx, [esp + 0x30]
mov dword [esp + 0x4d4], 0xffffffff
call fcn.10014440
mov eax, esi
jmp 0x1000ed6b
mov eax, dword [0x10282758]
test eax, eax
je 0x1000ecf9
push str.CSDDecryptWorker::OnDecrypt_fail_as_szFile_2.2
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x10
mov edx, dword [esp + 0x4e0]
push 0
push 0xd
push edx
mov ecx, ebx
call fcn.10011630
lea ecx, [esp + 0x10]
mov byte [esp + 0x4d4], 0
call fcn.10078300
lea ecx, [esp + 0x30]
mov dword [esp + 0x4d4], 0xffffffff
call fcn.10014440
jmp 0x1000ed69
mov edx, dword [0x10282758]
test edx, edx
je 0x1000ed56
push str.CSDDecryptWorker::OnDecrypt_fail_as_szFile_1
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x10
push 0
push 0xd
mov eax, dword [esp + 0x4e8]
push eax
mov ecx, ebx
call fcn.10011630
xor eax, eax
mov ecx, dword [esp + 0x4cc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4c8
ret 8