Function at 0x140056a00
Capabilities:
Get common file path
Get startup folder

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4b0]
sub rsp, 0x5b0
mov rax, qword [0x1400af118]
xor rax, rsp
mov qword [rbp + 0x4a0], rax
mov r14, r8
mov r13, rdx
mov r15, rcx
xor edi, edi
mov dword [rsp + 0x30], edi
call fcn.140058030
mov r12, rax
call qword [0x14008f768]
mov rsi, rax
test rax, rax
je 0x1400575d7
mov rcx, qword [rax]
mov rbx, qword [rcx]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x14005761e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov rcx, rsi
call rbx
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056aac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov qword [rbp + 0x118], rdi
lea rcx, vtable.std::_Func_impl_no_alloc_class__lambda_10f8f863641c5328a03e7db6328ab00b___void__struct__EXCEPTION_POINTERS____ptr64_.0
mov qword [rbp - 0x50], rcx
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x18], rcx
lea r8, [rbp + 0xe0]
lea rdx, [rbp - 0x50]
mov rcx, rsi
call qword [rax + 0xa0]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057629
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdi, str.0.0.1
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140053520
test al, al
jne 0x140056b3b
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x140056b20
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.14005a2d0
nop
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057634
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea rdi, str.zhangsan:abc
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.140053520
test al, al
jne 0x140056b8e
mov rax, rbx
inc rax
cmp word [rdi + rax*2], 0
jne 0x140056b74
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.14005a2d0
nop
mov rax, qword [rsi]
mov rdi, qword [rax + 0x80]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x14005763f
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.AppName
lea rcx, [rsp + 0x40]
call fcn.140053520
test al, al
jne 0x140056bf8
mov rax, rbx
lea rdx, str.AppName
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140056be0
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.14005a2d0
nop
mov r8, r15
lea rdx, [rsp + 0x40]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056c24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rdi, qword [rax + 0x80]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x14005764a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [0x14008fa40]
lea rcx, [rsp + 0x50]
call fcn.140053520
test al, al
jne 0x140056c88
mov rax, rbx
lea rdx, [0x14008fa40]
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140056c70
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.14005a2d0
nop
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057655
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, str.MachineId
lea rcx, [rsp + 0x48]
call fcn.140053520
test al, al
jne 0x140056ce8
mov rax, rbx
lea rdx, str.MachineId
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140056cd0
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.14005a2d0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056d17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056d35
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rdi, qword [rax + 0x80]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057660
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, str.channel
lea rcx, [rsp + 0x58]
call fcn.140053520
test al, al
jne 0x140056d98
mov rax, rbx
lea rdx, str.channel
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140056d80
mov r8d, eax
lea rcx, [rsp + 0x58]
call fcn.14005a2d0
nop
mov r8, r14
lea rdx, [rsp + 0x58]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056dc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rdi, qword [rax + 0x78]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x14005766b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea r14, str.Silence
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.140053520
test al, al
jne 0x140056e2c
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140056e10
mov r8d, eax
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.14005a2d0
nop
mov r8d, 1
lea rdx, [rsp + 0x60]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056e5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rbp - 0x68]
call fcn.1400532f0
nop
mov rax, qword [rbp - 0x68]
cmp dword [rax - 0x10], 0
je 0x140056f09
mov rax, qword [rsi]
mov rdi, qword [rax + 0x80]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057676
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea r14, str.features
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.140053520
test al, al
jne 0x140056edc
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140056ec0
mov r8d, eax
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.14005a2d0
nop
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056f09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rdi, qword [rax + 0x40]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057681
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea r14, str.dingtalk.RPT
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.140053520
test al, al
jne 0x140056f6c
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140056f50
mov r8d, eax
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.14005a2d0
nop
lea rdx, [rsp + 0x70]
mov rcx, rsi
call rdi
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140056f95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x238], rax
mov qword [rbp + 0x240], 7
mov word [rbp + 0x228], ax
lea edx, [rax + 1]
lea rcx, [rbp - 0x10]
call fcn.140050c90
nop
mov rdx, qword [r15]
lea rcx, [rbp - 0x10]
call fcn.14004eda0
mov rcx, rax
lea rdx, [0x140090a9c]
call fcn.14004eda0
mov rdx, qword [r13]
mov rcx, rax
call fcn.14004eda0
mov rcx, rax
lea rdx, [0x140090a9c]
call fcn.14004eda0
cmp r12, 0xffffffffffffffff
je 0x140057014
mov rdx, r12
mov rcx, rax
call fcn.1400521a0
lea rdx, str._dingding
jmp 0x14005701b
lea rdx, str.prelogin_dingding
mov rcx, rax
call fcn.14004eda0
mov rcx, rax
lea rdx, [0x140090a9c]
call fcn.14004eda0
mov rcx, rax
lea rdx, [0x140090aa0]
call fcn.14004eda0
mov rcx, rax
lea rdx, [0x140090a9c]
call fcn.14004eda0
lea rdx, [rbp + 0x268]
lea rcx, [rbp - 8]
call fcn.140062330
mov edi, 2
mov dword [rsp + 0x30], edi
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x1400570af
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400570aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005768c
call fcn.1400659f8
movups xmm0, xmmword [rbp + 0x268]
movups xmmword [rbp + 0x228], xmm0
movups xmm1, xmmword [rbp + 0x278]
movups xmmword [rbp + 0x238], xmm1
lea rdx, [rbp + 0x228]
movq rcx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 8
cmovae rdx, rcx
lea r15, str.DumpDirPrefix
mov rcx, r15
call fcn.140070494
xor ecx, ecx
call qword [0x14008f708]
test al, al
je 0x14005715c
xor r9d, r9d
mov r8d, 0x1d4
lea rdx, str.D:jenkinsworkspaceci.dingding.manual.newDingTalk_Winwin_source_appclientDingTalk.cpp
lea rcx, [rbp + 0x120]
call qword [0x14008f700]
nop
mov edi, 3
mov dword [rsp + 0x30], edi
lea rcx, [rax + 8]
lea rdx, str.sDumpFilePreFix:
call fcn.14004eae0
lea rdx, [rbp + 0x228]
cmp qword [rbp + 0x240], 8
cmovae rdx, qword [rbp + 0x228]
mov rcx, rax
call qword [0x14008f6f0]
nop
test dil, 1
je 0x14005716f
lea rcx, [rbp + 0x120]
call qword [0x14008f6f8]
lea rax, [rbp + 0x290]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1c]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xor r12d, r12d
mov qword [rbp + 0x248], r12
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x260], 7
mov word [rbp + 0x248], r12w
lea rax, [rbp + 0x290]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], r12w
jne 0x1400571c0
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x248]
call fcn.14005e270
nop
mov r8d, 1
lea rdx, [0x14008fc24]
lea rcx, [rbp + 0x248]
call fcn.14004dd40
mov r8d, 8
lea rdx, [0x1400903c0]
lea rcx, [rbp + 0x248]
call fcn.14004dd40
mov r8d, 7
lea rdx, str.dumps_
lea rcx, [rbp + 0x248]
call fcn.14004dd40
mov rax, qword [rsi]
mov r14, qword [rax + 0x80]
lea rdi, [rbp + 0x228]
cmp qword [rbp + 0x240], 8
cmovae rdi, qword [rbp + 0x228]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x140057692
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.140053520
test al, al
jne 0x1400572a0
test rdi, rdi
jne 0x140057283
mov eax, r12d
jmp 0x140057290
mov rax, rbx
inc rax
cmp word [rdi + rax*2], 0
jne 0x140057286
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.14005a2d0
nop
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x14005769d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.140053520
test al, al
jne 0x1400572f0
mov rax, rbx
inc rax
cmp word [r15 + rax*2], 0
jne 0x1400572d4
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.14005a2d0
nop
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call r14
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005731f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005733c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov r14, qword [rax + 0x80]
lea rdi, [rbp + 0x248]
cmp qword [rbp + 0x260], 8
cmovae rdi, qword [rbp + 0x248]
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x1400576a8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.140053520
test al, al
jne 0x1400573ba
test rdi, rdi
jne 0x140057396
mov eax, r12d
jmp 0x1400573aa
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400573a0
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.14005a2d0
nop
call fcn.14004d720
mov rcx, rax
test rax, rax
je 0x1400576b3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rdi, str.DumpRootDir
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.140053520
test al, al
jne 0x14005740d
mov rax, rbx
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400573f3
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.14005a2d0
nop
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x78]
mov rcx, rsi
call r14
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005743a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057458
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x260]
cmp rdx, 8
jb 0x14005749e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x248]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057499
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400576be
call fcn.1400659f8
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x260], 7
mov word [rbp + 0x248], r12w
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 0x14], edx
lea rcx, [rbp - 8]
call fcn.140051a40
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x14], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x78]
call fcn.140064e04
nop
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x140057565
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057560
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057618
call fcn.1400659f8
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], 7
mov word [rbp + 0x228], r12w
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005759d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400575bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x1400575d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov ecx, 0x8007
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov edx, 3
xor ecx, ecx
call fcn.1400704cc
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.140065b10
mov rbx, qword [rsp + 0x608]
add rsp, 0x5b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14006c06c
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
int3
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
int3
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
int3
mov ecx, 0x80004005
call fcn.1400534d0
nop
call fcn.14006c06c
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
mov ecx, 0x80004005
call fcn.1400534d0
nop
call fcn.14006c06c
int3