Function at 0x1400386f0
Capabilities:
Create thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x1400a2318]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, r9
mov qword [rbp - 0x38], r9
mov qword [rbp - 0x50], r8
mov r12, rdx
mov rdi, rcx
mov qword [rbp - 0x30], rcx
mov rbx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp - 0x40], rax
mov r15, qword [rbp + 0xd8]
xor eax, eax
mov dword [rbp - 0x68], eax
mov r13d, eax
mov byte [rbp - 0x7f], al
mov r14b, al
mov byte [rbp - 0x80], al
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x60], rax
lea r8, str.CVdsVolume::FormatInternal__
lea edx, [rax + 0x5e]
lea rcx, [rbp - 0x28]
call qword [sym.imp.vdsutil.dll_public:_void___cdecl_CVdsCallTracer::constructor_unsigned_long_int__char_const____ptr64____ptr64]
nop dword [rax + rax]
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rax
test rsi, rsi
je 0x140038c4e
test rbx, rbx
je 0x140038c4e
test r15, r15
je 0x140038c4e
and qword [r15], rax
test rdi, rdi
je 0x140038822
mov rcx, qword [rdi + 0x80]
mov rax, qword [rcx]
movabs r10, 0x923507bb54551170
lea rdx, [rbp - 0x18]
mov rax, qword [rax + 0x18]
call qword [0x140063988]
mov edi, eax
test eax, eax
jns 0x140038808
mov r9d, eax
lea r8, str.CVdsVolume::FormatInternal__2__hr_lX
xor edx, edx
lea ecx, [rdx + 0x5e]
call qword [sym.imp.vdsutil.dll_VdsTraceEx]
nop dword [rax + rax]
jmp 0x14003899c
test dword [rbp + 0x10], 0x2000
je 0x140038822
mov edi, 0x80042917
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__3__hr_lX
jmp 0x1400387f2
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140038908
lea rdx, [0x14006def8]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140038860
test dword [rbp + 0x10], 0x4000
je 0x140038860
mov edi, 0x80042914
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__4__hr_lX
jmp 0x1400387f2
lea rdx, str.FAT32
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140038898
test dword [rbp + 0x10], 0x8000
je 0x140038898
mov edi, 0x80042915
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__5__hr_lX
jmp 0x1400387f2
lea rdx, [0x14006deb8]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x1400388d0
test dword [rbp + 0x10], 0x10000
je 0x1400388d0
mov edi, 0x80042916
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__6__hr_lX
jmp 0x1400387f2
lea rdx, [0x14007a370]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140038946
test dword [rbp + 0x10], 0x800000
je 0x140038946
mov edi, 0x80042a06
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__7__hr_lX
jmp 0x1400387f2
lea r9, [rbp - 0x7f]
lea r8, [rbp + 0xc0]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140039094
mov edi, eax
test eax, eax
jns 0x140038946
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.CVdsVolume::FormatInternal__8__path_s__error_lX
xor edx, edx
lea ecx, [rdx + 0x5e]
call qword [sym.imp.vdsutil.dll_VdsTraceEx]
nop dword [rax + rax]
jmp 0x14003899c
mov r14d, dword [rbp + 0xd0]
mov esi, r14d
and esi, 4
je 0x140038a60
lea rdx, [0x14006def8]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
je 0x140038a60
mov edi, 0x80042918
lea rdx, str.CVdsVolume::FormatInternal__9__path_s__hr_lX
mov r9d, edi
mov r8, rbx
xor ecx, ecx
call qword [sym.imp.vdsutil.dll_VdsTraceW]
nop dword [rax + rax]
mov r14b, byte [rbp - 0x80]
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x1400389b6
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
nop dword [rax + rax]
and qword [rbp + 0x18], 0
cmp byte [rbp - 0x7f], 0
je 0x1400389e5
mov rbx, qword [rbp - 0x78]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.vdsutil.dll_VdsHeapFree]
nop dword [rax + rax]
and qword [rbp - 0x78], 0
test edi, edi
jns 0x140038a23
lea rax, [r13 - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140038a02
mov rcx, r13
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
test r14b, r14b
je 0x140038a23
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [0x140063988]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.vdsutil.dll_public:_void___cdecl_CVdsCallTracer::destructor_void____ptr64]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x60]
call fcn.140035814
mov eax, edi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400149c0
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r12, r12
je 0x140038a88
lea rdx, [r12 + 2]
lea rcx, [rbp - 0x60]
call fcn.14003af7c
mov edi, eax
test eax, eax
jns 0x140038a88
mov r9d, eax
lea rdx, str.CVdsVolume::FormatInternal__10__path_s__hr_lX
jmp 0x140038987
lea r9, [rbp - 0x70]
mov r8b, 1
mov dl, r8b
mov ecx, 0x65
call fcn.1400364bc
mov edi, eax
test eax, eax
jns 0x140038ab1
mov r9d, eax
lea rdx, str.CVdsVolume::FormatInternal__11__path_s__hr_lX
jmp 0x140038987
mov byte [rbp - 0x80], 1
mov rax, qword [rbp - 0x50]
movaps xmm0, xmmword [rax]
movdqa xmmword [rbp - 0x50], xmm0
mov eax, r14d
and eax, 8
mov edx, r14d
and edx, 2
and r14d, 1
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x78], rcx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x48], r14d
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0xc0]
mov dword [rsp + 0x38], eax
movzx eax, word [rbp + 0xb8]
mov word [rsp + 0x30], ax
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0xa0]
mov r8, qword [rbp - 0x38]
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
call fcn.14003d478
mov edi, eax
test eax, eax
jns 0x140038b53
mov r9d, eax
lea rdx, str.CVdsVolume::FormatInternal__12__path_s__hr_lX
jmp 0x140038987
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
movabs r10, 0xfd41b67356dad870
mov rax, qword [rax + 8]
call qword [0x140063988]
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
mov r9, qword [rbp - 0x58]
lea r8, [0x140038c90]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
nop dword [rax + rax]
mov r13, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
mov rcx, qword [rbp - 0x70]
ja 0x140038c10
and qword [rbp - 0x60], 0
mov rdx, qword [rcx]
mov rax, qword [rdx]
movabs r10, 0xdee01e7974d59970
mov r8, r15
lea rdx, [0x140068898]
call qword [0x140063988]
mov edi, eax
test eax, eax
jns 0x140038be2
mov r9d, eax
lea rdx, str.CVdsVolume::FormatInternal__14__path_s__hr_lx
jmp 0x140038987
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140038998
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [0x140063988]
and qword [rbp - 0x70], 0
jmp 0x140038998
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [0x140063988]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jle 0x140038c42
movzx edi, ax
or edi, 0x80070000
lea rdx, str.CVdsVolume::FormatInternal__13__path_s__hr_lX
jmp 0x140038984
mov edi, 0x80070057
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
mov r9d, edi
lea r8, str.CVdsVolume::FormatInternal__1__hr_lX__Volume_p__Device_p__Async_p
xor edx, edx
lea ecx, [rdx + 0x5e]
call qword [sym.imp.vdsutil.dll_VdsTraceEx]
nop dword [rax + rax]
jmp 0x14003899c