Function at 0x14000da90
Capabilities:
Copy file
Create directory
Delete file
Get common file path
Set file attributes
Set registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x8f0
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x14006ee08]
xor rax, rsp
mov qword [rsp + 0x8e0], rax
xor r13d, r13d
mov qword [rsp + 0x58], r13
mov r12d, r13d
mov dword [rsp + 0x60], r13d
call fcn.1400197c4
mov rcx, rax
mov eax, r13d
test rcx, rcx
setne al
test eax, eax
jne 0x14000dafd
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov r15d, r13d
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
or r14, 0xffffffffffffffff
cmp dword [rdx + 8], r13d
je 0x14000db69
cmp dword [rdx + 0x10], r13d
jge 0x14000db40
cmp dword [rdi - 0xc], r13d
jge 0x14000db37
mov ecx, 0x80070057
call fcn.140001010
int3
mov dword [rdi - 0x10], r13d
mov byte [rdi], r15b
jmp 0x14000db69
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000db57
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov ecx, 0xe8
call fcn.14000ed74
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14000db8f
mov rcx, rax
call fcn.14000ee08
mov rbx, rax
mov qword [rsp + 0x50], rax
jmp 0x14000db97
mov rbx, r13
mov qword [rsp + 0x50], rbx
cmp dword [0x140070814], 0
jne 0x14000dbc4
mov rax, qword [rbx]
xor r8d, r8d
mov edx, 0x8e
mov rcx, rbx
call qword [rax + 0x278]
mov edx, 1
mov r8d, edx
mov rcx, rbx
call fcn.140009000
mov eax, dword [0x1400708e4]
cmp eax, 8
je 0x14000dbd4
cmp eax, 7
jne 0x14000dbde
xor edx, edx
lea ecx, [rdx + 1]
call fcn.14000c7c0
mov edx, 0x104
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, 0x104
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov ebp, r13d
mov rsi, r13
mov rax, qword [0x140070898]
test rax, rax
jle 0x14000dcf6
mov rbx, r13
nop dword [rax]
test rbx, rbx
js 0x14000dcf0
cmp rbx, rax
jge 0x14000dcf0
mov rax, qword [0x140070890]
lea rcx, [rax + rbx*8]
lea r8, [rsp + 0x6c0]
lea rdx, str.WINDIR
call fcn.140008b90
test rbx, rbx
js 0x14000dcea
cmp rbx, qword [0x140070898]
jge 0x14000dcea
mov rax, qword [0x140070890]
lea rcx, [rax + rbx*8]
lea r8, [rsp + 0x7d0]
lea rdx, str.WINSYS
call fcn.140008b90
test rsi, rsi
js 0x14000dce4
cmp rsi, qword [0x140070898]
jge 0x14000dce4
mov rax, qword [0x140070890]
mov edx, 0x20
mov rcx, qword [rax + rsi*8]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp rsi, qword [0x140070898]
jge 0x14000dcde
mov rcx, qword [0x140070890]
mov rcx, qword [rcx + rsi*8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
inc ebp
inc rsi
movsxd rbx, ebp
mov rax, qword [0x140070898]
cmp rbx, rax
jl 0x14000dc20
jmp 0x14000dcf6
call fcn.140010574
int3
call fcn.140010574
int3
call fcn.140010574
int3
call fcn.140010574
int3
mov eax, dword [0x1400708e4]
cmp eax, 7
je 0x14000dd15
cmp eax, 8
je 0x14000dd15
cmp eax, 0xb
je 0x14000dd15
cmp eax, 0xc
je 0x14000dd15
cmp eax, 0xd
jne 0x14000dd4e
mov r12d, 1
lea rcx, str.newdev.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x14000dd47
lea rdx, str.UpdateDriverForPlugAndPlayDevicesA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rsp + 0x58], rax
jmp 0x14000dd53
mov rbx, qword [rsp + 0x58]
jmp 0x14000dd53
mov rbx, qword [rsp + 0x58]
mov ebp, r13d
mov dword [rsp + 0x30], r13d
movsxd r12, r12d
mov qword [rsp + 0x68], r12
lea r13, [0x140070b38]
nop word [rax + rax]
mov rax, qword [r13]
test rax, rax
je 0x14000e537
mov dword [rsp + 0x48], 0
xor esi, esi
test rax, rax
jle 0x14000e537
test rsi, rsi
js 0x14000e64d
cmp rsi, qword [r13]
jge 0x14000e64d
mov rax, qword [r13 - 8]
lea rdx, [0x1400549e8]
mov rcx, qword [rax + rsi*8]
call fcn.140038b3c
test eax, eax
sete al
test al, al
jne 0x14000e518
test r12, r12
je 0x14000e1fa
test rbx, rbx
je 0x14000e1fa
cmp rsi, qword [r13]
jge 0x14000e5ef
mov rax, qword [r13 - 8]
movsxd rcx, ebp
imul rcx, rcx, 0x2c0
mov qword [rsp + 0x80], rcx
lea rdx, [0x140070900]
lea rbp, [rcx + rdx]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9d, 1
mov r8, rbp
mov rdx, qword [rax + rsi*8]
xor ecx, ecx
call rbx
test eax, eax
jne 0x14000e514
xor r14d, r14d
xor r12d, r12d
cmp qword [0x140070870], r12
jle 0x14000e1df
test r12, r12
js 0x14000e5ac
cmp r12, qword [0x140070870]
jge 0x14000e5ac
mov rax, qword [0x140070868]
mov rdx, qword [rax + r12*8]
cmp rsi, qword [r13]
jge 0x14000e5a6
mov rbx, qword [r13 - 8]
test rdx, rdx
je 0x14000e1c9
mov rcx, qword [rbx + rsi*8]
cmp dword [rcx - 0x10], 0
jl 0x14000e1c9
call fcn.1400396f0
test rax, rax
je 0x14000e1c9
sub eax, dword [rbx + rsi*8]
js 0x14000e1c9
mov eax, dword [0x1400708e4]
cmp eax, 8
je 0x14000e189
cmp eax, 0xb
je 0x14000e189
cmp eax, 0xc
je 0x14000e189
cmp eax, 0xd
je 0x14000e189
cmp eax, 7
jne 0x14000e1c9
cmp rsi, qword [r13]
jge 0x14000e5a0
mov rax, qword [r13 - 8]
mov rcx, qword [rax + rsi*8]
sub rcx, 0x18
call fcn.1400018e0
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x88]
call fcn.14000d010
xor eax, eax
test rbp, rbp
setne al
test eax, eax
je 0x14000e595
mov rdx, rbp
mov rcx, rdi
call fcn.140038b3c
test eax, eax
sete al
test al, al
jne 0x14000e1c9
test rbp, rbp
jne 0x14000df30
xor ecx, ecx
or rbx, 0xffffffffffffffff
jmp 0x14000df44
xor eax, eax
or rbx, 0xffffffffffffffff
mov rcx, rbx
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.140001c30
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14000e018
mov edx, 0x105
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INFOTHER
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.OtherDevicePath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edx, edx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INF_
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rax, qword [rsp + 0x80]
lea rcx, [0x140070900]
lea rdi, [rax + rcx + 0x105]
mov rdx, rdi
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.Drvdata.bin
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.Drvidx.bin
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [0x1400536b8]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rdx, rdi
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0x20
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.140008610
test eax, eax
je 0x14000e557
mov r15d, 1
mov rdi, qword [rsp + 0x40]
jmp 0x14000e1c9
mov rdx, rbp
lea rcx, [rsp + 0x98]
call fcn.140002dd0
mov rcx, rax
call fcn.140008a10
test eax, eax
jne 0x14000e1c3
mov r9d, 0x1000
lea r8, str.SetupCopyOEMInf
lea rdx, str.Setup_Fail_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x14000e1c9
mov r15d, 1
inc r14d
inc r12
movsxd rax, r14d
cmp rax, qword [0x140070870]
jl 0x14000de37
test r15d, r15d
je 0x14000e5b2
or r14, 0xffffffffffffffff
mov ebp, dword [rsp + 0x30]
mov r12, qword [rsp + 0x68]
jmp 0x14000e518
cmp rsi, qword [r13]
jge 0x14000e647
mov rax, qword [r13 - 8]
mov rbx, qword [rax + rsi*8]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x14000e235
cmp rax, qword [rbx - 0x18]
jne 0x14000e235
lea rbp, [rbx - 0x18]
lock add dword [rbx - 8], 1
mov rdi, qword [rsp + 0x40]
jmp 0x14000e26c
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rbp, rax
test rax, rax
je 0x14000e641
mov ecx, dword [rbx - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rbx - 0x10]
inc ecx
movsxd rdx, ecx
mov r8, rbx
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.140037128
lea rax, [rbp + 0x18]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call fcn.14000d010
movsxd rbp, dword [rsp + 0x30]
imul rbp, rbp, 0x2c0
lea rbx, [0x140070900]
xor eax, eax
add rbx, rbp
setne al
test eax, eax
je 0x14000e636
mov rdx, rbx
mov rcx, rdi
call fcn.140038b3c
test eax, eax
sete al
test al, al
jne 0x14000e50e
test rbx, rbx
jne 0x14000e2c3
xor ecx, ecx
jmp 0x14000e2d3
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140001c30
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14000e3a7
mov edx, 0x105
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INFOTHER
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.OtherDevicePath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edx, edx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INF_
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rax, [0x140070900]
lea rdi, [rax + rbp + 0x105]
mov rdx, rdi
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.Drvdata.bin
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, str.Drvidx.bin
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [0x1400536b8]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rdx, rdi
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0x20
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140008610
test eax, eax
je 0x14000e5f5
mov rdi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
jmp 0x14000e518
mov ebp, dword [rsp + 0x30]
jmp 0x14000e518
mov ebp, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x48]
inc ecx
mov dword [rsp + 0x48], ecx
inc rsi
movsxd rax, ecx
cmp rax, qword [r13]
mov rbx, qword [rsp + 0x58]
jl 0x14000dd90
inc ebp
mov dword [rsp + 0x30], ebp
add r13, 0x2c0
cmp ebp, 0x19
jge 0x14000e653
mov rbx, qword [rsp + 0x58]
jmp 0x14000dd70
cmp dword [0x140070814], 0
jne 0x14000e571
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x50]
call fcn.140009000
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14000e58e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000e866
mov ecx, 0x80004005
call fcn.140001010
int3
call fcn.140010574
int3
call fcn.140010574
int3
call fcn.140010574
int3
cmp dword [0x140070814], 0
jne 0x14000e5cc
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x50]
call fcn.140009000
nop
lea rdx, [rdi - 0x18]
or rax, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000e5e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000e866
call fcn.140010574
int3
cmp dword [0x140070814], 0
jne 0x14000e60f
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x50]
call fcn.140009000
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x14000e62f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
jmp 0x14000e866
mov ecx, 0x80004005
call fcn.140001010
int3
call fcn.140001140
int3
call fcn.140010574
int3
call fcn.140010574
int3
mov eax, dword [0x1400708e4]
cmp eax, 0xa
je 0x14000e68e
cmp eax, 9
je 0x14000e68e
cmp eax, 8
je 0x14000e68e
cmp eax, 0xb
je 0x14000e68e
cmp eax, 0xc
je 0x14000e68e
cmp eax, 0xd
je 0x14000e68e
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
lea rcx, [rsp + 0x5b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x14000e6a3
lea rdx, str.SoftwareMicrosoftWinntCurrentVersion
lea rcx, [rsp + 0x5b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x140070808], 0
je 0x14000e76a
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, [rsp + 0x5b0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14000e82c
mov edx, 0x105
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INFINTERNET
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.OtherDevicePath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000e82c
cmp dword [0x140070804], 0
je 0x14000e82c
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, [rsp + 0x5b0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14000e82c
mov edx, 0x105
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.INFOTHER
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.OtherDevicePath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x140070814], 0
jne 0x14000e846
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x50]
call fcn.140009000
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x14000e861
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov eax, 1
mov rcx, qword [rsp + 0x8e0]
xor rcx, rsp
call fcn.1400383f0
lea r11, [rsp + 0x8f0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret