Function at 0x140069510
Capabilities:
Check if file exists
Create directory

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x158
mov rsi, rcx
xor ebp, ebp
mov ebx, ebp
mov dword [rsp + 0x180], ebx
xor ecx, ecx
call qword [0x1400e8220]
test al, al
je 0x14006956f
xor r9d, r9d
mov r8d, 0x2c7
lea rdx, str.D:jenkinsworkspaceci.dingding.manual.newDingTalk_Winwin_source_appDingTalkSnippingTooluiScreenCaptureComponent.cpp
lea rcx, [rsp + 0x48]
call qword [0x1400e8218]
nop
mov ebx, 1
mov dword [rsp + 0x180], ebx
lea rcx, [rax + 8]
lea rdx, str._CScreenCaptureComponent__EndCapture
call fcn.14000f940
nop
test bl, 1
je 0x14006957f
lea rcx, [rsp + 0x48]
call qword [0x1400e8210]
mov rax, qword [rsi + 0x68]
test rax, rax
jne 0x1400695bd
lea ecx, [rax + 0x18]
call fcn.1400dc988
mov qword [rsp + 0x188], rax
test rax, rax
je 0x1400695ad
mov qword [rax + 8], rbp
mov dword [rax + 0x10], 1
mov qword [rax], rbp
jmp 0x1400695b0
mov rax, rbp
mov qword [rsi + 0x68], rax
test rax, rax
je 0x14006977d
mov rbx, qword [rax]
call fcn.14000db70
mov rcx, rax
test rax, rax
je 0x140069772
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x190], rax
mov rdi, 0xffffffffffffffff
test rbx, rbx
je 0x14006961c
cmp rbx, 0x10000
jae 0x14006960a
movzx edx, bx
lea rcx, [rsp + 0x190]
call fcn.140028a30
jmp 0x140069632
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140069610
jmp 0x14006961e
mov eax, ebp
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x190]
call fcn.14000ede0
nop
mov edx, 0x5c
mov rbx, qword [rsp + 0x190]
mov rcx, rbx
call fcn.1400ddde6
test rax, rax
je 0x1400696b3
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400696b3
lea r8d, [rax + 1]
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x190]
call fcn.140069030
mov rbx, qword [rsp + 0x198]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140069692
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400696ab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x190]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x20], 2
mov qword [rsp + 0x30], rbx
mov rax, rbp
cmp byte [rsi + 0x28], al
setne al
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x20]
mov edx, 0x812
mov rcx, qword [0x14012d7d0]
call fcn.140030cb0
mov rcx, qword [rsi + 0xf0]
test rcx, rcx
je 0x140069714
mov dword [rsp + 0x188], 2
mov rax, qword [rcx]
lea rdx, [rsp + 0x188]
call qword [rax + InitCommonControls]
cmp qword [rsi + 0x90], 0
je 0x140069725
mov qword [rsi + 0x90], rbp
mov rcx, rsi
call fcn.140069d30
add rsi, 0xb8
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x14006974d
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], rbp
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140069764
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
add rsp, 0x158
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x80004005
call fcn.14000d650
int3
mov ecx, 0x8007000e
call fcn.1400ddbe0
int3