Function at 0x14000b550
Capabilities:
Enumerate files on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf60
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x140076bc8]
xor rax, rsp
mov qword [rsp + 0xf50], rax
mov rbp, rcx
mov qword [rsp + 0x58], rcx
call fcn.140021e08
mov rdx, rax
xor r14d, r14d
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000b5b8
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rsi, str.FUNC_01VEN_10EC
mov rbx, rsi
or r15, 0xffffffffffffffff
shr rbx, 0x10
jne 0x14000b605
movzx edi, si
mov ecx, edi
call fcn.140021df4
test rax, rax
je 0x14000b627
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140002ef0
jmp 0x14000b627
xor eax, eax
mov rcx, r15
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.140003070
nop
call fcn.140021e08
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000b647
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
test rbx, rbx
jne 0x14000b67f
movzx edi, si
mov ecx, edi
call fcn.140021df4
test rax, rax
je 0x14000b69e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140002ef0
jmp 0x14000b69e
xor eax, eax
mov rcx, r15
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140003070
nop
mov byte [rsp + 0x340], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rsp + 0x341]
call fcn.14003d6c0
mov byte [rsp + 0xc40], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rsp + 0xc41]
call fcn.14003d6c0
mov byte [rsp + 0x940], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rsp + 0x941]
call fcn.14003d6c0
call fcn.140021e08
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000b715
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rdx, [0x1400582df]
test rdx, 0xffffffffffff0000
jne 0x14000b75e
movzx edi, dx
mov ecx, edi
call fcn.140021df4
test rax, rax
je 0x14000b77d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140002ef0
jmp 0x14000b77d
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x90]
call fcn.140003070
nop
mov dword [rsp + 0xa0], r14d
mov r13d, r14d
mov dword [rsp + 0x54], r14d
mov esi, r14d
mov r12d, r14d
call fcn.140021e08
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000b7b3
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
call fcn.140021e08
mov rdx, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14000b7e8
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0xb0]
mov rcx, rbp
call fcn.140009b90
nop
lea r8, [0x140058cac]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.1400033b0
mov r8, qword [rax]
mov edx, 0x200
lea rcx, [rsp + 0x640]
call fcn.14003deb0
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b85c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b880
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0xf0]
call fcn.14003d6c0
mov rdx, r14
nop
nop
movzx eax, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], al
add rdx, 1
test al, al
jne 0x14000b8a0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov rdx, qword [0x140078698]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000b8d0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [0x140058ee0]
mov dword [rdi - 1], eax
movzx eax, word [0x140058ee4]
mov word [rdi + 3], ax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
je 0x14000cae5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov r9d, 6
xor r8d, r8d
lea rdx, str.HDAUDIO
xor ecx, ecx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xd0], 0x20
mov dword [rsp + 0x88], r14d
lea r8, [rsp + 0xd0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x14000c651
mov edi, 5
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], r14
mov r9d, 0x100
lea r8, [rsp + 0x840]
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdA]
mov edx, r14d
mov eax, dword [0x140078658]
cmp eax, 0x5a
cmovl edx, edi
add eax, edx
mov dword [0x140078658], eax
movsxd r8, eax
xor r9d, r9d
mov edx, 0x402
mov rcx, qword [rbp + 0xef18]
call qword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov rcx, rbp
call fcn.14001b240
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x840]
call fcn.14003cc10
test rax, rax
je 0x14000c5d3
mov rcx, r14
nop
nop
nop
movzx eax, byte [rsp + rcx + 0x840]
mov byte [rsp + rcx + 0x540], al
add rcx, 1
test al, al
jne 0x14000ba10
mov rcx, r14
nop
nop
movzx eax, byte [rsp + rcx + 0x840]
mov byte [rsp + rcx + 0xb40], al
add rcx, 1
test al, al
jne 0x14000ba30
mov byte [rsp + 0xb7a], al
add r12d, 1
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x4c], 1
mov esi, r14d
mov dword [rsp + 0x48], r14d
mov eax, r14d
mov ecx, dword [0x140078658]
cmp ecx, 0x5a
mov edx, 0xa
cmovl eax, edx
add ecx, eax
mov dword [0x140078658], ecx
movsxd r8, ecx
xor r9d, r9d
mov edx, 0x402
mov rcx, qword [rbp + 0xef18]
call qword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov rcx, rbp
call fcn.14001b240
mov byte [rsp + 0x571], sil
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0xf0]
call fcn.14003d6c0
mov rdx, r14
nop
nop
nop
movzx eax, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], al
add rdx, 1
test al, al
jne 0x14000bad0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov rdx, qword [0x140078698]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000bb00
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [0x140058ee0]
mov dword [rdi - 1], eax
movzx eax, word [0x140058ee4]
mov word [rdi + 3], ax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14000be26
nop
nop
nop
mov rdx, r14
nop
nop
nop
nop
movzx ecx, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], cl
add rdx, 1
test cl, cl
jne 0x14000bb70
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x11c]
xor ecx, ecx
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000bba0
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
lea rcx, [rsp + 0x340]
call qword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14000be09
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, str.Manufacturer
mov rcx, rax
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000be00
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000be00
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x230]
mov rdx, r12
mov rcx, rbp
call fcn.140001760
test eax, eax
jne 0x14000bc49
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
jmp 0x14000be0d
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, [rsp + 0x230]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000be00
nop
nop
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 2
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000bdac
xor eax, eax
mov rcx, r15
lea rdi, [rsp + 0x230]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000bd0d
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000bd8a
cmp dword [rdx + 0x10], eax
jge 0x14000bce1
cmp dword [rbx - 0xc], eax
jl 0x14000c605
mov dword [rbx - 0x10], r14d
mov byte [rbx], al
jmp 0x14000bd8a
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bcf9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
jmp 0x14000bd8a
mov esi, dword [rbx - 0x10]
lea rbp, [rsp + 0x230]
sub rbp, rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000bd3d
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140002600
mov rbx, qword [rsp + 0x40]
cmp rbp, rsi
ja 0x14000bd59
movsxd rsi, edi
lea r8, [rbx + rbp]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.14003d220
jmp 0x14000bd72
movsxd rsi, edi
mov r9, rsi
lea r8, [rsp + 0x230]
mov rdx, rsi
mov rcx, rbx
call fcn.14003cf60
test edi, edi
js 0x14000c610
cmp edi, dword [rbx - 0xc]
jg 0x14000c610
mov dword [rbx - 0x10], edi
mov byte [rsi + rbx], 0
cmp dword [rbx - 0x10], 0
jl 0x14000bdac
lea rdx, [rsp + 0x540]
mov rcx, rbx
call fcn.14003cc10
test rax, rax
je 0x14000bdac
sub eax, ebx
cmp eax, 0xffffffff
jne 0x14000bdc5
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
je 0x14000bdf7
jmp 0x14000bc70
mov rcx, r14
nop
nop
movzx eax, byte [rsp + rcx + 0x340]
mov byte [rsp + rcx + 0xc40], al
add rcx, 1
test al, al
jne 0x14000bdd0
mov esi, 1
mov dword [rsp + 0x48], esi
mov rbp, qword [rsp + 0x58]
jmp 0x14000be00
mov esi, dword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
test esi, esi
jne 0x14000be26
lea rdx, [rsp + 0xf0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14000bb60
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
test esi, esi
jne 0x14000c52b
mov byte [rsp + 0x561], sil
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0xf0]
call fcn.14003d6c0
mov rdx, r14
nop
nop
nop
movzx eax, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], al
add rdx, 1
test al, al
jne 0x14000be60
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov rdx, qword [0x140078698]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000be90
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [0x140058ee0]
mov dword [rdi - 1], eax
movzx eax, word [0x140058ee4]
mov word [rdi + 3], ax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14000c1d1
nop
nop
nop
mov rdx, r14
nop
nop
nop
nop
movzx ecx, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], cl
add rdx, 1
test cl, cl
jne 0x14000bf00
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x11c]
xor ecx, ecx
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000bf30
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
lea rcx, [rsp + 0x340]
call qword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14000c1af
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, str.Manufacturer
mov rcx, rax
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000c1a6
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000c1a6
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x230]
mov rdx, r12
mov rcx, rbp
call fcn.140001760
test eax, eax
jne 0x14000bfd9
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
jmp 0x14000c1b8
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, [rsp + 0x230]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000c1a6
nop
nop
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 2
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000c15d
xor eax, eax
mov rcx, r15
lea rdi, [rsp + 0x230]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000c09d
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000c11a
cmp dword [rdx + 0x10], eax
jge 0x14000c071
cmp dword [rbx - 0xc], eax
jl 0x14000c61b
mov dword [rbx - 0x10], r14d
mov byte [rbx], al
jmp 0x14000c11a
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000c089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
jmp 0x14000c11a
mov esi, dword [rbx - 0x10]
lea rbp, [rsp + 0x230]
sub rbp, rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000c0cd
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140002600
mov rbx, qword [rsp + 0x40]
cmp rbp, rsi
ja 0x14000c0e9
movsxd rsi, edi
lea r8, [rbx + rbp]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.14003d220
jmp 0x14000c102
movsxd rsi, edi
mov r9, rsi
lea r8, [rsp + 0x230]
mov rdx, rsi
mov rcx, rbx
call fcn.14003cf60
test edi, edi
js 0x14000c626
cmp edi, dword [rbx - 0xc]
jg 0x14000c626
mov dword [rbx - 0x10], edi
mov byte [rsi + rbx], 0
cmp dword [rbx - 0x10], 0
jl 0x14000c15d
lea rdx, [rsp + 0x540]
mov rcx, rbx
call fcn.14003cc10
test rax, rax
je 0x14000c15d
sub eax, ebx
cmp eax, 0xffffffff
je 0x14000c15d
cmp dword [rbx - 0x10], 0
jl 0x14000c176
lea rdx, str.SUBSYS
mov rcx, rbx
call fcn.14003cc10
test rax, rax
je 0x14000c176
sub eax, ebx
cmp eax, 0xffffffff
je 0x14000c176
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
je 0x14000c1a2
jmp 0x14000c000
mov rcx, r14
nop
nop
movzx eax, byte [rsp + rcx + 0x340]
mov byte [rsp + rcx + 0xc40], al
add rcx, 1
test al, al
jne 0x14000c180
mov esi, 1
mov dword [rsp + 0x48], esi
jmp 0x14000c1a6
mov esi, dword [rsp + 0x48]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
test esi, esi
jne 0x14000c1d1
mov rbp, qword [rsp + 0x58]
lea rdx, [rsp + 0xf0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14000bef0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
test esi, esi
jne 0x14000c526
mov rcx, r14
nop
nop
nop
movzx eax, byte [rsp + rcx + 0x640]
mov byte [rsp + rcx + 0x340], al
add rcx, 1
test al, al
jne 0x14000c1f0
lea r8, str..inf
lea rdx, [0x140078698]
lea rcx, [rsp + 0xc0]
call fcn.1400033b0
mov rdx, qword [rax]
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000c240
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000c274
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
lea rcx, [rsp + 0x340]
call qword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14000c4fd
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, str.Manufacturer
mov rcx, rax
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000c4de
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000c4de
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x230]
mov rdx, r13
mov rbp, qword [rsp + 0x58]
mov rcx, rbp
call fcn.140001760
test eax, eax
jne 0x14000c32a
mov rcx, r13
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
mov rbx, qword [rsp + 0x40]
mov esi, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x54]
mov edi, 5
jmp 0x14000c5d3
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, [rsp + 0x230]
mov rcx, r13
call qword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x14000c4de
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x20], r14
mov r9d, 0x104
lea r8, [rsp + 0x230]
mov edx, 2
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x14000c496
xor eax, eax
mov rcx, r15
lea rdi, [rsp + 0x230]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000c3f7
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000c474
cmp dword [rdx + 0x10], eax
jge 0x14000c3c6
cmp dword [rbx - 0xc], eax
jl 0x14000c631
mov dword [rbx - 0x10], r14d
mov byte [rbx], al
jmp 0x14000c474
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000c3de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
mov rsi, qword [rsp + 0x78]
jmp 0x14000c474
mov ebp, dword [rbx - 0x10]
lea r12, [rsp + 0x230]
sub r12, rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000c427
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140002600
mov rbx, qword [rsp + 0x40]
cmp r12, rbp
ja 0x14000c443
movsxd rbp, edi
lea r8, [r12 + rbx]
mov r9, rbp
mov rdx, rbp
mov rcx, rbx
call fcn.14003d220
jmp 0x14000c45c
movsxd rbp, edi
mov r9, rbp
lea r8, [rsp + 0x230]
mov rdx, rbp
mov rcx, rbx
call fcn.14003cf60
test edi, edi
js 0x14000c63c
cmp edi, dword [rbx - 0xc]
jg 0x14000c63c
mov dword [rbx - 0x10], edi
mov byte [rbx + rbp], 0
test rsi, rsi
je 0x14000c496
cmp dword [rbx - 0x10], 0
jl 0x14000c496
mov rdx, rsi
mov rcx, rbx
call fcn.14003cc10
test rax, rax
je 0x14000c496
sub eax, ebx
cmp eax, 0xffffffff
jne 0x14000c4af
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
je 0x14000c4e5
jmp 0x14000c355
mov rcx, r14
nop
nop
nop
nop
movzx eax, byte [rsp + rcx + 0x340]
mov byte [rsp + rcx + 0xc40], al
add rcx, 1
test al, al
jne 0x14000c4c0
mov esi, 1
jmp 0x14000c4e9
mov rbx, qword [rsp + 0x40]
jmp 0x14000c4e9
mov esi, dword [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
test esi, esi
je 0x14000c502
mov rbp, qword [rsp + 0x58]
jmp 0x14000c52b
mov rbx, qword [rsp + 0x40]
mov esi, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x50]
test r12d, r12d
cmove esi, r14d
mov rbp, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov edi, 5
jmp 0x14000c5d3
mov rbp, qword [rsp + 0x58]
mov eax, r14d
mov ecx, dword [0x140078658]
cmp ecx, 0x5a
mov edx, 0x14
cmovl eax, edx
add ecx, eax
mov dword [0x140078658], ecx
movsxd r8, ecx
xor r9d, r9d
mov edx, 0x402
mov rcx, qword [rbp + 0xef18]
call qword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov rcx, rbp
call fcn.14001b240
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x20], rdx
mov r9d, 1
lea r8, [rsp + 0xc40]
lea rdx, [rsp + 0xb40]
xor ecx, ecx
call sub.newdev.dll_UpdateDriverForPlugAndPlayDevicesA
test eax, eax
jne 0x14000c5bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbp
call fcn.140004cb0
mov esi, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x54]
mov edi, 5
jmp 0x14000c5d3
mov r13d, 1
mov dword [rsp + 0x54], r13d
mov esi, r13d
mov r12d, dword [rsp + 0x50]
lea edi, [r13 + 4]
mov eax, dword [rsp + 0x88]
add eax, 1
mov dword [rsp + 0x88], eax
lea r8, [rsp + 0xd0]
mov edx, eax
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x14000c647
jmp 0x14000b984
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
test esi, esi
jne 0x14000c9e4
jmp 0x14000c656
mov rbx, qword [rsp + 0x40]
mov eax, r14d
mov edx, 0x32
mov ecx, dword [0x140078658]
cmp ecx, 0x5a
cmovl eax, edx
add ecx, eax
mov dword [0x140078658], ecx
movsxd r8, ecx
xor r9d, r9d
mov edx, 0x402
mov rcx, qword [rbp + 0xef18]
call qword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov rcx, rbp
call fcn.14001b240
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0xf0]
call fcn.14003d6c0
mov rdx, r14
nop
movzx eax, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], al
add rdx, 1
test al, al
jne 0x14000c6b0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov rdx, qword [0x140078698]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000c6e0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [str.Rt.inf]
mov dword [rdi - 1], eax
movzx eax, word [0x140058fa4]
mov word [rdi + 3], ax
movzx eax, byte [0x140058fa6]
mov byte [rdi + 5], al
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
je 0x14000c79c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x104
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
lea rcx, [rsp + 0x340]
call qword [sym.imp.SETUPAPI.dll_SetupCopyOEMInfA]
test eax, eax
jne 0x14000c791
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbp
call fcn.140004cb0
jmp 0x14000c9e4
mov r13d, 1
jmp 0x14000c9e4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0xf0]
call fcn.14003d6c0
mov rdx, r14
nop
movzx eax, byte [rsp + rdx + 0x640]
mov byte [rsp + rdx + 0x340], al
add rdx, 1
test al, al
jne 0x14000c7c0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov rdx, qword [0x140078698]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000c7f0
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [0x140058ee0]
mov dword [rdi - 1], eax
movzx eax, word [0x140058ee4]
mov word [rdi + 3], ax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14000c9db
nop
nop
nop
mov rcx, qword [0x140078698]
lea rax, [rsp + 0x940]
sub rax, rcx
movzx edx, byte [rcx]
mov byte [rax + rcx], dl
add rcx, 1
test dl, dl
jne 0x14000c862
lea rdi, [rsp + 0x940]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [str.Rt.inf]
mov dword [rdi - 1], eax
movzx eax, word [0x140058fa4]
mov word [rdi + 3], ax
movzx eax, byte [0x140058fa6]
mov byte [rdi + 5], al
lea rdx, [rsp + 0x940]
lea rcx, [rsp + 0x11c]
call fcn.14003c800
test rax, rax
jne 0x14000c9c2
mov rax, qword [0x140078698]
lea rdx, [rsp + 0x940]
sub rdx, rax
nop
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
add rax, 1
test cl, cl
jne 0x14000c8d0
lea rdi, [rsp + 0x940]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
mov eax, dword [str..inf]
mov dword [rdi - 1], eax
movzx eax, byte [0x140058fac]
mov byte [rdi + 3], al
lea rdx, [rsp + 0x940]
lea rcx, [rsp + 0x11c]
call fcn.14003c800
test rax, rax
jne 0x14000c9c2
mov rcx, r14
movzx eax, byte [rsp + rcx + 0x640]
mov byte [rsp + rcx + 0x340], al
add rcx, 1
test al, al
jne 0x14000c921
lea rdi, [rsp + 0x340]
xor eax, eax
mov rcx, r15
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x11c]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x14000c960
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x104
lea rax, [rsp + 0xe40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
lea rcx, [rsp + 0x340]
call qword [sym.imp.SETUPAPI.dll_SetupCopyOEMInfA]
test eax, eax
jne 0x14000c9bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbp
call fcn.140004cb0
jmp 0x14000c9c2
mov r13d, 1
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14000c850
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov eax, dword [0x140078658]
cmp eax, 0x5a
mov ecx, 0xa
cmovl r14d, ecx
add eax, r14d
mov dword [0x140078658], eax
movsxd r8, eax
xor r9d, r9d
mov edx, 0x402
mov rcx, qword [rbp + 0xef18]
call qword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
mov rcx, rbp
call fcn.14001b240
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ca4d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ca72
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ca97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000cab9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x14000cadd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov eax, r13d
jmp 0x14000cb99
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000cb07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000cb2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000cb51
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000cb73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x14000cb97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
xor eax, eax
mov rcx, qword [rsp + 0xf50]
xor rcx, rsp
call fcn.14003bc70
lea r11, [rsp + 0xf60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret