Function at 0x14003e4b0
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x4b8
mov qword [rsp + 0x418], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0x4a8], rax
mov dword [rsp + 0xb8], 0
lea rcx, [rsp + 0x80]
call fcn.140001cf0
nop
mov dword [rsp + 0x78], 0
lea rcx, [rsp + 0xc0]
call fcn.140003370
nop
lea rcx, [rsp + 0xe8]
call fcn.140003370
nop
lea rcx, [rsp + 0x120]
call fcn.140003370
nop
lea rcx, [rsp + 0x88]
call fcn.140003370
nop
lea rcx, [rsp + 0xb0]
call fcn.140001cf0
nop
mov dword [rsp + 0x118], 0
call fcn.140018340
add rax, 0x158
mov rcx, rax
call fcn.14000adf0
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140010520
call fcn.140018340
add rax, 0x158
mov rcx, rax
call fcn.14000ae80
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140010520
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x88]
call fcn.1400104f0
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x88]
call fcn.140010550
mov rax, qword [rsp + 0x4c0]
mov rdx, qword [rax + 0x20]
lea rcx, [rsp + 0x120]
call fcn.140010520
mov r8, qword [0x1401df340]
lea rdx, [0x140201d4c]
lea rcx, [rsp + 0x120]
call fcn.140040730
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0x148]
call fcn.140003370
nop
mov rax, qword [0x1401df340]
cmp qword [rsp + 0x110], rax
je 0x14003e707
cmp qword [rsp + 0x110], 0
jbe 0x14003e707
mov r9, qword [rsp + 0x110]
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x120]
call fcn.140040770
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0x428], rax
mov rdx, qword [rsp + 0x428]
lea rcx, [rsp + 0x148]
call fcn.1400104c0
nop
lea rcx, [rsp + 0x28]
call fcn.140003430
lea rcx, [rsp + 0x120]
call fcn.140003810
sub rax, qword [rsp + 0x110]
inc rax
mov rcx, qword [rsp + 0x110]
inc rcx
mov r9, rax
mov r8, rcx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x120]
call fcn.140040770
mov qword [rsp + 0x430], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x438], rax
mov rdx, qword [rsp + 0x438]
lea rcx, [rsp + 0x148]
call fcn.140010550
nop
lea rcx, [rsp + 0x50]
call fcn.140003430
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x120]
call fcn.1400104f0
lea rcx, [rsp + 0x120]
call fcn.140003530
mov r8, rax
lea rdx, str.pFrom___1_s__n
mov ecx, 5
call fcn.14001c160
lea rcx, [rsp + 0x88]
call fcn.140003530
mov r8, rax
lea rdx, str.pTo___1_s__n
mov ecx, 5
call fcn.14001c160
lea rcx, [rsp + 0xc0]
call fcn.140003530
mov r8, rax
lea rdx, str.strDriverStoreRoot___1_s__n
mov ecx, 5
call fcn.14001c160
lea rcx, [rsp + 0xe8]
call fcn.140003530
mov r8, rax
lea rdx, str.strDriverStoreModel___1_s__n
mov ecx, 5
call fcn.14001c160
nop
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 0xe0], 0
jne 0x14003e8ff
mov rax, qword [rsp + 0x4c0]
cmp dword [rax + 8], 0
je 0x14003e851
mov ecx, 0x100
call fcn.14000fcc0
mov qword [rsp + 0x440], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x3d0], rax
cmp qword [rsp + 0x3d0], 0
je 0x14003e819
mov rax, qword [rsp + 0x4c0]
mov r8, qword [rax + 0x18]
mov edx, 0x67
mov rcx, qword [rsp + 0x3d0]
call fcn.14004b000
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x450], rax
jmp 0x14003e825
mov qword [rsp + 0x450], 0
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x3c8]
mov qword [rax + 0xe0], rcx
jmp 0x14003e8e9
mov ecx, 0x100
call fcn.14000fcc0
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x3e0], rax
cmp qword [rsp + 0x3e0], 0
je 0x14003e8b6
mov rax, qword [rsp + 0x4c0]
mov r8, qword [rax + 0x18]
mov edx, 0x66
mov rcx, qword [rsp + 0x3e0]
call fcn.14004b000
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x468], rax
jmp 0x14003e8c2
mov qword [rsp + 0x468], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x3d8]
mov qword [rax + 0xe0], rcx
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0xe0]
call fcn.14004bf40
jmp 0x14003e914
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0xe0]
call fcn.14004c370
nop
jmp 0x14003e97c
lea rcx, [rsp + 0x120]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x14003e9a6
mov dword [rsp + 0xb8], 0x2711
jmp 0x14003eed4
mov dword [rsp + 0x3b0], 0
lea rcx, [rsp + 0x120]
call fcn.140003530
lea rdx, [rsp + 0x3b0]
mov rcx, rax
call fcn.140004ce0
mov qword [rsp + 0x3c0], rax
call fcn.140018340
add rax, 0x158
mov rcx, rax
call fcn.14000afc0
cdqe
mov qword [rsp + 0x3b8], rax
mov r9, qword [rsp + 0x3b8]
lea r8, str.CInstallAction::CopyDriverFiles_GetRequiredDiskspaceMB__I64uMB_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x3b8]
imul rax, rax, 0x100000
mov qword [rsp + 0x3b8], rax
mov r9, qword [rsp + 0x3b8]
lea r8, str.CInstallAction::CopyDriverFiles_GetRequiredDiskspaceMB__I64ubyte_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
lea rcx, [rsp + 0xc0]
call fcn.140003530
mov rcx, rax
call fcn.140005180
mov qword [rsp + 0x3a0], rax
lea rcx, [rsp + 0x88]
call fcn.140003530
xor edx, edx
mov rcx, rax
call fcn.140004ce0
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x3c0]
add rax, 0x500000
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3b8]
cmp qword [rsp + 0x3c0], rax
jae 0x14003eae4
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x3c0], rax
mov r9, qword [rsp + 0x3c0]
lea r8, str.CInstallAction::CopyDriverFiles_1.required____I64u_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov r9, qword [rsp + 0x3a8]
lea r8, str.CInstallAction::CopyDriverFiles_2.targetdir___I64u_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov r9, qword [rsp + 0x3a0]
lea r8, str.CInstallAction::CopyDriverFiles_3.freesize____I64u_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x3a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x3b8], rax
mov r9, qword [rsp + 0x3b8]
lea r8, str.CInstallAction::CopyDriverFiles_2__3_________I64u_n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x3b8]
cmp qword [rsp + 0x3c0], rax
jae 0x14003ec29
mov rax, qword [rsp + 0x3c0]
mov rcx, qword [rsp + 0x3b8]
sub rcx, rax
mov rax, rcx
mov r9, rax
lea r8, str.CInstallAction::CopyDriverFiles_1._enough_diskspace_by_overwriting.___I64u__n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
jmp 0x14003ecb8
mov rax, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x3c0]
sub rcx, rax
mov rax, rcx
mov r9, rax
lea r8, str.CInstallAction::CopyDriverFiles_2._not_enough_diskspace_when_overwrite_the_target_dir.____I64u__n
mov edx, 0x104
lea rcx, [rsp + 0x190]
call fcn.1401acf40
lea rdx, [rsp + 0x190]
mov ecx, 4
call fcn.14001c160
mov dword [rsp + 0xb8], 0x2716
mov rax, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x3c0]
sub rcx, rax
mov rax, rcx
add rax, 0x100000
xor edx, edx
mov ecx, 0x100000
div rcx
mov r8, rax
mov edx, 0x2716
lea rcx, [rsp + 0x80]
call fcn.140015750
jmp 0x14003eed4
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 0xe0], 0
je 0x14003ece5
mov r8w, 0x64
xor edx, edx
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0xe0]
call fcn.14004bc60
lea rcx, [rsp + 0x120]
call fcn.140003530
mov rcx, qword [rsp + 0x4c0]
mov r8, qword [rcx + 0xe0]
mov rdx, rax
mov rcx, qword [rsp + 0x4c0]
call fcn.14003a330
test eax, eax
jne 0x14003ed79
mov dword [rsp + 0x78], 0xffffffff
mov edx, 0x2af9
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov dword [rsp + 0x480], eax
mov edx, 0x2af9
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov ecx, dword [rsp + 0x480]
mov r9d, ecx
mov r8d, eax
mov edx, 0x2af9
mov rcx, qword [rsp + 0x4c0]
call fcn.140039fe0
mov rax, qword [rsp + 0x4c0]
mov dword [rax + 0xc], 0xffffffff
jmp 0x14003eed4
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 0xe0], 0
je 0x14003eda7
xor r8d, r8d
mov edx, 0x64
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0xe0]
call fcn.14004ba40
xor edx, edx
mov rcx, qword [rsp + 0x4c0]
call fcn.14003b420
test eax, eax
jne 0x14003edbf
jmp 0x14003eed4
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 0xe0], 0
je 0x14003ee47
mov rax, qword [rsp + 0x4c0]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0x400]
mov qword [rsp + 0x3f8], rax
cmp qword [rsp + 0x3f8], 0
je 0x14003ee28
mov rax, qword [rsp + 0x3f8]
mov rax, qword [rax]
mov edx, 1
mov rcx, qword [rsp + 0x3f8]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x488], rax
jmp 0x14003ee34
mov qword [rsp + 0x488], 0
mov rax, qword [rsp + 0x4c0]
mov qword [rax + 0xe0], 0
cmp dword [rsp + 0x78], 0
jne 0x14003ee6e
mov rax, qword [rsp + 0x4c0]
cmp dword [rax + 0xe8], 0
je 0x14003ee6e
mov rax, qword [rsp + 0x4c0]
mov dword [rax + 0xc], 0x64
lea rcx, [rsp + 0x148]
call fcn.140003430
nop
lea rcx, [rsp + 0xb0]
call fcn.140001d50
nop
lea rcx, [rsp + 0x88]
call fcn.140003430
nop
lea rcx, [rsp + 0x120]
call fcn.140003430
nop
lea rcx, [rsp + 0xe8]
call fcn.140003430
nop
lea rcx, [rsp + 0xc0]
call fcn.140003430
nop
lea rcx, [rsp + 0x80]
call fcn.140001d50
jmp 0x14003f0a3
mov rax, qword [rsp + 0x4c0]
mov dword [rax + 0xc], 0xffffffff
mov rax, qword [rsp + 0x4c0]
cmp qword [rax + 0xe0], 0
je 0x14003ef6b
mov rax, qword [rsp + 0x4c0]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov qword [rsp + 0x408], rax
cmp qword [rsp + 0x408], 0
je 0x14003ef4c
mov rax, qword [rsp + 0x408]
mov rax, qword [rax]
mov edx, 1
mov rcx, qword [rsp + 0x408]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x490], rax
jmp 0x14003ef58
mov qword [rsp + 0x490], 0
mov rax, qword [rsp + 0x4c0]
mov qword [rax + 0xe0], 0
cmp dword [rsp + 0xb8], 0
je 0x14003f042
lea rcx, [rsp + 0x80]
call fcn.140001dc0
test eax, eax
jle 0x14003eff3
mov edx, dword [rsp + 0xb8]
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov dword [rsp + 0x498], eax
mov edx, dword [rsp + 0xb8]
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov dword [rsp + 0x49c], eax
xor edx, edx
lea rcx, [rsp + 0x80]
call fcn.140001da0
mov ecx, dword [rsp + 0x498]
mov r9d, ecx
mov ecx, dword [rsp + 0x49c]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rsp + 0x4c0]
call fcn.14003a0c0
jmp 0x14003f042
mov edx, dword [rsp + 0xb8]
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov dword [rsp + 0x4a0], eax
mov edx, dword [rsp + 0xb8]
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov ecx, dword [rsp + 0x4a0]
mov r9d, ecx
mov r8d, eax
mov edx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x4c0]
call fcn.140039fe0
nop
lea rcx, [rsp + 0x148]
call fcn.140003430
nop
lea rcx, [rsp + 0xb0]
call fcn.140001d50
nop
lea rcx, [rsp + 0x88]
call fcn.140003430
nop
lea rcx, [rsp + 0x120]
call fcn.140003430
nop
lea rcx, [rsp + 0xe8]
call fcn.140003430
nop
lea rcx, [rsp + 0xc0]
call fcn.140003430
nop
lea rcx, [rsp + 0x80]
call fcn.140001d50
mov rcx, qword [rsp + 0x4a8]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0x4b8
ret