Function at 0x140045e64
Capabilities:
Create directory
Delete file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x16f8
call fcn.140110df0
sub rsp, rax
xor r12d, r12d
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x178], r12
cmp qword [0x140132ed0], r12
jne 0x140045ec0
lea rcx, [0x140133200]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.1400176e8
lea rcx, [0x140133200]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 0x238
call fcn.1400f9aa8
cmp rax, r12
je 0x140045ee3
lea rdx, [0x1401330e0]
mov rcx, rax
call fcn.140045c60
mov rdi, rax
jmp 0x140045ee6
mov rdi, r12
mov al, byte [r15 + 0x10]
mov ebp, 1
lea r8, [rsp + 0x14e0]
xor al, byte [rdi + 0x18]
mov r9d, 0x104
mov qword [rsp + 0x2f8], rdi
and al, bpl
mov qword [rsp + 0x238], r12
xor byte [rdi + 0x18], al
mov al, byte [r15 + 0x10]
xor al, byte [rdi + 0x18]
and al, 2
xor al, byte [rdi + 0x18]
mov byte [rdi + 0x18], al
mov cl, al
xor cl, byte [r15 + 0x10]
and cl, 4
xor cl, al
mov byte [rdi + 0x18], cl
mov al, byte [r15 + 0x10]
xor al, cl
and al, 8
xor al, cl
mov byte [rdi + 0x18], al
mov cl, byte [r15 + 0x10]
xor cl, al
and cl, 0x10
xor cl, al
mov byte [rdi + 0x18], cl
mov dl, byte [r15 + 0x10]
xor dl, cl
and dl, 0x20
xor dl, cl
mov byte [rdi + 0x18], dl
mov al, byte [r15 + 0x10]
xor al, dl
and al, 0x40
xor al, dl
mov edx, 0x2711
mov byte [rdi + 0x18], al
mov rcx, qword [0x140132a70]
mov qword [rsp + 0x228], rdi
call fcn.140059640
mov qword [rsp + 0x318], rax
lea rax, [rdi + 0x1d0]
mov qword [rdi + 0x110], rax
call fcn.14005c8d0
mov byte [rsp + 0x60], r12b
shr rax, 0x10
mov byte [rsp + 0x1758], r12b
lea ecx, [rax - 0x60000]
cmp eax, 0x60000
mov qword [rsp + 0x2d8], rax
setae byte [rsp + 0x5a]
cmp ecx, 0xffff
lea rcx, [rsp + 0x80]
setbe bl
mov byte [rsp + 0x5b], bl
call fcn.14006166c
mov rax, qword [str._SystemRoot__]
lea r11, [rsp + 0x338]
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x338]
mov qword [r11], rax
mov rax, qword [0x14011a058]
xor r9d, r9d
mov qword [r11 + 8], rax
mov rax, qword [0x14011a060]
mov rcx, r15
mov qword [r11 + 0x10], rax
mov eax, dword [0x14011a068]
mov byte [rsp + 0x20], bpl
mov dword [r11 + 0x18], eax
xor eax, eax
mov dword [rsp + 0x354], eax
mov dword [rsp + 0x358], eax
mov dword [rsp + 0x35c], eax
call fcn.140076e04
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x1dc], eax
lea ecx, [rax + 0x1e]
movsxd rdx, ecx
lea rcx, [rsp + 0x80]
call fcn.14006176c
cmp bl, r12b
lea r13d, [rbp + 2]
jl 0x1400460c8
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x270]
call fcn.14006d600
lea rdx, str.System32Drvload.exe
lea rcx, [rsp + 0x270]
call fcn.1400617a8
mov rcx, qword [rsp + 0x270]
call fcn.1400f8c14
lea rcx, [rsp + 0x270]
neg eax
sbb bl, bl
and bl, r13b
mov byte [rsp + 0x5b], bl
call fcn.1400590a4
mov rcx, qword [rdi + 0x1c0]
lea rdx, [0x140115710]
mov r8d, 0xa
mov qword [rsp + 0x260], rbp
mov r10b, r12b
mov byte [rsp + 0x59], r12b
call fcn.14001d128
mov rcx, qword [rdi + 0x1c0]
mov dword [rsp + 0x2b8], 0xd
mov qword [rcx + 0xa], r12
mov rax, qword [rdi + 0x1c0]
add rax, 0x12
mov qword [rsp + 0x130], rax
cmp r10b, 0xff
jae 0x140046128
add r10b, bpl
mov byte [rsp + 0x59], r10b
lea rax, [rdi + 0x1c8]
lea rbx, [rsp + 0x218]
mov rdx, rsi
cmp qword [rax], r12
mov byte [rsp + 0x58], r12b
mov qword [rsp + 0x218], r12
cmove rbx, rax
mov rcx, rbx
call fcn.14006d718
mov r11, qword [rbx]
lea rcx, [rsp + 0x40]
mov r8d, 2
mov qword [rsp + 0x40], r11
mov r13b, r12b
mov dword [rdi + 0x148], r12d
mov byte [rsp + 0x68], r12b
mov byte [rsp + 0x168], r8b
call fcn.140016c7c
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x48], r8b
lea rcx, str.listdev:
mov bl, pe_nt_image_headers64
mov r8d, 8
mov byte [rsp + 0x69], r12b
mov ebp, r12d
mov byte [rdi + 0x150], r12b
mov dword [rsp + 0x5c], ebx
mov byte [rdi + 0x155], r12b
mov r14, r12
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0x100], r12
mov rsi, r12
mov qword [rsp + 0x288], r12
call fcn.14005a71c
xor r9d, r9d
cmp al, r9b
je 0x1400462b1
mov rax, qword [rsp + 0x40]
mov ebp, 0x100
add rax, 0x10
mov qword [rsp + 0x40], rax
movzx ecx, word [rax]
cmp cx, r9w
je 0x14004626e
lea r8d, [r9 + 9]
lea r11d, [r9 + 0xd]
cmp r8w, cx
ja 0x140046217
cmp cx, r11w
jbe 0x14004622f
mov r10d, 0x20
cmp r10w, cx
cmovne rsi, rax
mov qword [rsp + 0x288], rsi
jmp 0x140046235
mov r10d, 0x20
mov edx, 2
cmp r8w, cx
ja 0x140046246
cmp cx, r11w
jbe 0x14004625f
cmp r10w, cx
je 0x14004625f
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
je 0x14004626e
jmp 0x14004623a
cmp word [rax], r9w
je 0x14004626e
mov word [rax], r9w
add qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x40]
call fcn.140016c7c
cmp word [rsi], r9w
jne 0x1400462d4
lea rcx, [rsp + 0x218]
call fcn.1400590a4
lea rcx, [rsp + 0x80]
call fcn.1400590a4
lea rcx, [rsp + 0x228]
call fcn.14004e268
mov rax, 0xffffffff80070057
jmp 0x14004aa72
lea rdx, [rsp + 0x40]
lea rcx, str.buildcache:
mov r8d, 0xa
call fcn.1400641a4
xor r9d, r9d
cmp al, r9b
jne 0x14004a9c5
movzx esi, byte [rsp + 0x5b]
cmp dword [rsp + 0x2d8], 0x60000
mov r10d, 1
lea eax, [r10 + 2]
mov r12b, 0xff
mov r8b, r9b
mov byte [rsp + 0x1750], r9b
mov qword [rsp + 0xa8], r9
mov word [rdi + 0x14c], r10w
cmovae esi, eax
mov byte [rdi + 0x158], r9b
jmp 0x14004727b
lea rdx, [rsp + 0x40]
lea rcx, str.extract
mov r8d, 8
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046354
lea r10d, [r9 + 1]
mov byte [rdi + 0x150], r10b
mov byte [rsp + 0x48], r10b
mov byte [rsp + 0x58], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, [0x140119fe4]
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046379
lea r10d, [r9 + 1]
jmp 0x14004634a
lea rdx, [rsp + 0x40]
lea rcx, str.nocheck
mov r8d, 8
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400463a8
lea r10d, [r9 + 1]
mov byte [rdi + 0x155], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.devcon
mov r8d, 7
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400463d7
lea r10d, [r9 + 1]
mov byte [rdi + 0x156], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.rescan
mov r8d, 7
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046402
mov bl, r9b
mov dword [rsp + 0x5c], ebx
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.norescan
mov r8d, 9
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046425
mov bl, 0xc0
jmp 0x1400463f9
mov rdx, qword [rsp + 0x40]
lea rcx, str.rescan:
mov r8d, 8
call fcn.14005a71c
xor edx, edx
cmp al, dl
je 0x140046480
add qword [rsp + 0x40], 0x10
movsx eax, bl
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x200], eax
call fcn.140065ddc
mov ebx, dword [rsp + 0x200]
xor r9d, r9d
cmp bl, r9b
mov dword [rsp + 0x5c], ebx
jge 0x14004726d
jmp 0x1400463f6
lea rdx, [rsp + 0x40]
lea rcx, str.dummy
mov r8d, 6
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400464af
lea r10d, [r9 + 1]
mov byte [rdi + 0x157], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.sub
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400464dc
lea r10d, [r9 + 1]
mov byte [rsp + 0x69], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, [0x140119f8c]
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046505
mov byte [rsp + 0x69], 2
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.7pe
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x14004652c
mov sil, 3
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.7pe_
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046555
mov sil, byte [rsp + 0x5b]
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.drvload
mov r8d, 8
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
jne 0x14004654b
lea r8d, [r9 + 6]
lea rdx, [rsp + 0x40]
lea rcx, str.inner
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046599
mov sil, 0xc0
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.nnverify
mov r8d, 9
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400465c6
lea r10d, [r9 + 1]
mov byte [rsp + 0x48], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.rverify
mov r8d, 8
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400465ef
mov byte [rsp + 0x48], r9b
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.listdevi
mov r8d, 0xa
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x14004661c
and ebp, 0xff00
or ebp, 2
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.listdevc
mov r8d, 0xa
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046649
and ebp, 0xff00
or ebp, 4
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.listdev
mov r8d, 0xa
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046676
and ebp, 0xff00
or ebp, 8
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.comp
mov r8d, 6
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400466a9
lea r10d, [r9 + 1]
mov r8b, r10b
mov byte [rsp + 0x1750], r10b
jmp 0x14004727b
lea rdx, [rsp + 0x40]
lea rcx, str.hwid
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400466d1
bts ebp, 0xc
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, [0x140119f00]
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400466f9
bts ebp, 0xb
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.inst
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046721
bts ebp, 0xd
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.All
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046749
bts ebp, 9
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, [0x140119ee8]
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046771
bts ebp, 0xa
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, [0x140119ee0]
mov r8d, 5
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400467a0
lea eax, [r9 + 3]
mov word [rdi + 0x14c], ax
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.auto:
mov r8d, 5
call fcn.1400641a4
xor ecx, ecx
cmp al, cl
je 0x1400467ec
mov dword [rsp + 0x1f0], ecx
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x40]
call fcn.140065ca8
xor r9d, r9d
cmp eax, r9d
je 0x14004726d
movzx eax, word [rsp + 0x1f0]
jmp 0x140046794
lea rdx, [rsp + 0x40]
lea rcx, str.optsys
mov r8d, 7
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046817
mov byte [rdi + 0x191], r9b
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.optsys:
mov r8d, 7
call fcn.1400641a4
xor ecx, ecx
cmp al, cl
je 0x14004686b
mov dword [rsp + 0x1bc], ecx
lea rdx, [rsp + 0x1bc]
lea rcx, [rsp + 0x40]
call fcn.140065ca8
xor r9d, r9d
cmp eax, r9d
je 0x14004726d
mov al, byte [rsp + 0x1bc]
mov byte [rdi + 0x191], al
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.num:
mov r8d, 4
call fcn.1400641a4
xor ecx, ecx
cmp al, cl
je 0x1400468bf
mov dword [rsp + 0xd0], ecx
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x40]
call fcn.140065ca8
xor r9d, r9d
cmp eax, r9d
je 0x14004726d
mov eax, dword [rsp + 0xd0]
mov dword [rdi + 0x1a0], eax
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.sys
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400468ee
lea r10d, [r9 + 1]
mov byte [rdi + 0x158], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.inf1
mov r8d, 6
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046926
mov cl, byte [rsp + 0x1758]
and cl, 0xbf
or cl, 0x20
mov byte [rsp + 0x1758], cl
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.inf0
mov r8d, 6
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046954
mov cl, byte [rsp + 0x1758]
and cl, 0xdf
or cl, 0x40
jmp 0x14004691a
lea rdx, [rsp + 0x40]
lea rcx, str.infdetail
mov r8d, 0xb
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046980
or byte [rsp + 0x1758], 4
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.infbase
mov r8d, 9
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400469ac
or byte [rsp + 0x1758], 2
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.inf
mov r8d, 4
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400469dc
lea r10d, [r9 + 1]
or byte [rsp + 0x1758], r10b
jmp 0x140047273
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xa
inc rcx
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046a0a
lea r10d, [r9 + 1]
or r13b, r10b
jmp 0x140047273
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xb
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046a32
or r13b, 3
jmp 0x14004726d
mov rcx, qword [str.AutoDisverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xe
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140046a5a
or r13b, 0x10
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.sysdir:
mov r8d, 7
call fcn.1400641a4
xor edx, edx
cmp al, dl
je 0x140046acc
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x2e8]
mov r8d, 0x1cd
mov qword [rsp + 0x2e8], rax
call fcn.14002499c
mov r8b, byte [rsp + 0x1750]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea r10d, [r9 + 1]
cmp qword [rdi + 0x168], r9
jne 0x14004727b
mov rax, qword [rsp + 0x2e8]
mov qword [rdi + 0x168], rax
jmp 0x14004727b
lea rdx, [rsp + 0x40]
lea rcx, str.ret:
mov r8d, 4
call fcn.1400641a4
xor r9d, r9d
cmp al, r9b
je 0x140046bdf
mov rax, qword [rsp + 0x40]
lea r8d, [r9 + 9]
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r9w
je 0x140046b3e
lea ebx, [r9 + 0xd]
lea r15d, [r9 + 2]
lea r10d, [r9 + 0x20]
cmp r8w, cx
ja 0x140046b1b
cmp cx, bx
jbe 0x140046b32
cmp r10w, cx
je 0x140046b32
add rax, r15
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
jne 0x140046b10
mov ebx, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x1740]
cmp word [rdx], r9w
je 0x140046b80
cmp r8w, word [rdx]
ja 0x140046b54
mov ecx, 0xd
cmp word [rdx], cx
jbe 0x140046b80
mov r10d, 0x20
cmp r10w, word [rdx]
je 0x140046b86
cmp qword [rdi + 0x160], r9
jne 0x140046b86
lea rcx, [rdi + 0x1e0]
mov qword [rdi + 0x1e8], rax
mov qword [rdi + 0x160], rcx
jmp 0x140046b86
mov r10d, 0x20
movzx ecx, word [rax]
cmp cx, r9w
je 0x140047263
mov edx, 2
cmp r8w, cx
ja 0x140046baa
mov r11d, 0xd
cmp cx, r11w
jbe 0x140046bc7
cmp r10w, cx
je 0x140046bc7
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
je 0x140047263
jmp 0x140046b98
cmp word [rax], r9w
je 0x140047263
mov word [rax], r9w
add qword [rsp + 0x40], rdx
jmp 0x140047263
lea rdx, [rsp + 0x40]
lea rcx, str.IdCah:
mov r8d, 6
call fcn.1400641a4
xor r9d, r9d
cmp al, r9b
je 0x140046cc2
mov rax, qword [rsp + 0x40]
lea r8d, [r9 + 9]
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r9w
je 0x140046c51
lea ebx, [r9 + 0xd]
lea r15d, [r9 + 2]
lea r10d, [r9 + 0x20]
cmp r8w, cx
ja 0x140046c2e
cmp cx, bx
jbe 0x140046c45
cmp r10w, cx
je 0x140046c45
add rax, r15
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
jne 0x140046c23
mov ebx, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x1740]
cmp word [rdx], r9w
je 0x140046c85
cmp r8w, word [rdx]
ja 0x140046c67
mov ecx, 0xd
cmp word [rdx], cx
jbe 0x140046c85
mov r8, qword [rsp + 0x178]
mov ecx, 0x20
cmp cx, word [rdx]
cmovne r8, rax
mov qword [rsp + 0x178], r8
jmp 0x140046c8d
mov r8, qword [rsp + 0x178]
cmp word [rax], r9w
je 0x140046ca1
mov word [rax], r9w
mov eax, 2
add qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.140016c7c
cmp word [r8], r9w
jne 0x14004726d
mov qword [rsp + 0x178], r9
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.retid:
mov r8d, 6
call fcn.1400641a4
xor r9d, r9d
lea r8d, [r9 + 9]
cmp al, r9b
je 0x140046d8f
mov rax, qword [rsp + 0x40]
mov rdx, rax
movzx ecx, word [rax]
cmp cx, r9w
je 0x140046d34
lea ebx, [r9 + 0xd]
lea r15d, [r9 + 2]
lea r10d, [r9 + 0x20]
cmp r8w, cx
ja 0x140046d11
cmp cx, bx
jbe 0x140046d28
cmp r10w, cx
je 0x140046d28
add rax, r15
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
jne 0x140046d06
mov ebx, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x1740]
cmp word [rdx], r9w
je 0x140046d72
cmp r8w, word [rdx]
ja 0x140046d4a
mov ecx, 0xd
cmp word [rdx], cx
jbe 0x140046d72
mov ecx, 0x20
cmp cx, word [rdx]
je 0x140046d72
cmp qword [rdi + 0x1d8], r9
jne 0x140046d72
lea rcx, [rdi + 0x1d0]
mov qword [rdi + 0x1d8], rax
mov qword [rdi + 0x110], rcx
cmp word [rax], r9w
je 0x140047263
mov word [rax], r9w
mov eax, 2
add qword [rsp + 0x40], rax
jmp 0x140047263
lea rdx, [rsp + 0x40]
lea rcx, str.DevClass:
call fcn.1400641a4
xor r9d, r9d
cmp al, r9b
je 0x140046e6b
mov rax, qword [rsp + 0x40]
lea r10d, [r9 + 9]
movzx ecx, word [rax]
mov r8, rax
cmp cx, r9w
je 0x140046e01
lea edx, [r9 + 2]
lea r11d, [r9 + 0x20]
cmp r10w, cx
ja 0x140046dd9
cmp cx, word [rsp + 0x2b8]
jbe 0x140046df2
cmp r11w, cx
je 0x140046df2
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r9w
je 0x140046e01
jmp 0x140046dc9
cmp word [rax], r9w
je 0x140046e01
mov word [rax], r9w
add qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x40]
call fcn.140016c7c
cmp word [r8], r9w
je 0x14004726d
cmp r10w, word [r8]
ja 0x140046e2a
mov eax, 0xd
cmp word [r8], ax
jbe 0x14004726d
mov eax, 0x20
cmp ax, word [r8]
je 0x14004726d
cmp qword [rdi + 0x120], r9
jne 0x140046e54
lea rcx, [rdi + 0x120]
mov rdx, r8
call fcn.14006d680
xor r9d, r9d
mov rax, qword [rdi + 0x120]
mov qword [rdi + 0x118], rax
mov ebx, dword [rsp + 0x5c]
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.DevID:
mov r8d, 6
call fcn.1400641a4
xor edx, edx
cmp al, dl
je 0x140046f7b
mov rbx, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
mov edx, 0xa7
call fcn.14001d9fc
xor r9d, r9d
cmp word [rbx], r9w
je 0x140046ed7
lea eax, [r9 + 9]
cmp ax, word [rbx]
ja 0x140046ebb
lea eax, [r9 + 0xd]
cmp word [rbx], ax
jbe 0x140046ed7
mov eax, 0x20
cmp ax, word [rbx]
cmovne r14, rbx
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0x100], r14
mov rax, qword [rsp + 0x40]
cmp word [rax], r9w
je 0x140046ef0
mov word [rax], r9w
mov eax, 2
add qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.140016c7c
cmp r14, r9
je 0x140046e62
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.140021114
mov r14, qword [rsp + 0x100]
mov rcx, r14
mov qword [rsp + 0xd8], r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r9d, r9d
movsxd rcx, eax
cmp rcx, r9
jle 0x140046f56
lea edx, [r9 + 1]
lea r8d, [r9 + 0x26]
cmp r8w, word [r14 + rcx*2 - 2]
jne 0x140046f56
mov word [r14 + rcx*2], r9w
sub rcx, rdx
sub eax, edx
cmp rcx, r9
jg 0x140046f3f
cmp eax, r9d
mov ebx, dword [rsp + 0x5c]
jg 0x14004726d
mov r14, r9
mov qword [rsp + 0xd8], r9
mov qword [rsp + 0x100], r9
jmp 0x14004726d
lea rdx, [rsp + 0x40]
lea rcx, str.infcache:
mov r8d, 0xa
call fcn.140064200
xor ecx, ecx
cmp al, cl
je 0x140046fd2
lea rcx, [rsp + 0x40]
call fcn.140016c7c
mov edx, 0x27
mov rcx, rax
call fcn.14001d9fc
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x238], rax
cmp word [rcx], r9w
je 0x140047263
mov word [rcx], r9w
jmp 0x140046d80
mov rdx, qword [rsp + 0x40]
lea rcx, str.disable:
mov r8d, 9
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x140047002
mov rbx, qword [rsp + 0x40]
lea eax, [rcx + 2]
add rbx, rax
mov r12b, al
jmp 0x1400470e1
mov rdx, qword [rsp + 0x40]
lea rcx, str.enable:
mov r8d, 8
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x140047024
mov r12b, 1
jmp 0x140047044
mov rdx, qword [rsp + 0x40]
lea rcx, str.remove:
mov r8d, 8
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x14004704e
mov r12b, 5
mov rbx, qword [rsp + 0x40]
jmp 0x1400470e1
mov rdx, qword [rsp + 0x40]
lea rcx, str.update:
mov r8d, 8
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x140047070
mov r12b, 0x11
jmp 0x140047044
mov rdx, qword [rsp + 0x40]
lea rcx, str.status:
mov r8d, 8
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x140047092
mov r12b, 0x12
jmp 0x140047044
mov rdx, qword [rsp + 0x40]
lea rcx, str.install:
mov r8d, 9
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x1400470b4
mov r12b, 0x51
jmp 0x1400470d8
mov rdx, qword [rsp + 0x40]
lea rcx, str.restart:
mov r8d, 9
call fcn.14005a71c
xor ecx, ecx
cmp al, cl
je 0x140047166
mov r12b, 3
mov rbx, qword [rsp + 0x40]
add rbx, 2
lea rcx, [rsp + 0x40]
add rbx, 0x10
mov edx, reloc.OLEAUT32.dll_OleCreatePictureIndirect
mov qword [rsp + 0x40], rbx
call fcn.14001d9fc
xor r9d, r9d
cmp word [rbx], r9w
je 0x14004713e
lea edx, [r9 + 9]
cmp dx, word [rbx]
ja 0x140047113
lea ecx, [rdx + 4]
cmp word [rbx], cx
jbe 0x14004713e
mov ecx, 0x20
cmp cx, word [rbx]
je 0x14004713e
mov qword [rsp + 0xa8], rax
cmp r12b, 0x12
je 0x14004713e
lea rdx, [rsp + 0xa8]
mov rcx, r15
call fcn.140021114
xor r9d, r9d
mov rax, qword [rsp + 0x40]
cmp word [rax], r9w
je 0x140047157
mov word [rax], r9w
mov eax, 2
add qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.140016c7c
jmp 0x140046e62
lea rdx, [rsp + 0x40]
lea rcx, [0x140119db4]
mov r8d, 3
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x140047193
lea r10d, [r9 + 1]
mov byte [rsp + 0x68], r10b
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.showdev
mov r8d, 8
call fcn.1400640c8
xor r9d, r9d
cmp al, r9b
je 0x1400471c2
lea r10d, [r9 + 1]
or dword [rdi + 0x1b0], r10d
jmp 0x140047273
lea rdx, [rsp + 0x40]
lea rcx, str.dbg:
mov r8d, 4
call fcn.1400641a4
xor r9d, r9d
cmp al, r9b
je 0x140047212
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x2c0], r9
call fcn.140065c7c
xor r9d, r9d
cmp eax, r9d
je 0x14004726d
mov eax, dword [rsp + 0x2c0]
mov dword [rdi + 0x1b0], eax
jmp 0x14004726d
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx]
cmp ax, r9w
je 0x140047263
mov edx, 9
lea r14d, [rdx - 7]
lea r8d, [rdx + 0x17]
lea r15d, [rdx + 4]
cmp dx, ax
ja 0x14004723c
cmp ax, r15w
jbe 0x140047253
cmp r8w, ax
je 0x140047253
add rcx, r14
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r9w
jne 0x140047231
mov r14, qword [rsp + 0xd8]
mov r15, qword [rsp + 0x1740]
lea rcx, [rsp + 0x40]
call fcn.140016c7c
mov r10d, 1
mov r8b, byte [rsp + 0x1750]
mov rax, qword [rsp + 0x40]
mov ecx, 0x2a
cmp cx, word [rax]
je 0x14004631b
mov al, byte [rdi + 0x1b0]
mov edx, ebp
and al, r10b
cmp bl, 0xf0
setl byte [rsp + 0x8c]
shr edx, 8
mov byte [rsp + 0x90], al
and dl, r10b
mov dword [rsp + 0xc0], edx
je 0x1400472c1
mov byte [rdi + 0x150], r9b
cmp ebp, r9d
je 0x1400472d9
mov al, dl
neg al
sbb cl, cl
and cl, r8b
mov r8b, cl
mov byte [rsp + 0x1750], cl
bt ebp, 0xd
jae 0x1400472e9
bt ebp, 0xa
jae 0x1400472e9
btr ebp, 0xa
cmp dl, r9b
je 0x140047309
mov eax, 2
test al, bpl
je 0x140047309
test ebp, 0x3c00
jne 0x140047309
cmp r8b, r9b
jne 0x140047309
bts ebp, 0xd
lea rax, str.__DEVI.REBOOT
mov qword [rsp + 0x1f8], r9
mov qword [rsp + 0x2f0], rax
cmp dl, r9b
je 0x140047333
cmp qword [rsp + 0x288], r9
je 0x140049ba9
cmp r12b, r9b
jge 0x14004a63b
cmp r13b, r9b
jne 0x14004a623
cmp sil, r9b
mov ecx, r9d
movzx eax, sil
cmovge ecx, eax
or byte [rsp + 0x5a], cl
mov byte [rdi + 0x154], cl
cmp dl, r9b
jne 0x14004736f
cmp byte [rsp + 0x59], r10b
jne 0x14004736f
mov qword [rdi + 0x210], r15
mov r12, qword [rsp + 0x130]
mov qword [rsp + 0x308], r14
mov r14d, 0x20
lea rcx, [r12 + 0x400000]
mov r8, r14
xor edx, edx
mov qword [r12], r9
call fcn.1400f97d0
mov rsi, qword [rsp + 0x178]
xor r13d, r13d
mov rbx, r13
cmp rsi, r13
je 0x14004743c
lea rcx, [0x140134120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x20], r13
call fcn.1400184b8
mov rsi, rax
cmp rax, r13
je 0x14004742f
mov rdx, qword [rax + 8]
cmp rdx, r13
je 0x14004742f
mov rcx, qword [rax + 0x18]
movabs rax, 0x3fffffffffffffff
and rcx, rax
cmp rcx, 0x400032
jb 0x14004742f
lea r8d, [r14 - 0x16]
lea rcx, [0x140115710]
call fcn.1400590d4
cmp eax, r13d
jne 0x14004742f
mov rbx, qword [rsi + 8]
mov r8d, 0x400020
mov rcx, r12
add rbx, 0x12
mov rdx, rbx
call fcn.14001d128
lea rcx, [0x140134120]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
mov qword [rdi], r12
mov dword [rsp + 0x198], r14d
cmp rbx, rsi
mov ecx, esi
mov dword [rsp + 0x19c], esi
sete byte [rsp + 0xb0]
xor eax, eax
mov r12d, esi
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x24
sete cl
mov dword [rsp + 0x64], ecx
cmp ecx, esi
je 0x1400474b3
lea edx, [rsi + 2]
add rax, rdx
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
jne 0x1400474b3
lea ecx, [rsi + 1]
add rax, rdx
add r12d, ecx
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
je 0x1400474a2
lea rcx, [rsp + 0x40]
call fcn.140016c7c
mov rcx, qword [rsp + 0x40]
mov edx, 0x2c
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov qword [rsp + 0x268], rsi
mov byte [rsp + 0x6c], sil
mov byte [rsp + 0x6d], sil
mov r14, rsi
mov qword [rsp + 0x1d0], rsi
mov r15, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0xf0], rsi
cmp rax, rsi
je 0x14004765e
lea rcx, [rsp + 0x190]
add r15, 2
mov word [rax], si
mov qword [rsp + 0x190], r15
call fcn.140016c7c
mov rbx, qword [rsp + 0x190]
mov rcx, rbx
mov edx, 0x2c
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r15d, 2
mov r14, rax
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x188], rax
cmp rax, rsi
je 0x140047591
add r14, r15
lea rcx, [rsp + 0x188]
mov word [rax], si
mov qword [rsp + 0x188], r14
call fcn.140016c7c
mov r14, qword [rsp + 0x188]
mov qword [rsp + 0x1d0], r14
mov rcx, rbx
call fcn.1400186b0
cmp rbx, rsi
je 0x1400475b4
mov eax, 0x7e
cmp ax, word [rbx]
jne 0x1400475b4
mov eax, 1
add rbx, r15
mov byte [rsp + 0x6d], al
movzx eax, word [rbx]
neg ax
sbb r15, r15
and r15, rbx
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x190], r15
cmp r15, rsi
je 0x14004765e
mov edx, 0x7c
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov ebx, 2
mov rcx, rax
cmp rax, rsi
je 0x140047663
add rcx, rbx
mov word [rax], si
movzx eax, word [r15]
neg ax
sbb rdx, rdx
and rdx, r15
cmp word [rcx], si
cmove rcx, rdx
mov r15, rdx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x190], rdx
cmp rcx, rsi
je 0x140047663
lea r9, [rsp + 0x6c]
lea r8, [rdi + 0x1f0]
lea rdx, [rsp + 0x268]
call fcn.140019800
mov rbx, qword [rsp + 0x268]
cmp rbx, rsi
je 0x14004765e
cmp byte [rsp + 0x6d], sil
je 0x14004765e
mov r13, rbx
mov qword [rsp + 0x268], rsi
mov ebx, 2
mov rcx, qword [rsp + 0x40]
call fcn.1400186b0
cmp r14, rsi
je 0x1400476c4
mov edx, 0x2c
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rsi, rax
mov qword [rsp + 0xf0], rax
xor eax, eax
cmp rsi, rax
je 0x1400476ba
mov word [rsi], ax
lea rcx, [rsp + 0xf0]
add rsi, rbx
mov qword [rsp + 0xf0], rsi
call fcn.140016c7c
mov rcx, qword [rsp + 0xf0]
call fcn.1400186b0
mov rcx, r14
call fcn.1400186b0
xor esi, esi
mov rax, qword [rsp + 0x40]
cmp word [rax], si
je 0x1400477c4
lea rcx, [rsp + 0x40]
mov edx, 1
call fcn.140076808
cmp rax, rsi
je 0x1400477c4
mov ecx, 0x23
cmp cx, word [rax]
jne 0x1400477c4
lea rcx, [rsp + 0x220]
call fcn.14006166c
lea r11, str..tmp.cab
lea r9, str.devi
lea rdx, [rsp + 0x220]
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], r11
call fcn.140008050
lea rdx, str.__dd__len16M___
lea rcx, [rsp + 0x1c0]
call fcn.14006d600
mov rdx, qword [rsp + 0x220]
lea rcx, [rsp + 0x1c0]
call fcn.1400617a8
lea rdx, [0x140119d20]
lea rcx, [rsp + 0x1c0]
call fcn.1400617a8
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x1c0]
call fcn.1400617a8
mov rdx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1740]
xor r8d, r8d
call fcn.1400a58d0
mov rdx, qword [rsp + 0x220]
lea rcx, [rdi + 0x228]
call fcn.1400192e4
lea rcx, [rsp + 0x1c0]
mov qword [rsp + 0x40], rax
call fcn.1400590a4
lea rcx, [rsp + 0x220]
call fcn.1400590a4
mov rcx, qword [rsp + 0x40]
call fcn.1400f8ad8
mov rcx, qword [rsp + 0x40]
mov esi, eax
mov dword [rsp + 0x14c], eax
call fcn.1400f9d60
xor r11d, r11d
mov rbx, rax
cmp byte [rsp + 0x58], r11b
jne 0x140047824
cmp esi, r11d
jne 0x14004781a
cmp eax, 4
jle 0x14004781a
mov rcx, qword [rsp + 0x40]
movsxd rdx, eax
lea rcx, [rcx + rdx*2 - 8]
lea rdx, str..CAB
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
je 0x140047824
mov dword [rsp + 0x118], r11d
jmp 0x14004782f
mov dword [rsp + 0x118], 1
cmp esi, r11d
jne 0x14004786c
mov eax, 3
cmp ebx, eax
jle 0x14004786c
mov rax, qword [rsp + 0x40]
movsxd rcx, ebx
lea rdx, [0x140119d08]
lea rcx, [rax + rcx*2 - 6]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
jne 0x14004786c
lea ecx, [r11 + 1]
mov dword [rsp + 0x204], ecx
jmp 0x140047879
mov dword [rsp + 0x204], r11d
mov ecx, 1
cmp dword [rsp + 0x118], r11d
je 0x140047958
cmp byte [0x140130009], cl
movsxd r10, dword [rsp + 0x1dc]
lea rax, str.SysWow64
lea rdx, str.System32
mov r8d, 0x10
cmove rdx, rax
mov rax, qword [rsp + 0x80]
lea rcx, [rax + r10*2]
call fcn.14001d128
mov rax, qword [rsp + 0x80]
lea ecx, [r10 + 8]
movsxd rdx, ecx
mov r8d, 0x1a
lea rcx, [rax + rdx*2]
lea rdx, str.cabinet.dll
call fcn.14001d128
cmp byte [rsp + 0xc0], r11b
jne 0x140047958
mov rcx, qword [rsp + 0x80]
call fcn.1400f8c14
xor r11d, r11d
cmp eax, r11d
jne 0x140047958
lea edx, [r11 + 0x63]
lea rcx, [rsp + 0x2a0]
call fcn.1400616e0
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x2a0]
lea rdx, str.__dd__bs1M__s_0__._33INDATA
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x1740]
xor r8d, r8d
call fcn.1400a58d0
lea rcx, [rsp + 0x2a0]
call fcn.1400590a4
xor r11d, r11d
cmp r14, r11
je 0x14004797a
mov eax, 0x2a
cmp ax, word [r14]
cmove r14, r11
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x188], r14
cmp ebx, 4
jle 0x1400479a9
mov rax, qword [rsp + 0x40]
movsxd rcx, ebx
lea rdx, [0x140117ce8]
lea rcx, [rax + rcx*2 - 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
jne 0x1400479a9
lea ecx, [r11 + 1]
mov eax, ecx
jmp 0x1400479b1
mov eax, r11d
mov ecx, 1
cmp esi, r11d
jne 0x1400479bd
mov esi, ecx
cmp eax, r11d
jne 0x1400479c0
mov esi, r11d
cmp r12d, ecx
mov r12d, dword [rsp + 0x64]
je 0x1400479e8
cmp eax, r11d
je 0x1400479d9
cmp r12d, r11d
je 0x1400479d9
cmp r14, r11
jne 0x1400479e8
cmp esi, r11d
je 0x1400479e3
cmp r12d, r11d
jne 0x1400479e8
mov al, r11b
jmp 0x1400479ea
mov al, cl
cmp esi, r11d
jne 0x1400479f7
cmp al, r11b
mov eax, r11d
je 0x1400479f9
mov eax, ecx
mov ebx, dword [rsp + 0xc0]
mov dword [rsp + 0xd0], eax
mov qword [rsp + 0x70], r11
mov qword [rdi + 0xf8], r11
mov qword [rdi + 0x100], r11
mov word [rdi + 0x14e], r11w
cmp bl, r11b
jne 0x140047b2a
cmp r14, r11
je 0x140047b2a
cmp word [r14], r11w
je 0x140047b2a
cmp eax, r11d
jne 0x140047b2a
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.14006d718
mov rcx, qword [rsp + 0x70]
call fcn.14001dc44
mov rcx, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x258]
mov edx, 0x105
call fcn.1400616e0
mov rdx, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x70]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov rcx, qword [rsp + 0x258]
xor eax, eax
cmp word [rcx], ax
je 0x140047ab9
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x258], rax
jmp 0x140047abe
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, 0x5c
cmp word [r14 + rcx*2 - 2], ax
je 0x140047ae5
lea rdx, [0x140113c64]
lea rcx, [rsp + 0x70]
call fcn.1400617a8
xor eax, eax
cmp qword [rdi + 0x108], rax
jne 0x140047b01
mov rdx, qword [rsp + 0x70]
lea rcx, [rdi + 0x108]
call fcn.14006d680
mov rax, qword [rdi + 0x108]
lea rcx, [rsp + 0x258]
mov qword [rdi + 0xf8], rax
call fcn.1400590a4
mov ebx, dword [rsp + 0xc0]
xor r11d, r11d
lea ecx, [r11 + 1]
cmp r12d, r11d
jne 0x140047b3f
cmp byte [rsp + 0x5a], r11b
je 0x140047b74
cmp byte [rdi + 0x150], r11b
jne 0x140047b74
mov r14b, byte [rsp + 0x48]
cmp byte [rdi + 0x158], r11b
jne 0x140047b79
cmp bl, r11b
jne 0x140047b79
cmp r14b, cl
je 0x140047b79
cmp dword [rdi + 0x230], r11d
je 0x140047b79
xor edx, edx
xor ecx, ecx
call fcn.1400dbf98
xor r11d, r11d
mov dword [rdi + 0x230], eax
jmp 0x140047b79
mov r14b, byte [rsp + 0x48]
mov eax, 2
cmp r14b, al
jne 0x140047b8a
mov dword [rdi + 0x230], r11d
mov rcx, qword [rdi + 0x118]
xor eax, eax
mov qword [rsp + 0x230], r11
mov byte [rsp + 0x88], r11b
mov byte [rsp + 0x89], al
cmp rcx, r11
je 0x140047bf0
lea r9, [rsp + 0x88]
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x230]
call fcn.140019800
xor r11d, r11d
mov qword [rdi + 0x118], r11
cmp byte [rsp + 0x89], r11b
je 0x140047bf0
mov r13, qword [rsp + 0x230]
mov qword [rsp + 0x230], r11
cmp dword [rsp + 0x118], r11d
je 0x140047c4e
cmp r15, r11
je 0x140047c4e
or dword [rsp + 0x1e0], 0xffffffff
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x330], r15
call fcn.140071814
mov r11d, dword [rsp + 0x1e0]
mov edx, dword [rsp + 0x168]
lea ecx, [r11 - 1]
movzx eax, r11b
cmp ecx, 0x12
movzx edx, dl
cmovbe edx, eax
xor r11d, r11d
mov dword [rsp + 0x168], edx
mov al, byte [rsp + 0x59]
mov r14d, dword [rsp + 0x5c]
mov edx, 1
cmp al, dl
jne 0x140047cd9
cmp bl, r11b
jne 0x140047cd9
cmp byte [rdi + 0x150], r11b
jne 0x140047cd9
movsx ecx, byte [rdi + 0x155]
movsx r9d, byte [rdi + 0x154]
mov r8d, dword [rsp + 0x2d8]
movsx eax, r14b
lea rdx, str.Ver_lX_bNt6_d_bINF_d_bInstall_d_notcheck_d_rescan_d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x1350]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_wsprintfW]
mov r15, qword [rsp + 0x1740]
lea r8, [rsp + 0x1350]
lea rdx, [0x140119be8]
mov rcx, r15
call fcn.1400188cc
mov al, byte [rsp + 0x59]
mov edx, 1
jmp 0x140047ce1
mov r15, qword [rsp + 0x1740]
xor ecx, ecx
cmp r14b, cl
jge 0x140047d25
cmp ebp, ecx
jne 0x140047dd1
cmp r14b, 0xf0
jl 0x140047db6
cmp byte [rdi + 0x154], cl
je 0x140047db6
cmp esi, ecx
jne 0x140047d13
cmp r12d, ecx
je 0x140047db6
xor r12d, r12d
cmp byte [rdi + 0x155], r12b
jne 0x140047db9
jmp 0x140047d28
xor r12d, r12d
cmp al, dl
jne 0x140047d42
lea r8, [0x140113598]
lea rdx, [0x140119bd0]
mov rcx, r15
call fcn.1400188cc
lea rdx, str.rescan__BEGIN
mov r9d, 0x11
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.140025c70
movsx ecx, r14b
and ecx, 7
call fcn.140021044
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x32]
mov rcx, r15
mov r14, rax
mov qword [rsp + 0x260], rax
call fcn.14001f59c
lea rdx, str.rescan__END
mov r9d, 0x11
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.140025c70
cmp ebp, r12d
jne 0x140047dd4
jmp 0x140047db9
xor r12d, r12d
mov rax, qword [rsp + 0x40]
cmp word [rax], r12w
jne 0x140047dd4
mov r14, r12
lea rcx, [rsp + 0x70]
jmp 0x14004a953
xor r12d, r12d
lea rcx, [rsp + 0xc8]
call fcn.14006166c
mov rcx, qword [rsp + 0x40]
call fcn.14001b680
lea rdx, [rsp + 0xc8]
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1400dc9e4
mov edx, r12d
mov qword [rsp + 0x40], rax
cmp ebp, r12d
je 0x140047e1c
bt ebp, 9
mov eax, 2
cmovae edx, eax
mov rax, r13
mov rcx, r13
neg rax
sbb r9d, r9d
xor r8d, r8d
not r9d
and r9d, 4
or r9d, edx
xor edx, edx
call qword [0x140132ed8]
mov r12, rax
xor r12d, r12d
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x1f8], rax
cmp rax, 0xffffffffffffffff
jne 0x140047e72
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x1f8], r12
cmp esi, r12d
je 0x140049bb5
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x98], r12
call fcn.14006166c
mov r10, qword [rsp + 0xd8]
xor r11d, r11d
movzx r9d, bpl
mov dword [rsp + 0x11c], r9d
cmp r10, r11
je 0x140047ebb
mov rcx, r10
call fcn.14001d93c
mov r10, qword [rsp + 0xd8]
xor r11d, r11d
mov r9d, dword [rsp + 0x11c]
and ebp, 0xffffff00
mov r15, r11
mov qword [rsp + 0x240], r11
or ebp, r9d
movzx r14d, r11w
mov word [rsp + 0x8e], r11w
cmp r10, r11
je 0x140048039
cmp bl, r11b
je 0x140048039
mov ebx, 0x22
movzx r12d, r11w
mov rsi, r10
cmp bx, word [r10]
je 0x140047f09
lea eax, [rbx + 5]
cmp ax, word [r10]
jne 0x140047f11
mov r12w, word [r10]
lea rsi, [r10 + 2]
mov rcx, rsi
call fcn.1400210bc
mov r13d, r9d
cmp eax, r11d
cmovge r13d, eax
cmp eax, r11d
jl 0x140047f59
lea rcx, [rsi + 4]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsi + 4]
mov rcx, rsi
movsxd r8, eax
lea r8, [r8 + r8 + 2]
call fcn.14001d0e0
mov r9d, dword [rsp + 0x11c]
mov r10, qword [rsp + 0xd8]
xor r11d, r11d
cmp r12w, r11w
je 0x140048030
mov r10d, 2
jmp 0x140047f74
add rsi, r10
cmp r12w, ax
je 0x140047f7f
movzx eax, word [rsi]
cmp ax, r11w
jne 0x140047f6b
jmp 0x140047f82
mov r15, rsi
mov edi, 0x27
movzx r12d, word [rsi]
cmp bx, r12w
je 0x140047f97
cmp di, r12w
jne 0x140048001
add rsi, r10
mov rcx, rsi
call fcn.1400210bc
mov ecx, r9d
cmp eax, r11d
cmovge ecx, eax
cmp ecx, r13d
jne 0x140048001
cmp eax, r11d
jl 0x140047ff1
lea rcx, [rsi + 4]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsi + 4]
mov rcx, rsi
movsxd r8, eax
lea r8, [r8 + r8 + 2]
call fcn.14001d0e0
mov r9d, dword [rsp + 0x11c]
xor r11d, r11d
lea ebx, [r11 + 0x22]
lea r10d, [r11 + 2]
jmp 0x140047ff1
add rsi, r10
cmp r12w, ax
je 0x140047ffc
movzx eax, word [rsi]
cmp ax, r11w
jne 0x140047fe8
jmp 0x140047f87
mov r15, rsi
jmp 0x140047f87
mov r14w, word [r15]
mov rdi, qword [rsp + 0x2f8]
mov r10, qword [rsp + 0xd8]
mov qword [rsp + 0x240], r15
mov word [rsp + 0x8e], r14w
cmp r14w, r11w
je 0x140048030
mov word [r15], r11w
and ebp, 0xffffff00
or ebp, r13d
mov cl, byte [rsp + 0x1750]
mov eax, ebp
mov r8d, r11d
and eax, 0x806
cmp eax, 0x802
sete r8b
cmp eax, 0x800
jne 0x14004806a
cmp cl, r11b
jne 0x14004806a
mov r12d, 1
mov edx, r12d
jmp 0x140048073
mov edx, r11d
mov r12d, 1
mov eax, ebp
and eax, 0x1006
cmp eax, 0x1004
jne 0x140048089
cmp cl, r11b
mov ecx, r12d
je 0x14004808c
mov ecx, r11d
mov ebx, r11d
mov eax, ebp
and eax, 0x2002
cmp eax, 0x2000
sete bl
or ecx, edx
neg ecx
mov dword [rsp + 0x148], ebx
sbb ax, ax
mov word [rsp + 0x5c], ax
test bpl, 4
jne 0x1400480bf
mov r13d, r12d
cmp r8d, r11d
je 0x1400480c5
mov r13d, 2
mov dword [rsp + 0xe8], r13d
cmp r10, r11
je 0x1400480eb
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r11d, r11d
movsxd rsi, eax
mov qword [rsp + 0x2c8], rsi
jmp 0x1400480f3
mov qword [rsp + 0x2c8], r11
lea rcx, [rsp + 0x542]
xor edx, edx
mov r8d, 0xfe
mov word [rsp + 0x540], r11w
call fcn.1400f97d0
lea rcx, [rsp + 0x372]
xor esi, esi
xor edx, edx
mov r8d, 0xc2
mov word [rsp + 0x370], si
call fcn.1400f97d0
lea rcx, [rsp + 0x442]
xor edx, edx
mov r8d, 0xfe
mov word [rsp + 0x440], si
call fcn.1400f97d0
lea eax, [rsi + 0x20]
xor r11d, r11d
mov dword [rsp + 0x198], eax
cmp byte [rsp + 0xb0], r11b
je 0x14004920d
mov rdx, qword [rsp + 0x130]
lea rsi, [rdx + 2]
mov qword [rsi], r11
cmp byte [rsp + 0x90], r11b
je 0x1400481bf
cmp byte [rsp + 0x59], r12b
jne 0x1400481bf
mov rcx, qword [rsp + 0x1740]
mov qword [rsp + 0x28], r11
lea r9d, [rax - 0xf]
lea rdx, str.DEVI_ID__BEGIN
xor r8d, r8d
mov byte [rsp + 0x58], r12b
mov qword [rsp + 0x20], r11
call fcn.140025c70
mov rdx, qword [rsp + 0x130]
xor r11d, r11d
jmp 0x1400481c4
mov byte [rsp + 0x58], r11b
cmp byte [rdi + 0x150], r11b
jne 0x14004904b
mov r12, qword [rsp + 0xe0]
cmp r12, r11
je 0x14004904b
mov ecx, r11d
mov rax, rsi
mov dword [rsp + 0x160], ecx
sub rax, rdx
cmp rax, 0x400000
jge 0x14004903a
mov edx, ecx
lea r8, [rsp + 0x198]
mov rcx, r12
call qword [0x140132f00]
xor r11d, r11d
cmp eax, r11d
je 0x14004903a
cmp ebp, r11d
je 0x140048273
mov rax, qword [rsp + 0x230]
cmp rax, r11
je 0x140048264
lea r8d, [r11 + 0x10]
lea rdx, [rsp + 0x19c]
mov rcx, rax
call fcn.1400590d4
xor r11d, r11d
cmp byte [rsp + 0x88], r11b
je 0x14004825b
cmp eax, r11d
mov ecx, r11d
sete cl
mov eax, ecx
cmp eax, r11d
jne 0x140049015
mov eax, 2
test al, bpl
je 0x1400482d5
jmp 0x140048f4a
mov rax, qword [rsp + 0x268]
cmp rax, r11
je 0x1400482d5
mov ebx, 0x10
lea rdx, [rsp + 0x19c]
mov rcx, rax
mov r8, rbx
call fcn.1400590d4
xor r11d, r11d
cmp byte [rsp + 0x6c], r11b
je 0x1400482ad
cmp eax, r11d
mov ecx, r11d
sete cl
mov eax, ecx
cmp eax, r11d
je 0x1400482d5
lea rdx, [rsp + 0x19c]
lea rcx, [0x140115608]
mov r8, rbx
call fcn.1400590d4
xor r11d, r11d
cmp eax, r11d
jne 0x140049015
mov rax, qword [0x140132f20]
mov dword [rsp + 0x1d8], r11d
cmp rax, r11
je 0x140048320
mov r8d, dword [rsp + 0x1ac]
mov ecx, 0x20
lea rdx, [rsp + 0x1d8]
mov dword [rsp + 0x198], ecx
lea rcx, [rsp + 0x280]
xor r9d, r9d
mov dword [rsp + 0x280], 0x400
call rax
xor r11d, r11d
mov r15d, r13d
mov dword [rsp + 0x78], r13d
movsx r13d, word [rsp + 0x5c]
mov qword [rsp + 0x320], rsi
mov r14d, 1
mov dword [rsp + 0x158], r13d
mov ecx, dword [rsp + 0x130]
lea rbx, [rsi + 0x1fffc]
mov eax, 0xfffe
sub ecx, esi
mov qword [rsp + 0x30], r11
mov qword [rsi], r11
add ecx, 0x3f0002
lea rdx, [rsp + 0x198]
mov r8d, r15d
cmp ecx, eax
mov qword [rsp + 0x2b0], rbx
cmovg ecx, eax
mov eax, 0x20
xor r9d, r9d
mov dword [rsp + 0x198], eax
movsxd rax, ecx
mov dword [rsp + 0x28], ecx
mov qword [rax + rbx], r11
mov rcx, r12
mov qword [rsp + 0x20], rbx
mov qword [rbx], r11
call qword [0x140132ee0]
xor r11d, r11d
mov ecx, 0x20
mov dword [rsp + 0x198], ecx
cmp eax, r11d
je 0x140049015
cmp byte [rsp + 0xc0], r11b
je 0x140048d43
mov rcx, qword [rsp + 0xd8]
cmp rcx, r11
je 0x14004843b
mov eax, ebp
and eax, 2
cmp al, r11b
jne 0x14004843b
cmp r14d, r11d
je 0x14004843b
mov r8d, dword [rsp + 0x2c8]
mov r9d, 0x100
mov rdx, rbx
call fcn.140028200
xor r11d, r11d
cmp rax, r11
jne 0x14004842d
test bpl, 8
je 0x140049015
lea eax, [r11 + 2]
cmp r15d, eax
je 0x140049015
mov r15d, eax
mov dword [rsp + 0x78], eax
jmp 0x140048344
cmp dword [rsp + 0x148], r11d
jne 0x140048f43
mov rax, qword [rsp + 0x98]
mov r14b, byte [rsp + 0x1758]
mov r12, r11
mov qword [rsp + 0x290], rax
movsxd r13, r13d
cmp word [rbx], r11w
je 0x1400484a7
cmp r13, r11
jl 0x1400484a7
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x50]
mov r9, r12
call fcn.14001db2c
xor eax, eax
lea r11, [0x140119b70]
cmp r14b, al
cmove r11, r12
mov r12, r11
xor r11d, r11d
bt ebp, 0xa
jae 0x1400484a7
mov rbx, qword [rsp + 0x2b0]
jmp 0x140048459
mov r12b, byte [rsp + 0x1758]
cmp r12b, r11b
je 0x140048cff
lea rcx, [rsp + 0x128]
mov edx, 0x100208
mov ebx, r11d
call fcn.1400613f4
mov r15, qword [rsp + 0x128]
xor edx, edx
lea eax, [rdx + 0x20]
mov r14b, r12b
lea ecx, [rdx + 2]
and r14b, al
mov al, r12b
mov dword [rsp + 0x164], edx
and al, 0x40
mov dword [rsp + 0x154], edx
mov dword [rsp + 0x15c], edx
mov byte [rsp + 0xa0], al
mov al, r12b
mov dword [rsp + 0x16c], edx
and al, 0x63
mov dword [rsp + 0x150], edx
mov byte [rsp + 0x48], al
cmp al, cl
je 0x1400485f2
mov r12d, 0x248
lea rcx, [rsp + 0x640]
mov r8, r12
call fcn.1400f97d0
mov r13d, 0x620
lea rcx, [rsp + 0xd30]
mov r8, r13
xor edx, edx
call fcn.1400f97d0
mov dword [rsp + 0x640], r12d
mov r12, qword [rsp + 0xe0]
lea r8, [rsp + 0x640]
lea rdx, [rsp + 0x198]
mov rcx, r12
mov dword [rsp + 0xd30], r13d
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsW]
xor r13d, r13d
cmp eax, r13d
je 0x140048cea
bts dword [rsp + 0x648], 0xb
lea r8, [rsp + 0x640]
lea rdx, [rsp + 0x198]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsW]
cmp eax, r13d
je 0x140048cea
lea r8d, [r13 + 2]
lea rdx, [rsp + 0x198]
mov rcx, r12
call qword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
cmp eax, r13d
je 0x140048cea
mov eax, r13d
lea r13, [r15 + 0x428]
xor ecx, ecx
mov word [r13], cx
jmp 0x140048682
mov ecx, 2
mov dword [r15 + 0x208], 0x630
lea r13, [r15 + 0x428]
lea r12, [r15 + 0x228]
mov word [r13], dx
mov word [r12], dx
mov word [rsp + 0xd40], dx
mov word [rsp + 0xf40], dx
mov word [rsp + 0x1140], dx
cmp al, cl
je 0x140048779
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x28], rdx
lea r9, [r15 + 0x208]
lea rdx, [rsp + 0x198]
lea r8, [rsp + 0xd30]
mov dword [rsp + 0x20], 0x100000
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDriverInfoDetailW]
xor edx, edx
cmp eax, edx
jne 0x1400486c3
cmp ebx, edx
jne 0x1400486c3
mov eax, dword [rsp + 0x1b8]
mov r12, qword [rsp + 0xe0]
inc eax
lea rcx, [rsp + 0xd30]
lea rdx, [rsp + 0x198]
mov r9d, eax
mov qword [rsp + 0x20], rcx
mov r8d, 2
mov rcx, r12
mov dword [rsp + 0x1b8], eax
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
xor edx, edx
cmp eax, edx
mov al, byte [rsp + 0x48]
jne 0x1400485ed
jmp 0x140048ca7
cmp byte [rsp + 0xa0], dl
je 0x1400486e9
cmp word [r13], dx
jne 0x140048cd1
mov bl, byte [rsp + 0x1758]
test bl, 7
je 0x140048cea
jmp 0x1400486f0
mov bl, byte [rsp + 0x1758]
cmp r14b, dl
je 0x14004870c
mov r14b, dl
cmp word [r13], dx
je 0x140048cd1
test bl, 7
je 0x140048cea
mov eax, 2
test al, bl
jne 0x140048725
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x164], eax
test bl, 4
je 0x140048779
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0xd40]
mov dword [rsp + 0x154], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0xf40]
mov dword [rsp + 0x15c], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x1140]
mov dword [rsp + 0x16c], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0x16c]
mov ecx, dword [rsp + 0x150]
lea rbx, [rsp + 0x98]
mov rbx, qword [rbx]
add ecx, eax
mov eax, dword [rsp + 0x164]
add ecx, dword [rsp + 0x15c]
add ecx, dword [rsp + 0x154]
lea ecx, [rcx + rax + 0xa64]
movsxd rdx, ecx
lea rcx, [rsp + 0x50]
add rdx, rbx
call fcn.14006176c
test byte [rsp + 0x1758], 6
je 0x140048a61
mov eax, 1
cmp dword [rsp + 0xe8], eax
jne 0x1400488ee
mov rax, qword [rsp + 0x50]
lea r12, [rbx + 2]
mov ecx, 9
mov word [rax + rbx*2], cx
lea rax, [rsp + 0x98]
mov ecx, 0x22
mov qword [rax], r12
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x198]
mov word [rax + rbx*2 + 2], cx
mov rax, qword [rsp + 0x50]
xor ecx, ecx
lea rbx, [rax + r12*2]
mov qword [rsp + 0x30], rcx
lea r8d, [rcx + 2]
mov qword [rbx], rcx
mov rax, qword [rsp + 0x50]
xor r9d, r9d
mov word [rax + r12*2], cx
mov rcx, qword [rsp + 0xe0]
mov dword [rsp + 0x28], 0xff8
mov qword [rsp + 0x20], rbx
call qword [0x140132ee0]
xor eax, eax
cmp word [rbx], ax
je 0x1400488c3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
add rcx, r12
inc eax
lea r12, [rsp + 0x98]
mov qword [r12], rcx
movsxd rcx, eax
mov eax, ebp
and eax, 0x400
lea rbx, [rbx + rcx*2]
je 0x1400488cb
xor eax, eax
cmp word [rbx], ax
je 0x1400488cb
mov rcx, qword [r12]
mov edx, 0x7c
lea rax, [rcx + 1]
mov qword [r12], rax
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], dx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
add qword [r12], rcx
inc eax
movsxd rcx, eax
lea rbx, [rbx + rcx*2]
jmp 0x140048887
lea r12, [rsp + 0x98]
mov rcx, qword [r12]
mov r8d, 0x22
lea rax, [rcx + 1]
mov qword [r12], rax
mov rax, qword [rsp + 0x50]
lea r12, [r15 + 0x228]
mov word [rax + rcx*2], r8w
lea rax, [rsp + 0x98]
mov ecx, 9
lea rdx, [rsp + 0x19c]
mov rbx, qword [rax]
mov rax, qword [rsp + 0x50]
mov r8d, 1
mov word [rax + rbx*2], cx
mov rax, qword [rsp + 0x50]
lea rcx, [rax + rbx*2 + 2]
call fcn.14005dae0
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2 + 2]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r9d, r9d
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
lea rbx, [rcx + rbx + 1]
mov ecx, 9
mov word [rax + rbx*2], cx
mov rax, qword [rsp + 0x50]
mov ecx, 0x22
mov word [rax + rbx*2 + 2], cx
mov rax, qword [rsp + 0x50]
lea r8d, [rcx + 0x5e]
lea rdx, [rax + rbx*2 + 4]
xor eax, eax
lea rcx, [rsp + 0x19c]
mov qword [rdx], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiClassNameFromGuidW]
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2 + 4]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, 0x22
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
lea r9d, [rdx + 0x5e]
lea rbx, [rcx + rbx + 2]
lea ecx, [rdx - 0x19]
mov word [rax + rbx*2], dx
mov rax, qword [rsp + 0x50]
mov word [rax + rbx*2 + 2], cx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xe0]
mov word [rax + rbx*2 + 4], dx
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x198]
lea r8, [rax + rbx*2 + 6]
xor eax, eax
mov qword [r8], rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2 + 6]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
lea rdx, [rcx + rbx + 3]
mov ecx, 0x22
mov word [rax + rdx*2], cx
mov rax, qword [rsp + 0x50]
lea rbx, [rdx + 2]
mov ecx, 9
mov word [rax + rdx*2 + 2], cx
mov rax, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x1d8]
lea rcx, [rax + rbx*2]
lea rdx, [0x140119b68]
call qword [sym.imp.USER32.dll_wsprintfW]
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x98]
movsxd rcx, eax
add rcx, rbx
mov qword [rdx], rcx
jmp 0x140048a69
lea rdx, [rsp + 0x98]
mov bl, byte [rsp + 0x1758]
test bl, 5
je 0x140048ad9
mov r11, qword [rdx]
mov rax, qword [rsp + 0x50]
movsxd r10, dword [rsp + 0x164]
mov ecx, 9
lea r8, [r10 + r10]
mov rdx, r13
mov word [rax + r11*2], cx
mov rax, qword [rsp + 0x50]
mov ecx, 0x22
mov word [rax + r11*2 + 2], cx
mov rax, qword [rsp + 0x50]
lea rcx, [rax + r11*2 + 4]
call fcn.14001d128
lea rcx, [r11 + r10 + 2]
lea rdx, [rsp + 0x98]
lea rax, [rcx + 1]
mov r8d, 0x22
mov qword [rdx], rax
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], r8w
test bl, 4
je 0x140048c94
mov r11, qword [rdx]
mov rax, qword [rsp + 0x50]
movsxd r10, dword [rsp + 0x154]
mov ecx, 9
lea r8, [r10 + r10]
mov rdx, r12
mov word [rax + r11*2], cx
mov rax, qword [rsp + 0x50]
lea ebx, [rcx + 0x19]
mov word [rax + r11*2 + 2], bx
mov rax, qword [rsp + 0x50]
lea rcx, [rax + r11*2 + 4]
call fcn.14001d128
mov rax, qword [rsp + 0x50]
lea r11, [r11 + r10 + 2]
movsxd r10, dword [rsp + 0x15c]
mov word [rax + r11*2], bx
mov rax, qword [rsp + 0x50]
lea r12d, [rbx - 0x19]
lea rdx, [rsp + 0xd40]
lea r8, [r10 + r10]
mov word [rax + r11*2 + 2], r12w
mov rax, qword [rsp + 0x50]
mov word [rax + r11*2 + 4], bx
mov rax, qword [rsp + 0x50]
lea rcx, [rax + r11*2 + 6]
call fcn.14001d128
mov rax, qword [rsp + 0x50]
lea r11, [r11 + r10 + 3]
movsxd r10, dword [rsp + 0x16c]
mov word [rax + r11*2], bx
mov rax, qword [rsp + 0x50]
mov word [rax + r11*2 + 2], r12w
mov rax, qword [rsp + 0x50]
lea r8, [r10 + r10]
mov word [rax + r11*2 + 4], bx
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0xf40]
lea rcx, [rax + r11*2 + 6]
call fcn.14001d128
mov rax, qword [rsp + 0x50]
lea r11, [r11 + r10 + 3]
movsxd r10, dword [rsp + 0x150]
mov word [rax + r11*2], bx
mov rax, qword [rsp + 0x50]
mov word [rax + r11*2 + 2], r12w
mov rax, qword [rsp + 0x50]
lea r8, [r10 + r10]
mov word [rax + r11*2 + 4], bx
mov rax, qword [rsp + 0x50]
lea rdx, [rsp + 0x1140]
lea rcx, [rax + r11*2 + 6]
call fcn.14001d128
mov rax, qword [rsp + 0x50]
lea rbx, [r11 + r10 + 3]
lea ecx, [r12 + 0x19]
lea r8, [0x140113690]
mov word [rax + rbx*2], cx
mov rax, qword [rsp + 0x50]
mov word [rax + rbx*2 + 2], r12w
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x1348]
lea rcx, [rax + rbx*2 + 4]
call fcn.1400deeec
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2 + 4]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
lea rdx, [rcx + rbx + 2]
mov word [rax + rdx*2], r12w
mov rax, qword [rsp + 0x50]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x1340]
lea rcx, [rax + rbx*2]
call fcn.1400def28
mov r11, qword [rsp + 0x50]
lea rcx, [r11 + rbx*2]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
add rcx, rbx
lea rdx, [rsp + 0x98]
mov qword [rdx], rcx
mov rcx, qword [rdx]
mov rax, qword [rsp + 0x50]
xor edx, edx
mov word [rax + rcx*2], dx
lea eax, [rdx + 1]
mov ebx, eax
cmp ebx, edx
jne 0x140048cc5
test byte [rsp + 0x1758], 4
je 0x140048cc5
mov al, byte [rsp + 0x48]
mov ecx, 2
mov ebx, ecx
jmp 0x1400485f2
cmp r14b, dl
je 0x140048cea
cmp word [r13], dx
jne 0x140048cea
mov rcx, qword [rsp + 0x290]
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], dx
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x128]
call fcn.1400590a4
mov r15d, dword [rsp + 0x78]
xor r11d, r11d
movsx eax, byte [rsp + 0x1750]
mov r13d, dword [rsp + 0x158]
cmp r13d, eax
jge 0x14004900d
mov ecx, 1
mov eax, r11d
mov r14d, r11d
add r13d, ecx
cmp r15d, 2
setne al
mov dword [rsp + 0x158], r13d
add eax, ecx
mov r15d, eax
mov dword [rsp + 0x78], eax
jmp 0x140048f36
lea rdx, str.ACPI
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x140049015
cmp byte [rsp + 0x58], r11b
je 0x140048dfc
lea rdx, [rsp + 0x540]
lea rcx, [rsp + 0x19c]
xor r9d, r9d
mov r8d, 0x80
mov qword [rsp + 0x540], r11
call qword [sym.imp.SETUPAPI.dll_SetupDiClassNameFromGuidW]
xor eax, eax
lea rdx, [rsp + 0x19c]
lea r13d, [rax + 1]
lea rcx, [rsp + 0x370]
mov qword [rsp + 0x370], rax
mov r8d, r13d
call fcn.14005dae0
mov r8d, dword [rsp + 0x160]
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x1740]
lea r11, [rsp + 0x540]
lea rax, [rsp + 0x370]
mov qword [rsp + 0x28], r11
mov r9, rbx
mov qword [rsp + 0x20], rax
call fcn.1400188cc
xor r11d, r11d
jmp 0x140048e02
mov r13d, 1
movzx eax, word [rbx]
movzx r12d, r11w
mov ecx, r11d
cmp ax, r11w
je 0x140048f09
mov edx, 0x26
cmp ax, dx
jne 0x140048e2f
movsx eax, byte [rsp + 0x168]
add ecx, r13d
cmp ecx, eax
jge 0x140048e41
add r12w, r13w
movzx eax, r12w
mov ax, word [rbx + rax*2]
cmp ax, r11w
jne 0x140048e1b
cmp r12w, r11w
jbe 0x140048f09
mov rax, qword [rsp + 0x320]
mov r13, rax
cmp rax, rsi
jae 0x140048e89
cmp word [r13 - 2], r12w
jne 0x140048e7a
movzx r8d, r12w
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x140048edb
movzx eax, word [r13 - 4]
lea r13, [r13 + rax*2 + 6]
cmp r13, rsi
jb 0x140048e5b
mov rcx, rsi
mov word [rsi - 2], r12w
cmp rbx, rsi
jne 0x140048ebd
movzx eax, r12w
lea rsi, [rsi + rax*2]
jmp 0x140048ea4
add rsi, 2
cmp word [rsi], r11w
jne 0x140048ea0
mov rbx, rsi
jmp 0x140048eca
mov word [rsi], ax
mov eax, 2
add rsi, rax
add rbx, rax
movzx eax, word [rbx]
cmp ax, r11w
jne 0x140048eaf
mov word [rsi], r11w
mov rax, rsi
sub rax, rcx
sar rax, 1
add rsi, 6
mov word [rcx - 4], ax
mov r12d, 2
cmp word [rbx], r11w
je 0x140048eec
add rbx, r12
jmp 0x140048ee1
add rbx, r12
mov r13d, 1
mov qword [rsp + 0x2b0], rbx
cmp word [rbx], r11w
jne 0x140048e02
jmp 0x140048f0f
mov r12d, 2
cmp byte [rsp + 0x1750], r11b
je 0x140049008
cmp r15d, r12d
je 0x140049008
mov r13d, dword [rsp + 0x158]
mov r15d, r12d
mov dword [rsp + 0x78], r12d
mov r12, qword [rsp + 0xe0]
jmp 0x140048344
mov ebx, dword [rsp + 0x148]
lea r8, [rsp + 0x440]
lea rdx, [rsp + 0x198]
mov r9d, 0x80
mov rcx, r12
mov qword [rsp + 0x440], r11
mov qword [rsp + 0x20], r11
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
mov rax, qword [rsp + 0xd8]
xor r11d, r11d
cmp rax, r11
je 0x140048fa3
cmp ebx, r11d
jne 0x140048fa3
lea rcx, [rsp + 0x440]
mov rdx, rax
call fcn.140028320
xor r11d, r11d
cmp eax, r11d
je 0x140049015
bt ebp, 0xa
jb 0x140048faf
bt ebp, 0xd
jb 0x140048fc0
mov r13d, dword [rsp + 0xe8]
cmp ebx, r11d
je 0x1400482d5
mov r13d, dword [rsp + 0xe8]
cmp byte [rsp + 0xc0], r11b
je 0x1400482d5
lea rax, [rsp + 0x440]
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x328]
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x328], rax
call fcn.14001db2c
xor r11d, r11d
jmp 0x140049015
test r12b, bpl
jne 0x14004907b
mov r12, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x160]
mov ebx, dword [rsp + 0x148]
mov r13d, dword [rsp + 0xe8]
mov rdx, qword [rsp + 0x130]
inc ecx
jmp 0x1400481e5
mov r15, qword [rsp + 0x240]
mov r14w, word [rsp + 0x8e]
mov ebx, dword [rsp + 0xc0]
cmp bl, r11b
je 0x140049075
cmp r14w, r11w
je 0x140049bcd
mov word [r15], r14w
mov r10, r15
mov qword [rsp + 0xd8], r15
jmp 0x140047eb3
mov r12d, 2
mov r13d, dword [rsp + 0xd0]
cmp r13d, r11d
je 0x14004909a
test r12b, bpl
je 0x14004909a
mov dword [rsp + 0x1c8], 1
jmp 0x1400490fa
mov rbx, qword [rsp + 0x308]
mov dword [rsp + 0x1c8], r11d
cmp rbx, r11
je 0x1400490fa
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x130]
mov rdx, rbx
mov word [rcx], ax
lea rsi, [rcx + 2]
mov word [rsi], ax
add rsi, r12
inc eax
movsxd r10, eax
mov rcx, rsi
add r10, r10
mov r8, r10
call fcn.14001d128
xor r11d, r11d
add rsi, r10
mov word [rsi], r11w
add rsi, r12
mov word [rsi], r11w
add rsi, r12
mov qword [rsi], r11
mov rbp, qword [rsp + 0x1740]
mov word [rsi - 2], r11w
cmp byte [rsp + 0x58], r11b
je 0x140049133
mov qword [rsp + 0x28], r11
lea rdx, str.DEVI_ID__END
mov r9d, 0x11
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], r11
call fcn.140025c70
xor r11d, r11d
mov r12, qword [rsp + 0x178]
cmp r12, r11
je 0x140049215
lea rcx, [0x140134120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [rdi + 0x1c0]
xor r14d, r14d
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r12
mov rcx, rbp
mov qword [rsp + 0x20], r14
call fcn.1400184b8
lea edx, [r14 + 0x26]
mov rbx, r12
mov rcx, rax
cmp dx, word [r12]
jne 0x14004918e
lea eax, [rdx - 0x24]
add rbx, rax
cmp dx, word [rbx]
je 0x140049186
cmp rcx, r14
jne 0x1400491b8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rsi
mov rdx, rbx
mov rcx, rbp
movsxd r9, eax
mov qword [rsp + 0x20], 0x400032
call fcn.14001e024
jmp 0x1400491fb
mov dl, byte [rcx + 0x1f]
and dl, 0xc0
cmp dl, 0xc0
jne 0x1400491dc
mov rax, qword [rcx + 0x18]
movabs r8, 0x3fffffffffffffff
and rax, r8
cmp rax, 0x400032
jb 0x1400491fb
cmp dl, r14b
je 0x1400491e5
mov qword [rcx + 8], r14
lea rdx, [rcx + 0x18]
mov r9d, 0x400032
mov r8, rsi
add rcx, 8
call fcn.140064240
lea rcx, [0x140134120]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor r11d, r11d
jmp 0x140049215
mov r13d, dword [rsp + 0xd0]
mov rbx, qword [rsp + 0x1f8]
cmp rbx, r11
je 0x140049236
mov rcx, rbx
call qword [0x140132ee8]
xor r11d, r11d
mov qword [rsp + 0x1f8], r11
movsxd rbx, dword [rsp + 0x1dc]
mov rax, qword [rsp + 0x80]
mov r15d, 8
lea rdx, [0x140119b30]
lea rcx, [rax + rbx*2]
mov r8, r15
mov r12, rbx
call fcn.14001d128
cmp r13d, r11d
jne 0x140049f8f
cmp qword [rsp + 0xe0], r11
je 0x140049f84
mov al, byte [rdi + 0x150]
cmp al, r11b
jne 0x140049296
mov rcx, qword [rsp + 0x130]
cmp word [rcx], r11w
je 0x140049c61
mov r15, qword [rsp + 0x100]
mov qword [rdi + 0x198], r15
cmp al, r11b
jne 0x1400492cf
mov eax, dword [rsp + 0x14c]
cmp eax, r11d
jne 0x1400492c0
cmp dword [rsp + 0x118], r11d
jne 0x1400492cf
mov ebx, 1
cmp eax, r11d
je 0x1400492f8
jmp 0x140049415
mov ebx, r11d
cmp dword [rsp + 0x64], r11d
je 0x1400492eb
cmp byte [rdi + 0x154], r11b
jne 0x1400492f8
cmp byte [rdi + 0x158], r11b
jne 0x1400492f8
cmp byte [rdi + 0x154], r11b
jne 0x140049415
mov rax, qword [rdi + 0xf8]
cmp rax, r11
je 0x140049312
mov ecx, 0x2a
cmp cx, word [rax]
jne 0x140049415
lea rcx, [rsp + 0x170]
call fcn.14006166c
lea r11, [0x140119b28]
lea r9, str.devi
lea rcx, [rsp + 0x170]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r11
call fcn.140008050
lea rcx, [rsp + 0x208]
mov edx, 0x105
call fcn.1400616e0
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x170]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov r11, qword [rsp + 0x208]
xor esi, esi
cmp word [r11], si
je 0x14004939a
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x170], r11
mov qword [rsp + 0x208], rax
lea rdx, [0x140113c64]
lea rcx, [rsp + 0x170]
call fcn.1400617a8
mov rdx, qword [rsp + 0x170]
lea rcx, [rdi + 0x220]
call fcn.1400192e4
cmp ebx, esi
jne 0x1400493f1
cmp byte [rdi + 0x154], sil
jne 0x1400493f1
cmp byte [rdi + 0x158], sil
jne 0x1400493f1
mov rcx, rax
mov qword [rdi + 0x100], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rdi + 0x14e], ax
jmp 0x1400493f8
mov qword [rdi + 0xf8], rax
lea rcx, [rsp + 0x208]
call fcn.1400590a4
lea rcx, [rsp + 0x170]
call fcn.1400590a4
xor r11d, r11d
cmp ebx, r11d
jne 0x140049d4e
mov ebp, dword [rsp + 0x64]
mov ecx, 1
cmp byte [rdi + 0x154], r11b
je 0x140049450
cmp byte [rdi + 0x150], r11b
jne 0x140049450
cmp qword [rdi + 0xf8], r11
je 0x140049450
cmp byte [rdi + 0x155], r11b
cmove ebp, ecx
mov dword [rsp + 0x64], ebp
cmp byte [rsp + 0x60], cl
jne 0x14004945d
mov qword [rdi + 0xf8], r11
cmp byte [rdi + 0x155], r11b
je 0x14004947f
cmp qword [rdi + 0xf8], r11
je 0x14004947f
cmp qword [rsp + 0xf0], r11
cmovne ebp, r11d
mov dword [rsp + 0x64], ebp
movzx r15d, word [rdi + 0x14c]
mov rax, qword [rdi + 0xf8]
lea rdx, str.INF_
shl r15d, 0x10
neg rax
mov rax, qword [rsp + 0x80]
sbb ecx, ecx
mov r8d, 0xa
not ecx
and ecx, 0x30000
or r15d, ecx
lea rcx, [rax + r12*2]
call fcn.14001d128
lea rcx, [rsp + 0x250]
mov edx, 0x1040
call fcn.1400616e0
lea rcx, [rsp + 0xae4]
xor r12d, r12d
xor edx, edx
mov r8d, 0x24c
mov dword [rsp + 0xae0], r12d
call fcn.1400f97d0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0xae0]
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0xf8], r12
call fcn.1400f8b5c
cmp qword [rsp + 0xf8], r12
je 0x140049d2e
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x110]
call fcn.14006d600
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x110]
call fcn.140075634
lea rdx, [0x140113c64]
lea rcx, [rsp + 0x110]
call fcn.1400617a8
mov r14, qword [rsp + 0x1d0]
cmp r14, r12
je 0x14004956d
cmp word [r14], r12w
jne 0x14004957c
lea rax, [0x140119b10]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x100]
cmp rax, r12
je 0x14004958f
cmp word [rax], r12w
jne 0x14004959e
lea rax, str.DefaultInstall
mov qword [rsp + 0x190], rax
lea rdx, str.DefaultInstall_132
lea rcx, [rsp + 0x108]
call fcn.14006d600
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x110]
mov r13d, eax
mov dword [rsp + 0x1750], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x110]
movsxd r8, eax
mov word [rcx + r8*2], r12w
mov dword [rsp + 0x14c], r8d
cmp ebp, r12d
jne 0x140049603
mov esi, 1
cmp byte [rdi + 0x150], r12b
je 0x140049606
mov esi, r12d
mov rax, qword [rdi + 0xf8]
neg rax
sbb ecx, ecx
and ecx, 0x20000
add ecx, 0x10000
or r15d, ecx
jmp 0x140049626
xor r12d, r12d
mov rdx, qword [rsp + 0x250]
mov rcx, rdi
call fcn.14001952c
test byte [rsp + 0xae0], 0x10
jne 0x140049a49
mov rax, qword [rsp + 0x110]
movsxd rcx, r8d
lea rdx, [rsp + 0xb0c]
mov word [rax + rcx*2], r12w
lea rcx, [rsp + 0x110]
call fcn.1400617a8
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x1740]
lea rdx, [0x140119aa8]
mov r8, rbx
call fcn.1400188cc
lea r8, [0x14003ab9c]
mov r9, rdi
xor edx, edx
mov rcx, rbx
call qword [0x140132f08]
cmp ebp, r12d
je 0x14004982a
mov r12, qword [rdi + 0x130]
cmp r12, qword [rdi + 0x128]
jae 0x14004981a
movzx r14d, word [r12 + 8]
lea r13, [r12 + 0xa]
lea eax, [r14 + 2]
movsxd rcx, eax
lea rbp, [r12 + rcx*2 + 0xa]
mov ecx, 1
movzx eax, word [rbp - 2]
lea r12, [rbp + rax*2 + 2]
cmp byte [rsp + 0x59], cl
jbe 0x140049700
or r8d, 0xffffffff
mov rdx, r13
mov rcx, rdi
call fcn.140019650
xor ecx, ecx
cmp rax, rcx
jne 0x14004971d
mov ecx, 1
xor eax, eax
mov ebx, 4
cmp byte [rdi + 0x158], al
je 0x140049727
mov r8d, r15d
mov rdx, rbp
mov rcx, rdi
call fcn.14002bae0
mov r13d, dword [rsp + 0x1750]
jmp 0x1400496ad
mov edx, 3
cmp byte [rdi + 0x154], dl
je 0x14004973c
cmp byte [rdi + 0x156], al
je 0x140049744
cmp byte [rdi + 0x191], al
je 0x14004977c
mov ecx, 2
mov r9d, r15d
or ebx, ecx
mov qword [rsp + 0x28], rax
mov r8, rbp
mov rdx, r13
mov rcx, rdi
shr r9d, 0x10
mov dword [rsp + 0x20], r14d
call fcn.14002b8ec
mov esi, eax
xor eax, eax
cmp esi, eax
je 0x14004971d
lea ecx, [rax + 1]
test cl, bl
jne 0x1400497ce
lea edx, [rax + 3]
or ebx, ecx
cmp byte [rdi + 0x156], al
je 0x14004979c
mov r9d, r14d
mov r8, r13
mov rdx, rbp
mov rcx, rdi
call fcn.14002c5a4
mov rsi, rax
jmp 0x1400497b7
cmp byte [rdi + 0x154], dl
jne 0x1400497b9
mov r9d, r14d
mov r8, r13
mov rdx, rbp
mov rcx, rdi
call fcn.14002c71c
mov esi, eax
xor eax, eax
cmp esi, eax
je 0x14004971d
mov ecx, 2
test cl, bl
je 0x140049749
test bl, 4
jne 0x14004971d
mov rax, qword [rsp + 0x108]
movsxd r13, dword [rsp + 0x1750]
xor edx, edx
mov word [rax + r13*2], dx
lea rcx, [rsp + 0x108]
mov rdx, rbp
call fcn.1400617a8
mov r8, qword [rsp + 0x108]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002c8c4
jmp 0x1400496ad
mov ebp, dword [rsp + 0x64]
xor r12d, r12d
cmp ebp, r12d
jne 0x140049a49
xor r14d, r14d
cmp byte [rdi + 0x155], r12b
mov r12, qword [rsp + 0xf0]
je 0x140049a54
cmp r12, r14
je 0x140049a54
mov rdx, qword [rdi + 0xf8]
cmp rdx, r14
je 0x140049a54
lea rcx, [rsp + 0x120]
call fcn.14006d600
lea rcx, [rsp + 0x120]
mov rdx, r12
call fcn.1400617a8
lea rcx, [rsp + 0x278]
mov edx, 0x2800
call fcn.1400616e0
mov r9, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x278]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400faa68
mov rdx, qword [rsp + 0x278]
lea r9d, [r14 + 0x11]
lea rcx, [0x1401330e0]
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.140025c70
lea rcx, [rsp + 0x278]
call fcn.1400590a4
mov rdx, qword [rsp + 0x120]
xor r8d, r8d
mov rcx, rdi
call fcn.14002b3e0
lea ebx, [r14 + 4]
lea r12, [0x140113598]
cmp rax, r14
lea edx, [rbx - 1]
mov rbp, rax
cmovne r12, rax
cmp byte [rdi + 0x154], dl
je 0x140049919
cmp byte [rdi + 0x156], r14b
je 0x14004992c
mov eax, 1
lea ecx, [rax + 1]
cmp byte [rdi + 0x191], r14b
je 0x140049988
jmp 0x140049934
mov eax, 1
lea ecx, [rax + 1]
or ebx, ecx
cmp rbp, r14
je 0x14004996c
mov r8, qword [rsp + 0x120]
mov r9d, r15d
mov rdx, rbp
mov rcx, rdi
shr r9d, 0x10
mov qword [rsp + 0x28], r14
or dword [rsp + 0x20], 0xffffffff
call fcn.14002b8ec
mov esi, eax
mov eax, 1
lea ecx, [rax + 1]
lea edx, [rax + 2]
add ebx, eax
cmp ebx, ecx
jge 0x140049a2c
cmp rbp, r14
je 0x140049984
cmp esi, r14d
je 0x140049a2c
test al, bl
jne 0x1400499eb
or ebx, eax
cmp byte [rdi + 0x156], r14b
je 0x1400499ac
mov rdx, qword [rsp + 0x120]
or r9d, 0xffffffff
mov r8, r12
mov rcx, rdi
call fcn.14002c5a4
jmp 0x1400499cb
cmp byte [rdi + 0x154], dl
jne 0x1400499d8
mov rdx, qword [rsp + 0x120]
or r9d, 0xffffffff
mov r8, r12
mov rcx, rdi
call fcn.14002c71c
mov edx, 3
mov esi, eax
lea ecx, [rdx - 1]
lea eax, [rdx - 2]
add ebx, eax
cmp ebx, ecx
jge 0x140049a2c
cmp esi, r14d
je 0x140049a2c
test cl, bl
je 0x140049934
test bl, 4
jne 0x140049a2c
mov rax, qword [rsp + 0x108]
movsxd rcx, r13d
mov word [rax + rcx*2], r14w
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x108]
call fcn.1400617a8
mov r8, qword [rsp + 0x108]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002c8c4
cmp rbp, r14
je 0x140049a36
mov word [rbp], r14w
lea rcx, [rsp + 0x120]
call fcn.1400590a4
mov ebp, dword [rsp + 0x64]
jmp 0x140049a4c
xor r14d, r14d
mov r12, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
lea rdx, [rsp + 0xae0]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov r8d, dword [rsp + 0x14c]
cmp eax, r14d
jne 0x140049623
mov rcx, qword [rsp + 0xf8]
cmp rcx, r14
je 0x140049a94
cmp rcx, 0xffffffffffffffff
je 0x140049a94
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rbx, qword [rsp + 0x260]
mov rax, qword [rdi + 0x1d0]
cmp esi, r14d
cmove rbx, r14
mov ecx, 0x5f
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0x260], rbx
mov word [rax], cx
cmp ebp, r14d
je 0x140049c95
cmp qword [rdi + 0xf8], r14
je 0x140049c95
lea ebp, [rcx - 0x5e]
cmp byte [rdi + 0x154], bpl
jne 0x140049c95
cmp byte [rsp + 0x60], r14b
jne 0x140049c95
cmp r12, r14
jne 0x140049c95
xor r12d, r12d
cmp byte [rsp + 0x8c], r12b
jne 0x140049c98
lea rcx, [rsp + 0x108]
mov qword [rdi + 0xf8], r12
mov byte [rsp + 0x60], bpl
call fcn.1400590a4
lea rcx, [rsp + 0x110]
call fcn.1400590a4
mov rcx, qword [rsp + 0xf8]
cmp rcx, r12
je 0x140049b4c
cmp rcx, 0xffffffffffffffff
je 0x140049b4c
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x250]
mov qword [rsp + 0xf8], r12
call fcn.1400590a4
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
lea rcx, [rsp + 0x218]
call fcn.1400590a4
mov r15, qword [rsp + 0x1740]
mov r10b, byte [rsp + 0x59]
mov rsi, qword [rsp + 0x1748]
jmp 0x14004611a
mov r14, 0xffffffff80070057
jmp 0x14004a958
lea rcx, [rsp + 0xc8]
mov r14d, 1
call fcn.1400590a4
jmp 0x140047dc7
mov bpl, byte [rsp + 0x68]
mov r8, qword [rsp + 0x50]
cmp bpl, r11b
je 0x140049c1e
cmp word [r8], r11w
je 0x140049c1e
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, 0xd
xor esi, esi
movsxd rcx, eax
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], dx
mov rax, qword [rsp + 0x50]
mov edx, 0xa
mov word [rax + rcx*2 + 2], dx
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2 + 4], si
mov r8, qword [rsp + 0x50]
jmp 0x140049c20
xor esi, esi
mov r15, qword [rsp + 0x1740]
mov rdx, qword [rsp + 0x288]
mov rcx, r15
call fcn.140060a94
lea rcx, [rsp + 0x50]
mov r14, rsi
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
jmp 0x14004a95a
mov r14d, 0x491
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
mov r15, qword [rsp + 0x1740]
jmp 0x14004a958
xor r12d, r12d
mov r15, qword [rsp + 0x1740]
lea r8, [0x140113598]
lea rdx, [0x140117ff8]
mov rcx, r15
mov qword [rdi + 0xf8], r12
call fcn.1400188cc
lea rcx, [rsp + 0x108]
call fcn.1400590a4
lea rcx, [rsp + 0x110]
call fcn.1400590a4
mov rcx, qword [rsp + 0xf8]
cmp rcx, r12
je 0x140049cf0
cmp rcx, 0xffffffffffffffff
je 0x140049cf0
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x250]
mov qword [rsp + 0xf8], r12
call fcn.1400590a4
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
mov r14, rbx
jmp 0x14004a958
lea rcx, [rsp + 0x250]
mov r14d, 2
mov qword [rsp + 0xf8], r12
call fcn.1400590a4
jmp 0x140049c67
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r13d, 1
movsxd rbx, eax
lea r14d, [r13 + 0x2e]
sub rbx, r13
cmp rbx, r13
jl 0x140049d91
mov rax, qword [rsp + 0x40]
lea ecx, [r13 + 0x5b]
cmp cx, word [rax + rbx*2]
je 0x140049d84
cmp r14w, word [rax + rbx*2]
jne 0x140049d91
xor r12d, r12d
mov word [rax + rbx*2], r12w
sub rbx, r13
jmp 0x140049d94
xor r12d, r12d
cmp rbx, r12
jge 0x140049da5
mov r14, 0xffffffff80070057
jmp 0x140049c67
cmp r15, r12
je 0x140049db7
movzx eax, word [r15]
neg ax
sbb rcx, rcx
and r15, rcx
mov rax, qword [rsp + 0x238]
cmp rax, r12
jne 0x140049e41
cmp qword [rdi + 0x180], r12
jne 0x140049e27
lea rdx, [rbx + 0x18]
lea rcx, [rdi + 0x180]
call fcn.14006176c
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x180]
lea r11d, [rbx + 4]
movsxd r8, r11d
add r8, r8
call fcn.14001d128
mov rax, qword [rdi + 0x180]
mov ecx, 0x2e
mov word [rax + rbx*2 + 2], cx
mov rax, qword [rdi + 0x180]
lea rdx, str._________allinf_file_
lea rcx, [rax + rbx*2 + 4]
mov r8d, 0x2c
call fcn.14001d128
mov rcx, qword [rdi + 0x180]
call fcn.1400f8c14
cmp eax, r12d
je 0x140049e46
mov rsi, qword [rdi + 0x180]
jmp 0x140049e4e
mov rsi, rax
jmp 0x140049e4e
mov rsi, qword [rsp + 0x238]
cmp dword [rsp + 0x204], r12d
je 0x140049e8e
cmp rsi, r12
setne al
add al, 0x40
mov byte [rdi + 0x190], al
cmp qword [rdi + 0x178], r12
jne 0x140049e80
mov rdx, qword [rsp + 0x40]
lea rcx, [rdi + 0x178]
call fcn.14006d680
mov rax, qword [rdi + 0x178]
mov qword [rdi + 0x170], rax
mov eax, 0x40
cmp byte [rdi + 0x190], al
jne 0x140049f1f
mov r9, qword [rdi + 0xf8]
mov r8, qword [rsp + 0x40]
lea rax, [0x140119a81]
lea rdx, str.7z_x__y__aos__r
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14002b098
mov rdx, qword [rdi + 0xf8]
lea rcx, [rdi + 0x188]
call fcn.14006d680
mov rcx, qword [rax]
mov qword [rsp + 0x40], rcx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rcx, r13
cmp rcx, r12
jle 0x140049f0e
mov rax, qword [rsp + 0x40]
mov edx, 0x5c
cmp dx, word [rax + rcx*2]
je 0x140049f09
cmp r14w, word [rax + rcx*2]
jne 0x140049f0e
mov word [rax + rcx*2], r12w
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov qword [rdi + 0x1b8], rax
mov r9b, byte [rsp + 0x69]
mov rcx, qword [rsp + 0x40]
mov r8, r15
mov rdx, rdi
or r9b, 0x10
mov qword [rsp + 0x20], rsi
call fcn.14003a0e4
mov eax, dword [rdi + 0x1a4]
cmp eax, r12d
jle 0x140049f68
mov eax, dword [rdi + 0x1a0]
cmp eax, r12d
jl 0x140049f68
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11d, dword [rdi + 0x1a4]
cmp r11d, r12d
jg 0x140049f48
mov rcx, rdi
call fcn.140019548
mov r14, qword [rdi + 0x1a8]
cmp r14, 0xffffffffffffffff
cmove r14, r13
jmp 0x140049c67
mov r14d, 1
jmp 0x140049c67
mov r12d, dword [rsp + 0x64]
mov ebp, r11d
cmp r12d, r11d
jne 0x140049fdf
mov rax, qword [rsp + 0x130]
cmp word [rax], r11w
jne 0x140049fdf
cmp byte [rdi + 0x155], r11b
jne 0x140049fdf
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
mov r14d, 0x491
jmp 0x14004aa48
lea r14d, [rbx + 4]
lea rcx, [rsp + 0x210]
lea eax, [r14 + 0x3c]
movsxd rdx, eax
call fcn.1400616e0
mov rax, qword [rsp + 0x80]
lea rdx, str.System32DRIVERS
lea rcx, [rax + rbx*2]
mov r8d, 0x22
call fcn.14001d128
mov rcx, qword [rsp + 0x80]
call fcn.1400f8ad8
xor esi, esi
cmp eax, esi
jne 0x14004a038
mov rcx, qword [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x80]
lea rdx, [0x140119b30]
mov r8, r15
lea rcx, [rax + rbx*2]
call fcn.14001d128
mov rcx, qword [rsp + 0x80]
call fcn.1400f8ad8
cmp eax, esi
jne 0x14004a074
mov rcx, qword [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x80]
lea rdx, str.INF_
mov r8d, 0xa
lea rcx, [rax + rbx*2]
call fcn.14001d128
movzx r13d, word [rdi + 0x14c]
lea rcx, [rsp + 0x894]
xor edx, edx
mov r8d, 0x24c
shl r13d, 0x10
mov dword [rsp + 0x890], esi
call fcn.1400f97d0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x890]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x180], rsi
call fcn.1400f8b5c
cmp qword [rsp + 0x180], rsi
jne 0x14004a12f
lea rcx, [rsp + 0x210]
mov r14d, 2
mov qword [rsp + 0x180], rsi
call fcn.1400590a4
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
mov r15, qword [rsp + 0x1740]
jmp 0x14004a95a
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb8]
call fcn.14006d600
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xb8]
call fcn.140075634
lea rdx, [0x140113c64]
lea rcx, [rsp + 0xb8]
call fcn.1400617a8
mov rbx, qword [rsp + 0x1d0]
cmp rbx, rsi
je 0x14004a179
cmp word [rbx], si
jne 0x14004a180
lea rbx, [0x140119b10]
mov r15, qword [rsp + 0x100]
cmp r15, rsi
je 0x14004a193
cmp word [r15], si
jne 0x14004a19a
lea r15, str.DefaultInstall
lea rcx, [rsp + 0x140]
mov rdx, r15
call fcn.14006d600
lea rdx, [0x140114460]
lea rcx, [rsp + 0x140]
call fcn.1400617a8
lea rcx, [rsp + 0x140]
mov rdx, rbx
call fcn.1400617a8
lea rdx, [0x140114460]
lea rcx, [rsp + 0x140]
call fcn.1400617a8
mov rcx, qword [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x1740], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x1750], eax
test byte [rsp + 0x890], 0x10
jne 0x14004a418
mov rcx, qword [rsp + 0xb8]
movsxd rdx, eax
mov word [rcx + rdx*2], si
lea rdx, [rsp + 0x8bc]
lea rcx, [rsp + 0xb8]
call fcn.1400617a8
mov rbx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x248]
mov qword [rsp + 0x1758], rbx
call fcn.14006166c
mov rax, qword [rsp + 0x210]
xor r15d, r15d
lea r8, [rsp + 0x2d0]
lea rdx, [rsp + 0x248]
mov qword [rsp + 0x2d0], r15
mov rcx, rbx
mov word [rax], r15w
call fcn.1400dc9e4
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x248]
sub rcx, rdx
mov qword [rsp + 0x40], rax
movsxd rax, r14d
sar rcx, 1
cmp rax, rcx
jne 0x14004a2cc
mov rcx, qword [rsp + 0x80]
mov r8d, r14d
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
movzx esi, sil
cmp eax, r15d
lea eax, [r15 + 1]
cmove esi, eax
cmp dword [rsp + 0x1c8], r15d
je 0x14004a2e3
mov rax, qword [rsp + 0xd8]
cmp rax, r15
jne 0x14004a2f6
mov rdx, qword [rsp + 0xb8]
xor r8d, r8d
mov rcx, rdi
call fcn.14002b3e0
mov rbx, rax
mov al, byte [rdi + 0x155]
cmp al, r15b
jne 0x14004a32e
cmp r12d, r15d
jne 0x14004a32e
cmp byte [rsp + 0x5a], r15b
je 0x14004a315
cmp sil, r15b
jne 0x14004a32e
xor esi, esi
cmp rbx, rsi
jne 0x14004a330
lea rcx, [rsp + 0x248]
call fcn.1400590a4
jmp 0x14004a418
xor esi, esi
cmp al, sil
je 0x14004a39c
lea rcx, [rsp + 0x298]
mov edx, 0x2800
call fcn.1400616e0
mov r9, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x298]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400faa68
mov rdx, qword [rsp + 0x298]
lea rcx, [0x1401330e0]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.140025c70
lea rcx, [rsp + 0x298]
call fcn.1400590a4
cmp rbx, rsi
je 0x14004a3a8
movzx r15d, word [rbx - 4]
jmp 0x14004a3ab
mov r15d, esi
cmp rbx, rsi
lea r12, [0x140113598]
mov esi, 4
cmovne r12, rbx
xor eax, eax
cmp dword [rsp + 0x64], eax
jne 0x14004a58c
cmp byte [rdi + 0x158], al
je 0x14004a4b1
mov rdx, qword [rsp + 0xb8]
mov r8d, r13d
mov rcx, rdi
call fcn.14002bae0
xor esi, esi
cmp rbx, rsi
je 0x14004a3f3
mov word [rbx], si
mov rcx, qword [rsp + 0x210]
cmp word [rcx], si
je 0x14004a406
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x248]
call fcn.1400590a4
mov r12d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x180]
lea rdx, [rsp + 0x890]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, esi
mov eax, dword [rsp + 0x1750]
jne 0x14004a20c
lea rcx, [rsp + 0x140]
call fcn.1400590a4
lea rcx, [rsp + 0xb8]
call fcn.1400590a4
mov rcx, qword [rsp + 0x180]
movsxd rbx, ebp
cmp rcx, rsi
je 0x14004a473
cmp rcx, 0xffffffffffffffff
je 0x14004a473
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x210]
mov qword [rsp + 0x180], rsi
call fcn.1400590a4
lea rcx, [rsp + 0x50]
call fcn.1400590a4
lea rcx, [rsp + 0xc8]
call fcn.1400590a4
lea rcx, [rsp + 0x70]
call fcn.1400590a4
mov r14, rbx
jmp 0x14004aa48
mov edx, 3
cmp byte [rdi + 0x154], dl
je 0x14004a4c6
cmp byte [rdi + 0x156], al
je 0x14004a4ce
cmp byte [rdi + 0x191], al
je 0x14004a519
mov ecx, 2
or esi, ecx
cmp rbx, rax
je 0x14004a50d
mov r8, qword [rsp + 0xb8]
mov r9d, r13d
mov qword [rsp + 0x28], rax
or dword [rsp + 0x20], 0xffffffff
shr r9d, 0x10
mov rdx, rbx
mov rcx, rdi
call fcn.14002b8ec
mov ebp, eax
xor eax, eax
cmp ebp, eax
je 0x14004a3e9
lea edx, [rax + 3]
mov ecx, 1
test cl, sil
jne 0x14004a582
jmp 0x14004a51e
mov ecx, 1
or esi, ecx
cmp byte [rdi + 0x156], al
je 0x14004a544
mov rdx, qword [rsp + 0xb8]
or r9d, 0xffffffff
mov r8, r12
mov rcx, rdi
call fcn.14002c5a4
mov rbp, rax
jmp 0x14004a565
cmp byte [rdi + 0x154], dl
jne 0x14004a56c
mov rdx, qword [rsp + 0xb8]
or r9d, 0xffffffff
mov r8, r12
mov rcx, rdi
call fcn.14002c71c
mov ebp, eax
mov edx, 3
xor eax, eax
cmp ebp, eax
je 0x14004a3e9
mov ecx, 2
test cl, sil
je 0x14004a4d3
test sil, 4
jne 0x14004a3e9
xor esi, esi
cmp byte [rdi + 0x158], sil
je 0x14004a5af
mov rdx, qword [rsp + 0xb8]
mov r8d, r13d
mov rcx, rdi
call fcn.14002bae0
jmp 0x14004a3eb
cmp byte [rdi + 0x157], sil
jne 0x14004a3eb
movsxd rcx, dword [rsp + 0x1740]
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x1758]
mov word [rax + rcx*2], si
lea rcx, [rsp + 0x140]
call fcn.1400617a8
mov r8, qword [rsp + 0x140]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call fcn.14002c8c4
mov ebp, eax
cmp eax, esi
jne 0x14004a3eb
cmp qword [rdi + 0x110], rsi
je 0x14004a3eb
mov r8d, r15d
mov rdx, r12
mov rcx, rdi
call fcn.140019680
jmp 0x14004a3eb
movsx edx, r13b
xor ecx, ecx
and edx, 0x12
call fcn.1400dbf98
xor eax, eax
mov r14, rax
jmp 0x14004aa48
cmp qword [rsp + 0xa8], r9
je 0x140049ba9
mov r14d, 2
lea rcx, [rsp + 0x1e8]
mov rdx, r14
call fcn.1400616e0
mov rax, qword [rsp + 0x1e8]
xor r11d, r11d
mov word [rax], r11w
mov rbx, qword [rsp + 0xa8]
lea edx, [r14 + 0x38]
mov rsi, rbx
cmp r12b, 0x12
je 0x14004a68b
lea eax, [rdx - 0x14]
cmp ax, word [rbx]
jne 0x14004a6d1
mov qword [rsp + 0x2f0], rbx
jmp 0x14004a6af
cmp dx, ax
je 0x14004a6ba
mov ecx, 0x3d
cmp cx, ax
je 0x14004a6ba
add rbx, r14
mov qword [rsp + 0xa8], rbx
movzx eax, word [rbx]
cmp ax, r11w
jne 0x14004a695
jmp 0x14004a6d1
mov word [rbx], r11w
mov rbx, qword [rsp + 0xa8]
add rbx, r14
mov qword [rsp + 0xa8], rbx
mov bpl, byte [rsp + 0x68]
lea r13, [rdi + 0x152]
mov r8d, 0x22
lea r10d, [r8 + 5]
cmp r8w, word [rbx]
je 0x14004a704
cmp r10w, word [rbx]
je 0x14004a704
lea rax, [0x140113598]
mov qword [rsp + 0xa8], rax
jmp 0x14004a753
movsx eax, byte [rbx]
lea rcx, [rsp + 0xa8]
add rbx, 2
movzx edx, ax
mov qword [rsp + 0xa8], rbx
call fcn.14004e520
mov rcx, qword [rsp + 0xa8]
cmp word [rcx], r11w
je 0x14004a73d
mov word [rcx], r11w
add qword [rsp + 0xa8], r14
lea rcx, [rsp + 0xa8]
call fcn.140016c7c
mov edx, 0x3a
lea r8d, [rdx - 0x18]
mov r9d, r11d
cmp word [rbx], r11w
je 0x14004a7ad
cmp dx, word [rbx + 2]
jne 0x14004a7ad
movzx eax, word [rbx]
mov ecx, 0x68
or ax, 0x20
cmp cx, ax
jne 0x14004a77b
mov r9d, 0x200
jmp 0x14004a7a9
mov ecx, 0x63
cmp cx, ax
jne 0x14004a78d
mov r9d, 0x400
jmp 0x14004a7a9
mov eax, 0x2b
cmp ax, word [rbx]
jne 0x14004a79f
mov r9d, 0x600
jmp 0x14004a7a9
mov eax, 0x40
cmp ax, word [rbx]
jne 0x14004a7ad
add rbx, 4
cmp r8w, word [rbx]
je 0x14004a7b9
cmp r10w, word [rbx]
jne 0x14004a7e6
movsx edx, byte [rbx]
lea rcx, [rsp + 0x2e0]
add rbx, r14
mov qword [rsp + 0x2e0], rbx
call fcn.14004e520
mov rcx, qword [rsp + 0x2e0]
cmp word [rcx], r11w
je 0x14004a7e6
mov word [rcx], r11w
cmp r12b, 0x51
jne 0x14004a80c
mov rcx, rbx
call fcn.14002c98c
xor r11d, r11d
mov r14, rax
cmp rax, r11
jne 0x14004a94b
mov r12b, 0x11
lea r14d, [r11 + 2]
jmp 0x14004a816
cmp r12b, 0x11
jne 0x14004a8dc
mov ecx, 0x22
mov qword [rsp + 0x138], rbx
mov r10, r11
mov rax, rbx
cmp cx, word [rbx]
je 0x14004a838
mov ecx, 0x27
cmp cx, word [rbx]
jne 0x14004a879
movsx edx, byte [rbx]
lea rcx, [rsp + 0x138]
add rbx, 2
mov qword [rsp + 0x138], rbx
call fcn.14004e520
mov rcx, qword [rsp + 0x138]
cmp word [rcx], r11w
je 0x14004a8b9
mov word [rcx], r11w
mov rax, qword [rsp + 0x138]
add rax, r14
mov qword [rsp + 0x138], rax
movzx ecx, word [rax]
cmp cx, r11w
je 0x14004a8b9
mov edx, 0x3a
cmp dx, cx
je 0x14004a8a2
add rax, r14
mov qword [rsp + 0x138], rax
mov cx, word [rax]
cmp cx, r11w
jne 0x14004a887
jmp 0x14004a8b9
mov word [rax], r11w
mov r10, qword [rsp + 0x138]
add r10, r14
mov qword [rsp + 0x138], r10
mov r9d, 1
mov r8, r10
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0xfffffff0
call fcn.14002b8ec
jmp 0x14004a911
mov al, bpl
mov r8d, 0x100
mov rdx, rbx
neg al
movsx eax, r12b
mov qword [rsp + 0x20], r13
sbb ecx, ecx
and ecx, 0x10000
or ecx, eax
or ecx, r9d
lea r9, [rsp + 0x1e8]
bts ecx, 0xb
call fcn.14006fc38
mov rbx, qword [rsp + 0xa8]
xor r11d, r11d
movsxd r14, eax
cmp word [rbx], r11w
je 0x14004a932
lea edx, [r11 + 0x3a]
lea r14d, [r11 + 2]
jmp 0x14004a6dd
cmp r12b, 0x12
jne 0x14004a94b
mov r8, qword [rsp + 0x1e8]
mov rdx, rsi
mov rcx, r15
call fcn.140060a94
lea rcx, [rsp + 0x1e8]
call fcn.1400590a4
xor esi, esi
mov ecx, 0x40
cmp word [rdi + 0x152], cx
je 0x14004a986
movzx edx, word [rdi + 0x152]
mov r8, qword [rsp + 0x2f0]
lea r9, str.0x_X
mov rcx, r15
call fcn.1400648f4
mov rax, qword [rsp + 0x1f8]
cmp rax, rsi
je 0x14004a99c
mov rcx, rax
call qword [0x140132ee8]
cmp qword [rsp + 0x228], rsi
je 0x14004a9b6
mov rcx, rdi
mov qword [rsp + 0x228], rsi
call fcn.140020964
xor edx, edx
mov rcx, r15
call fcn.14009d7ec
jmp 0x14004aa48
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x300]
xor edx, edx
mov r8d, 0x1e5
mov qword [rsp + 0x300], rax
call fcn.14002499c
mov rbx, qword [rsp + 0x300]
mov qword [rsp + 0x40], rax
xor eax, eax
cmp word [rbx], ax
jne 0x14004aa04
mov r14, 0xffffffff80070057
jmp 0x14004aa48
lea rdx, str.35:INDATABuildInfCache
lea rcx, [rsp + 0x2a8]
call fcn.14006d600
lea rcx, [rsp + 0x2a8]
mov rdx, rbx
call fcn.1400617a8
mov rdx, qword [rsp + 0x2a8]
mov rcx, r15
call fcn.140030b40
lea rcx, [rsp + 0x2a8]
mov r14, rax
call fcn.1400590a4
lea rcx, [rsp + 0x218]
call fcn.1400590a4
lea rcx, [rsp + 0x80]
call fcn.1400590a4
lea rcx, [rsp + 0x228]
call fcn.14004e268
mov rax, r14
add rsp, 0x16f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret