Function at 0x14003a404
Capabilities:
Create directory
Delete file
Encode data using base64
Resolve function by parsing pe exports

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
sub rsp, 0xba8
xor r13d, r13d
mov r12, rdx
mov rsi, rcx
mov qword [rsp + 0x1c8], r13
cmp qword [0x140106cc8], r13
jne 0x14003a45a
lea rcx, [0x140106ff8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.140014fe8
lea rcx, [0x140106ff8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x140]
mov rdx, rsi
call fcn.140016978
mov rcx, qword [0x140106d38]
lea r8, [rsp + 0x990]
mov r9d, 0x104
mov edx, 0x2711
mov qword [rsp + 0x248], r13
call fcn.14004ee94
lea rdx, [0x1400ef590]
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x210], r13
call fcn.14006016c
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x2c8], r13
call fcn.140055fcc
lea rcx, [rsp + 0x208]
mov ebx, 0x80000000
mov qword [rsp + 0x2c0], r13
mov dword [rsp + 0x100], ebx
call fcn.140055fcc
lea rcx, [rsp + 0x218]
call fcn.140055fcc
lea rax, [rsp + 0x2c0]
lea r11, [rsp + 0x2c8]
mov qword [rsp + 0x2e0], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x2d8], r11
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x2e8], r13
call fcn.140016c08
shr rax, 0x10
mov byte [rsp + 0x51], r13b
lea ecx, [rax - 0x60000]
cmp eax, 0x60000
mov qword [rsp + 0x2a8], rax
setae byte [rsp + 0x4d]
cmp ecx, 0xffff
lea rcx, [rsp + 0x70]
setbe dil
mov byte [rsp + 0x4e], dil
call fcn.140055fcc
mov rcx, qword [str._SystemRoot__]
mov rax, qword [0x1400ef578]
lea r11, [rsp + 0x280]
lea r8, [rsp + 0x70]
mov qword [r11], rcx
mov qword [r11 + 8], rax
mov rax, qword [0x1400ef580]
mov qword [r11 + 0x10], rax
mov eax, dword [0x1400ef588]
lea rdx, [rsp + 0x280]
mov dword [r11 + 0x18], eax
xor eax, eax
xor r9d, r9d
lea r14d, [rax + 1]
mov rcx, rsi
mov dword [rsp + 0x29c], eax
mov dword [rsp + 0x2a0], eax
mov dword [rsp + 0x2a4], eax
mov byte [rsp + 0x20], r14b
call fcn.140068750
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x1d0], eax
lea ecx, [rax + 0x1e]
movsxd rdx, ecx
lea rcx, [rsp + 0x70]
call fcn.1400560cc
cmp dil, r13b
lea esi, [r14 + 2]
jl 0x14003a651
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0xc00]
call fcn.14006016c
lea rdx, str.System32Drvload.exe
lea rcx, [rsp + 0xc00]
call fcn.140056108
mov rcx, qword [rsp + 0xc00]
call fcn.1400cbf54
lea rcx, [rsp + 0xc00]
neg eax
sbb dil, dil
and dil, sil
mov byte [rsp + 0x4e], dil
call fcn.14004ea6c
lea rcx, [rsp + 0x1c0]
mov edx, 0x400032
mov rbp, r14
mov qword [rsp + 0xf8], r14
mov dil, r13b
mov byte [rsp + 0x4c], r13b
call fcn.140055ddc
mov rcx, qword [rsp + 0x1c0]
lea rdx, [0x1400ef530]
mov r8d, 0xa
call fcn.14001a4c0
mov rcx, qword [rsp + 0x1c0]
mov qword [rcx + 0xa], r13
mov rax, qword [rsp + 0x1c0]
add rax, 0x12
mov qword [rsp + 0x58], rax
mov esi, 2
cmp dil, 0xff
jae 0x14003a6c0
add dil, r14b
mov byte [rsp + 0x4c], dil
lea rcx, [rsp + 0x210]
mov rdx, r12
mov r14b, r13b
call fcn.140060284
mov r11, qword [rsp + 0x210]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], r11
mov bpl, r13b
mov dword [rsp + 0x190], r13d
mov qword [rsp + 0x168], r13
mov byte [rsp + 0x11c], sil
mov byte [rsp + 0x4f], r13b
call fcn.14001462c
mov rdx, qword [rsp + 0x40]
xor eax, eax
lea r8d, [rax + 8]
mov byte [rsp + 0x50], r13b
mov r12d, r13d
mov dword [rsp + 0x48], r13d
lea rcx, str.listdev:
mov r13b, 0xf0
mov byte [rsp + 0xc08], sil
mov byte [rsp + 0x198], al
mov byte [rsp + 0x19d], al
mov dword [rsp + 0x64], r13d
mov r15, rax
mov qword [rsp + 0xc0], rax
mov rdi, rax
mov qword [rsp + 0x268], rax
call fcn.14004fdfc
xor r8d, r8d
cmp al, r8b
je 0x14003a86b
mov rax, qword [rsp + 0x40]
mov r12d, 0x100
add rax, 0x10
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x40], rax
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003a7f3
lea edx, [rdi + 9]
lea r9d, [rdi + 0xd]
cmp dx, cx
ja 0x14003a7a2
cmp cx, r9w
jbe 0x14003a7ba
mov r10d, 0x20
cmp r10w, cx
cmovne rdi, rax
mov qword [rsp + 0x268], rdi
jmp 0x14003a7c0
mov r10d, 0x20
cmp dx, cx
ja 0x14003a7cb
cmp cx, r9w
jbe 0x14003a7e4
cmp r10w, cx
je 0x14003a7e4
add rax, rsi
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003a7f3
jmp 0x14003a7c0
cmp word [rax], r8w
je 0x14003a7f3
mov word [rax], r8w
add qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x40]
call fcn.14001462c
cmp word [rdi], r8w
jne 0x14003a88e
lea rcx, [rsp + 0x1c0]
call fcn.14004ea6c
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x218]
call fcn.14004ea6c
lea rcx, [rsp + 0x208]
call fcn.14004ea6c
lea rcx, [rsp + 0x260]
call fcn.14004ea6c
lea rcx, [rsp + 0x1f0]
call fcn.14004ea6c
lea rcx, [rsp + 0x210]
call fcn.14004ea6c
mov rax, 0xffffffff80070057
jmp 0x14003deea
lea rdx, [rsp + 0x40]
lea rcx, str.buildcache:
mov r8d, 0xa
call fcn.1400587a8
xor r8d, r8d
cmp al, r8b
jne 0x14003de07
cmp dword [rsp + 0x2a8], 0x60000
movzx esi, byte [rsp + 0x4e]
mov eax, 3
cmovae esi, eax
mov rax, qword [rsp + 0x40]
mov ecx, 0x2a
mov dl, r8b
mov qword [rsp + 0x90], r8
mov word [rsp + 0x194], r8w
mov byte [rsp + 0x1a0], r8b
mov dil, 0xff
mov byte [rsp + 0xc00], dl
cmp cx, word [rax]
jne 0x14003b4c8
mov bl, byte [rsp + 0x4e]
lea rdx, [rsp + 0x40]
lea rcx, str.extract
mov r8d, 8
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a91c
lea eax, [r8 + 1]
mov byte [rsp + 0x198], al
mov byte [rsp + 0xc08], al
mov r14b, al
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.cab
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a943
mov r14b, 1
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.nocheck
mov r8d, 8
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a972
lea eax, [r8 + 1]
mov byte [rsp + 0x19d], al
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.devcon
mov r8d, 7
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a9a1
lea eax, [r8 + 1]
mov byte [rsp + 0x19e], al
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.rescan
mov r8d, 7
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a9cd
mov r13b, r8b
mov dword [rsp + 0x64], r13d
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.norescan
mov r8d, 9
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003a9f1
mov r13b, 0xc0
jmp 0x14003a9c3
mov rdx, qword [rsp + 0x40]
lea rcx, str.rescan:
mov r8d, 8
call fcn.14004fdfc
xor edx, edx
cmp al, dl
je 0x14003aa4f
add qword [rsp + 0x40], 0x10
movsx eax, r13b
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0xa8], eax
call fcn.1400a45f8
mov r13d, dword [rsp + 0xa8]
xor r8d, r8d
cmp r13b, r8b
mov dword [rsp + 0x64], r13d
jge 0x14003b477
jmp 0x14003a9c0
lea rdx, [rsp + 0x40]
lea rcx, str.dummy
mov r8d, 6
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003aa7e
lea eax, [r8 + 1]
mov byte [rsp + 0x19f], al
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.sub
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003aaa7
mov byte [rsp + 0x50], 1
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.self
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003aad0
mov byte [rsp + 0x50], 2
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.7pe
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003aaf7
mov sil, 3
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.7pe_
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ab1e
mov sil, bl
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.drvload
mov r8d, 8
call fcn.140058710
xor r8d, r8d
cmp al, r8b
jne 0x14003ab16
lea rdx, [rsp + 0x40]
lea rcx, str.inner
mov r8d, 6
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ab64
mov sil, 0xc0
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.nnverify
mov r8d, 9
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ab90
mov byte [rsp + 0xc08], 1
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.rverify
mov r8d, 8
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003abbc
mov byte [rsp + 0xc08], r8b
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.listdevi
mov r8d, 0xa
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003abeb
and r12d, 0xff00
or r12d, 2
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.listdevc
mov r8d, 0xa
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ac1a
and r12d, 0xff00
or r12d, 4
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.listdev
mov r8d, 0xa
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ac49
and r12d, 0xff00
or r12d, 8
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.comp
mov r8d, 6
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ac7a
lea eax, [r8 + 1]
mov dl, al
mov byte [rsp + 0xc00], al
jmp 0x14003b47e
lea rdx, [rsp + 0x40]
lea rcx, str.hwid
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003aca3
bts r12d, 0xc
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, [0x1400ef40c]
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003accc
bts r12d, 0xb
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.inst
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003acf5
bts r12d, 0xd
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.All
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ad1e
bts r12d, 9
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, [0x1400ef3f4]
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ad47
bts r12d, 0xa
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.auto
mov r8d, 5
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ad77
lea eax, [r8 + 3]
mov word [rsp + 0x194], ax
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.sys
mov r8d, 4
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ada6
lea eax, [r8 + 1]
mov byte [rsp + 0x1a0], al
jmp 0x14003b477
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xa
inc rcx
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003add1
or bpl, 1
jmp 0x14003b477
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xb
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003adf9
or bpl, 3
jmp 0x14003b477
mov rcx, qword [str.AutoDisverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xe
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003ae21
or bpl, 0x10
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.sysdir:
mov r8d, 7
call fcn.1400587a8
xor edx, edx
cmp al, dl
je 0x14003ae6b
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
mov r8d, 0x1cd
mov qword [rsp + 0x1b0], rax
call fcn.1400236d0
xor r8d, r8d
mov qword [rsp + 0x40], rax
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.ret:
mov r8d, 4
call fcn.1400587a8
xor r8d, r8d
cmp al, r8b
je 0x14003af30
mov rax, qword [rsp + 0x40]
cmp word [rax], r8w
je 0x14003b46d
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rax]
ja 0x14003aeb1
cmp word [rax], r10w
jbe 0x14003aed7
mov r11d, 0x20
cmp r11w, word [rax]
je 0x14003aedd
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x1a8], rcx
jmp 0x14003aedd
mov r11d, 0x20
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003b46d
mov edx, 2
cmp r9w, cx
ja 0x14003aefb
cmp cx, r10w
jbe 0x14003af18
cmp r11w, cx
je 0x14003af18
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003b46d
jmp 0x14003aeef
cmp word [rax], r8w
je 0x14003b46d
mov word [rax], r8w
add qword [rsp + 0x40], rdx
jmp 0x14003b46d
lea rdx, [rsp + 0x40]
lea rcx, str.IdCah:
mov r8d, 6
call fcn.1400587a8
xor r8d, r8d
cmp al, r8b
je 0x14003affd
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003afd4
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, ax
ja 0x14003af75
cmp ax, r10w
jbe 0x14003af95
mov rdx, qword [rsp + 0x1c8]
mov r11d, 0x20
cmp r11w, ax
cmovne rdx, rcx
mov qword [rsp + 0x1c8], rdx
jmp 0x14003af9b
mov r11d, 0x20
mov edx, 2
cmp r9w, ax
ja 0x14003afac
cmp ax, r10w
jbe 0x14003afc5
cmp r11w, ax
je 0x14003afc5
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
je 0x14003afd4
jmp 0x14003afa0
cmp word [rcx], r8w
je 0x14003afd4
mov word [rcx], r8w
add qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x40]
call fcn.14001462c
mov rax, qword [rsp + 0x1c8]
cmp word [rax], r8w
jne 0x14003b477
mov qword [rsp + 0x1c8], r8
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.retid:
mov r8d, 6
call fcn.1400587a8
xor r8d, r8d
cmp al, r8b
je 0x14003b0b2
mov rax, qword [rsp + 0x40]
cmp word [rax], r8w
je 0x14003b46d
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rax]
ja 0x14003b043
cmp word [rax], r10w
jbe 0x14003b069
mov r11d, 0x20
cmp r11w, word [rax]
je 0x14003b06f
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x2c8], rax
mov qword [rsp + 0x160], rcx
jmp 0x14003b06f
mov r11d, 0x20
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003b46d
mov edx, 2
cmp r9w, cx
ja 0x14003b091
cmp cx, r10w
jbe 0x14003af18
cmp r11w, cx
je 0x14003af18
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003b46d
jmp 0x14003b081
mov rdx, qword [rsp + 0x40]
lea rcx, str.DevClass:
mov r8d, 0xa
call fcn.14004fdfc
xor r8d, r8d
cmp al, r8b
je 0x14003b175
mov rcx, qword [rsp + 0x40]
add rcx, 0x14
mov qword [rsp + 0x40], rcx
cmp word [rcx], r8w
je 0x14003b46d
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rcx]
ja 0x14003b101
cmp word [rcx], r10w
jbe 0x14003b121
mov rax, qword [rsp + 0x168]
mov r11d, 0x20
cmp r11w, word [rcx]
cmovne rax, rcx
mov qword [rsp + 0x168], rax
jmp 0x14003b127
mov r11d, 0x20
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003b46d
mov edx, 2
cmp r9w, ax
ja 0x14003b145
cmp ax, r10w
jbe 0x14003b162
cmp r11w, ax
je 0x14003b162
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
je 0x14003b46d
jmp 0x14003b139
cmp word [rcx], r8w
je 0x14003b46d
mov word [rcx], r8w
jmp 0x14003af26
mov rdx, qword [rsp + 0x40]
lea rcx, str.DevID:
mov r8d, 7
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b246
mov rax, qword [rsp + 0x40]
add rax, 0xe
mov qword [rsp + 0x40], rax
cmp word [rax], cx
je 0x14003b1c5
lea edx, [rcx + 9]
cmp dx, word [rax]
ja 0x14003b1b9
lea ecx, [rdx + 4]
cmp word [rax], cx
jbe 0x14003b1c5
mov ecx, 0x20
cmp cx, word [rax]
cmovne r15, rax
lea rcx, [rsp + 0x40]
mov edx, 0x27
call fcn.14001a7f8
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
cmp word [rcx], r8w
je 0x14003b1ef
lea eax, [r8 + 2]
mov word [rcx], r8w
add qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.14001462c
cmp r15, r8
je 0x14003b477
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r8d, r8d
movsxd rcx, eax
cmp rcx, r8
jle 0x14003b235
lea edx, [r8 + 1]
lea r9d, [r8 + 0x26]
cmp r9w, word [r15 + rcx*2 - 2]
jne 0x14003b235
mov word [r15 + rcx*2], r8w
sub rcx, rdx
sub eax, edx
cmp rcx, r8
jg 0x14003b21e
cmp eax, r8d
jg 0x14003b477
mov r15, r8
jmp 0x14003b477
lea rdx, [rsp + 0x40]
lea rcx, str.infcache:
mov r8d, 0xa
call fcn.140058804
xor ecx, ecx
cmp al, cl
je 0x14003b2cc
mov rax, qword [rsp + 0x40]
cmp word [rax], cx
je 0x14003b299
lea edx, [rcx + 9]
cmp dx, word [rax]
ja 0x14003b27d
lea ecx, [rdx + 4]
cmp word [rax], cx
jbe 0x14003b299
mov rcx, qword [rsp + 0x248]
mov edx, 0x20
cmp dx, word [rax]
cmovne rcx, rax
mov qword [rsp + 0x248], rcx
lea rcx, [rsp + 0x40]
mov edx, 0x27
call fcn.14001a7f8
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
cmp word [rcx], r8w
je 0x14003b46d
lea eax, [r8 + 2]
mov word [rcx], r8w
add qword [rsp + 0x40], rax
jmp 0x14003b46d
mov rdx, qword [rsp + 0x40]
lea rcx, str.disable:
mov r8d, 9
call fcn.14004fdfc
xor edx, edx
cmp al, dl
je 0x14003b2fc
mov rcx, qword [rsp + 0x40]
lea eax, [rdx + 2]
add rcx, rax
mov dil, al
jmp 0x14003b3b2
mov rdx, qword [rsp + 0x40]
lea rcx, str.enable:
mov r8d, 8
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b31e
mov dil, 1
jmp 0x14003b33e
mov rdx, qword [rsp + 0x40]
lea rcx, str.remove:
mov r8d, 8
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b345
mov dil, 5
mov rcx, qword [rsp + 0x40]
jmp 0x14003b3b2
mov rdx, qword [rsp + 0x40]
lea rcx, str.update:
mov r8d, 8
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b367
mov dil, 0x11
jmp 0x14003b33e
mov rdx, qword [rsp + 0x40]
lea rcx, str.status:
mov r8d, 8
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b389
mov dil, 0x12
jmp 0x14003b33e
mov rdx, qword [rsp + 0x40]
lea rcx, str.restart:
mov r8d, 9
call fcn.14004fdfc
xor ecx, ecx
cmp al, cl
je 0x14003b3ff
mov rcx, qword [rsp + 0x40]
mov dil, 3
add rcx, 2
add rcx, 0x10
xor eax, eax
mov qword [rsp + 0x40], rcx
cmp word [rcx], ax
je 0x14003b299
mov eax, 9
cmp ax, word [rcx]
ja 0x14003b3de
mov eax, 0xd
cmp word [rcx], ax
jbe 0x14003b299
mov rax, qword [rsp + 0x90]
mov edx, 0x20
cmp dx, word [rcx]
cmovne rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x14003b299
lea rdx, [rsp + 0x40]
lea rcx, [0x1400ef334]
mov r8d, 3
call fcn.140058710
xor r8d, r8d
cmp al, r8b
je 0x14003b425
mov byte [rsp + 0x4f], 1
jmp 0x14003b477
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003b46d
mov edx, 9
lea ebx, [rdx + 4]
lea r13d, [rdx - 7]
lea r9d, [rdx + 0x17]
cmp dx, ax
ja 0x14003b44d
cmp ax, bx
jbe 0x14003b464
cmp r9w, ax
je 0x14003b464
add rcx, r13
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
jne 0x14003b443
mov r13d, dword [rsp + 0x64]
mov bl, byte [rsp + 0x4e]
lea rcx, [rsp + 0x40]
call fcn.14001462c
mov dl, byte [rsp + 0xc00]
mov rax, qword [rsp + 0x40]
mov ecx, 0x2a
cmp cx, word [rax]
je 0x14003a8e3
mov ebx, dword [rsp + 0x100]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0x48], r12d
movzx eax, byte [rsp + 0x198]
cmp r13b, 0xf0
mov r13d, r12d
setl byte [rsp + 0x88]
shr r13d, 8
mov r9d, 1
and r13b, r9b
cmovne eax, r8d
mov dword [rsp + 0x118], r13d
mov byte [rsp + 0x198], al
cmp r12d, r8d
je 0x14003b516
mov al, r13b
neg al
sbb cl, cl
and cl, dl
mov dl, cl
mov byte [rsp + 0xc00], cl
bt r12d, 0xd
jae 0x14003b52e
bt r12d, 0xa
jae 0x14003b52e
btr r12d, 0xa
mov dword [rsp + 0x48], r12d
cmp r13b, r8b
je 0x14003b568
mov eax, 2
test al, r12b
je 0x14003b555
test r12d, 0x3c00
jne 0x14003b555
cmp dl, r8b
jne 0x14003b555
bts r12d, 0xd
mov dword [rsp + 0x48], r12d
cmp r13b, r8b
je 0x14003b568
cmp qword [rsp + 0x268], r8
je 0x14003d1f4
cmp dil, r8b
jge 0x14003da7c
cmp bpl, r8b
jne 0x14003da64
mov rdi, qword [rsp + 0xbf0]
cmp sil, r8b
mov ecx, r8d
movzx eax, sil
cmovge ecx, eax
or byte [rsp + 0x4d], cl
mov byte [rsp + 0x19c], cl
cmp r13b, r8b
jne 0x14003b5b8
mov rax, qword [rsp + 0x2e8]
cmp byte [rsp + 0x4c], r9b
cmove rax, rdi
mov qword [rsp + 0x2e8], rax
mov r12, qword [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x250], r15
mov qword [r12], r8
lea r8d, [rdx + 0x20]
lea rcx, [r12 + 0x400000]
call fcn.1400cc8d0
mov rbp, qword [rsp + 0x1c8]
xor r15d, r15d
mov rsi, r15
cmp rbp, r15
je 0x14003b67d
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
mov qword [rsp + 0x20], r15
call fcn.140015a64
mov rdi, rax
cmp rax, r15
je 0x14003b670
mov rdx, qword [rax + 8]
cmp rdx, r15
je 0x14003b670
mov rcx, qword [rax + 0x18]
movabs rax, 0x3fffffffffffffff
and rcx, rax
cmp rcx, 0x400032
jb 0x14003b670
lea r8d, [r15 + 0xa]
lea rcx, [0x1400ef530]
call fcn.14004ea9c
cmp eax, r15d
jne 0x14003b670
mov rsi, qword [rdi + 8]
mov r8d, 0x400020
mov rcx, r12
add rsi, 0x12
mov rdx, rsi
call fcn.14001a4c0
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp rsi, r15
mov ecx, r15d
mov eax, 0x20
sete byte [rsp + 0x98]
mov dword [rsp + 0x280], eax
xor eax, eax
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x140], r12
mov dword [rsp + 0x284], r15d
cmp word [rax], 0x24
mov esi, r15d
mov edi, 2
sete cl
mov dword [rsp + 0x60], ecx
cmp ecx, r15d
je 0x14003b6ff
add rax, rdi
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
jne 0x14003b6ff
lea ecx, [rdi - 1]
add rax, rdi
add esi, ecx
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
je 0x14003b6ef
lea rcx, [rsp + 0x40]
call fcn.14001462c
mov rcx, qword [rsp + 0x40]
mov edx, 0x2c
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r12, r15
mov qword [rsp + 0xb8], r15
mov rbp, rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x80], r15
cmp rax, r15
je 0x14003b7ba
lea rcx, [rsp + 0xc8]
add rbp, rdi
mov word [rax], r15w
mov qword [rsp + 0xc8], rbp
call fcn.14001462c
mov rbp, qword [rsp + 0xc8]
mov rcx, rbp
mov edx, 0x2c
mov qword [rsp + 0xc8], rbp
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r12, rax
mov qword [rsp + 0xb8], rax
cmp rax, r15
je 0x14003b7b2
add r12, rdi
lea rcx, [rsp + 0xb8]
mov word [rax], r15w
mov qword [rsp + 0xb8], r12
call fcn.14001462c
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0xb8], r12
mov rcx, rbp
call fcn.140015c5c
mov rcx, qword [rsp + 0x40]
call fcn.140015c5c
cmp r12, r15
je 0x14003b824
mov edx, 0x2c
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rdi, rax
mov qword [rsp + 0x80], rax
cmp rax, r15
je 0x14003b81c
lea rcx, [rsp + 0x130]
add rdi, 2
mov word [rax], r15w
mov qword [rsp + 0x130], rdi
call fcn.14001462c
mov rdi, qword [rsp + 0x130]
mov rcx, rdi
mov qword [rsp + 0x80], rdi
call fcn.140015c5c
mov rcx, r12
call fcn.140015c5c
mov rax, qword [rsp + 0x40]
cmp word [rax], r15w
je 0x14003b926
lea rcx, [rsp + 0x40]
mov edx, 1
call fcn.140068490
cmp rax, r15
je 0x14003b926
mov ecx, 0x23
cmp cx, word [rax]
jne 0x14003b926
lea rcx, [rsp + 0x200]
call fcn.140055fcc
lea r11, str..tmp.cab
lea r9, str.devi
lea rdx, [rsp + 0x200]
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], r11
call fcn.140006e10
lea rdx, str.__dd__len16M___
lea rcx, [rsp + 0x1d8]
call fcn.14006016c
mov rdx, qword [rsp + 0x200]
lea rcx, [rsp + 0x1d8]
call fcn.140056108
lea rdx, [0x1400ef2d8]
lea rcx, [rsp + 0x1d8]
call fcn.140056108
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x1d8]
call fcn.140056108
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0xbf0]
xor r8d, r8d
call fcn.1400a91d4
mov rdx, qword [rsp + 0x200]
lea rcx, [rsp + 0x218]
call fcn.140016c6c
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x40], rax
call fcn.14004ea6c
lea rcx, [rsp + 0x200]
call fcn.14004ea6c
mov rcx, qword [rsp + 0x40]
call fcn.1400cbe14
mov rcx, qword [rsp + 0x40]
mov r15d, eax
mov dword [rsp + 0x258], eax
call fcn.1400cce60
xor r11d, r11d
mov rdi, rax
cmp r14b, r11b
jne 0x14003b98b
cmp r15d, r11d
jne 0x14003b97b
cmp eax, 4
jle 0x14003b97b
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 0x14003b98b
mov r14d, r11d
mov dword [rsp + 0x1e0], r11d
jmp 0x14003ba5a
movsxd r10, dword [rsp + 0x1d0]
mov ecx, 1
lea rax, str.SysWow64
cmp byte [0x140104008], cl
lea rdx, str.System32
mov r14d, ecx
cmove rdx, rax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x1e0], ecx
lea rcx, [rax + r10*2]
mov r8d, 0x10
call fcn.14001a4c0
mov rax, qword [rsp + 0x70]
lea ecx, [r10 + 8]
movsxd rdx, ecx
mov r8d, 0x1a
lea rcx, [rax + rdx*2]
lea rdx, str.cabinet.dll
call fcn.14001a4c0
cmp r13b, r11b
jne 0x14003ba5a
mov rcx, qword [rsp + 0x70]
call fcn.1400cbf54
xor r11d, r11d
cmp eax, r11d
jne 0x14003ba5a
lea edx, [r11 + 0x63]
lea rcx, [rsp + 0x238]
call fcn.140056040
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x238]
lea rdx, str.__dd__bs1M__s_0__._33INDATA
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rsp + 0xbf0]
xor r8d, r8d
call fcn.1400a91d4
lea rcx, [rsp + 0x238]
call fcn.14004ea6c
xor r11d, r11d
cmp r12, r11
je 0x14003ba75
mov eax, 0x2a
cmp ax, word [r12]
cmove r12, r11
mov qword [rsp + 0xb8], r12
cmp edi, 4
jle 0x14003baa4
mov rax, qword [rsp + 0x40]
movsxd rcx, edi
lea rdx, [0x1400edb68]
lea rcx, [rax + rcx*2 - 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
jne 0x14003baa4
lea ecx, [r11 + 1]
mov eax, ecx
jmp 0x14003baac
mov eax, r11d
mov ecx, 1
cmp r15d, r11d
jne 0x14003bab8
mov edi, ecx
cmp eax, r11d
jne 0x14003babb
mov edi, r11d
mov r15d, dword [rsp + 0x60]
cmp esi, ecx
je 0x14003bae2
cmp eax, r11d
je 0x14003bad3
cmp r15d, r11d
je 0x14003bad3
cmp r12, r11
jne 0x14003bae2
cmp edi, r11d
je 0x14003badd
cmp r15d, r11d
jne 0x14003bae2
mov al, r11b
jmp 0x14003bae4
mov al, cl
cmp edi, r11d
jne 0x14003baf1
cmp al, r11b
mov eax, r11d
je 0x14003baf3
mov eax, ecx
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x158], r11
mov word [rsp + 0x196], r11w
cmp r13b, r11b
jne 0x14003bbfd
cmp r12, r11
je 0x14003bbfd
cmp word [r12], r11w
je 0x14003bbfd
cmp eax, r11d
jne 0x14003bbfd
lea rcx, [rsp + 0x68]
mov rdx, r12
call fcn.140060284
mov rcx, qword [rsp + 0x68]
call fcn.14001a9c4
mov rcx, qword [rsp + 0x68]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x220]
mov edx, 0x105
call fcn.140056040
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x68]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov rcx, qword [rsp + 0x220]
xor eax, eax
cmp word [rcx], ax
je 0x14003bbb0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x220], rax
jmp 0x14003bbb5
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, 0x5c
cmp word [r12 + rcx*2 - 2], ax
je 0x14003bbdc
lea rdx, [0x1400e9a58]
lea rcx, [rsp + 0x68]
call fcn.140056108
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0x220]
mov qword [rsp + 0x150], rax
call fcn.14004ea6c
xor r11d, r11d
lea ecx, [r11 + 1]
cmp r15d, r11d
jne 0x14003bc13
cmp byte [rsp + 0x4d], r11b
je 0x14003bc44
cmp byte [rsp + 0x198], r11b
jne 0x14003bc44
mov sil, byte [rsp + 0xc08]
cmp byte [rsp + 0x1a0], r11b
jne 0x14003bc4c
cmp r13b, r11b
jne 0x14003bc4c
cmp sil, cl
je 0x14003bc4c
cmp ebx, r11d
je 0x14003bc4c
xor edx, edx
xor ecx, ecx
call fcn.1400b9204
xor r11d, r11d
mov ebx, eax
jmp 0x14003bc4c
mov sil, byte [rsp + 0xc08]
mov eax, 2
cmp sil, al
cmove ebx, r11d
mov dword [rsp + 0x100], ebx
cmp r14d, r11d
je 0x14003bcb8
cmp rbp, r11
je 0x14003bcb8
or dword [rsp + 0xc08], 0xffffffff
lea rdx, [rsp + 0xc08]
lea rcx, [rsp + 0x128]
mov qword [rsp + 0x128], rbp
call fcn.140064100
mov r11d, dword [rsp + 0xc08]
mov edx, dword [rsp + 0x11c]
lea ecx, [r11 - 1]
movzx eax, r11b
cmp ecx, 0x12
movzx edx, dl
cmovbe edx, eax
xor r11d, r11d
mov dword [rsp + 0x11c], edx
mov al, byte [rsp + 0x4c]
mov ebp, dword [rsp + 0x64]
mov ecx, 1
cmp al, cl
jne 0x14003bd45
cmp r13b, r11b
jne 0x14003bd45
cmp byte [rsp + 0x198], r11b
jne 0x14003bd45
movsx ecx, byte [rsp + 0x19d]
movsx r9d, byte [rsp + 0x19c]
mov r8d, dword [rsp + 0x2a8]
movsx eax, bpl
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 + 0x4f0]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_wsprintfW]
mov r12, qword [rsp + 0xbf0]
lea r8, [rsp + 0x4f0]
lea rdx, [0x1400ef1a8]
mov rcx, r12
call fcn.140015e80
mov al, byte [rsp + 0x4c]
mov ecx, 1
jmp 0x14003bd4d
mov r12, qword [rsp + 0xbf0]
mov esi, dword [rsp + 0x48]
xor r14d, r14d
cmp bpl, r14b
jge 0x14003bd96
cmp esi, r14d
jne 0x14003be27
cmp bpl, 0xf0
jl 0x14003be18
cmp byte [rsp + 0x19c], r14b
je 0x14003be18
cmp edi, r14d
jne 0x14003bd88
cmp r15d, r14d
je 0x14003be18
cmp byte [rsp + 0x19d], r14b
jne 0x14003be18
cmp al, cl
jne 0x14003bdb0
lea r8, [0x1400e94a4]
lea rdx, [0x1400ef190]
mov rcx, r12
call fcn.140015e80
mov r15d, 0x11
lea rdx, str.rescan__BEGIN
xor r8d, r8d
mov rcx, r12
mov r9d, r15d
mov qword [rsp + 0x20], r14
call fcn.140026048
movsx ecx, bpl
and ecx, 7
call fcn.14001d4f4
lea edx, [r15 + 0x21]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov rbp, rax
mov qword [rsp + 0xf8], rax
call fcn.14001bbe8
lea rdx, str.rescan__END
mov r9d, r15d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.140026048
cmp esi, r14d
jne 0x14003be27
mov rax, qword [rsp + 0x40]
cmp word [rax], r14w
je 0x14003d1fd
lea rcx, [rsp + 0xa0]
call fcn.140055fcc
mov rcx, qword [rsp + 0x40]
call fcn.1400188a8
lea rdx, [rsp + 0xa0]
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1400b9c48
mov r9d, r14d
mov qword [rsp + 0x40], rax
cmp esi, r14d
je 0x14003be70
bt esi, 9
mov eax, 2
cmovae r9d, eax
or r9d, 4
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [0x140106cd0]
mov qword [rsp + 0xb0], rax
cmp rax, 0xffffffffffffffff
jne 0x14003bea0
mov qword [rsp + 0xb0], r14
cmp edi, r14d
je 0x14003d208
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x128], r14
call fcn.140055fcc
mov edi, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
xor r11d, r11d
movzx r9d, dil
mov dword [rsp + 0xf0], r9d
cmp r10, r11
je 0x14003beed
mov rcx, r10
call fcn.14001a738
mov r10, qword [rsp + 0xc0]
xor r11d, r11d
mov r9d, dword [rsp + 0xf0]
and edi, 0xffffff00
mov r15, r11
mov qword [rsp + 0x130], r11
or edi, r9d
movzx r14d, r11w
mov word [rsp + 0xc08], r11w
mov dword [rsp + 0x48], edi
cmp r10, r11
je 0x14003c073
cmp r13b, r11b
je 0x14003c073
mov eax, 0x22
movzx ebp, r11w
mov rsi, r10
lea r13d, [rax + 5]
cmp ax, word [r10]
je 0x14003bf40
cmp r13w, word [r10]
jne 0x14003bf48
mov bp, word [r10]
lea rsi, [r10 + 2]
mov rcx, rsi
call fcn.14001d56c
mov r12d, r9d
cmp eax, r11d
cmovge r12d, eax
cmp eax, r11d
jl 0x14003bf94
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.14001a478
mov r9d, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
xor r11d, r11d
cmp bp, r11w
je 0x14003c066
mov r10d, 2
jmp 0x14003bfae
add rsi, r10
cmp bp, ax
je 0x14003bfb9
movzx eax, word [rsi]
cmp ax, r11w
jne 0x14003bfa6
jmp 0x14003bfbc
mov r15, rsi
mov ebx, 0x22
movzx ebp, word [rsi]
cmp bx, bp
je 0x14003bfcf
cmp r13w, bp
jne 0x14003c034
add rsi, r10
mov rcx, rsi
call fcn.14001d56c
mov ecx, r9d
cmp eax, r11d
cmovge ecx, eax
cmp ecx, r12d
jne 0x14003c034
cmp eax, r11d
jl 0x14003c024
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.14001a478
mov r9d, dword [rsp + 0xf0]
xor r11d, r11d
lea r10d, [r11 + 2]
jmp 0x14003c024
add rsi, r10
cmp bp, ax
je 0x14003c02f
movzx eax, word [rsi]
cmp ax, r11w
jne 0x14003c01c
jmp 0x14003bfc1
mov r15, rsi
jmp 0x14003bfc1
mov r14w, word [r15]
mov ebx, dword [rsp + 0x100]
mov edi, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
mov qword [rsp + 0x130], r15
mov word [rsp + 0xc08], r14w
cmp r14w, r11w
je 0x14003c066
mov word [r15], r11w
and edi, 0xffffff00
or edi, r12d
mov dword [rsp + 0x48], edi
mov cl, byte [rsp + 0xc00]
mov eax, edi
mov r8d, r11d
and eax, 0x806
cmp eax, 0x802
sete r8b
cmp eax, 0x800
jne 0x14003c0a4
cmp cl, r11b
jne 0x14003c0a4
mov r9d, 1
mov edx, r9d
jmp 0x14003c0ad
mov edx, r11d
mov r9d, 1
mov eax, edi
and eax, 0x1006
cmp eax, 0x1004
jne 0x14003c0c3
cmp cl, r11b
mov ecx, r9d
je 0x14003c0c6
mov ecx, r11d
mov esi, r11d
mov eax, edi
and eax, 0x2002
cmp eax, 0x2000
sete sil
or ecx, edx
neg ecx
mov dword [rsp + 0x1e4], esi
sbb r13w, r13w
mov word [rsp + 0x64], r13w
test dil, 4
jne 0x14003c0fc
mov ebp, r9d
cmp r8d, r11d
je 0x14003c101
mov ebp, 2
mov dword [rsp + 0xe0], ebp
cmp r10, r11
je 0x14003c12a
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r11d, r11d
movsxd rdi, eax
mov qword [rsp + 0x2b0], rdi
mov edi, dword [rsp + 0x48]
jmp 0x14003c132
mov qword [rsp + 0x2b0], r11
mov r12d, 0xfe
lea rcx, [rsp + 0x3f2]
xor edx, edx
mov r8, r12
mov word [rsp + 0x3f0], r11w
call fcn.1400cc8d0
xor eax, eax
lea rcx, [rsp + 0x2f2]
mov r8, r12
xor edx, edx
mov word [rsp + 0x2f0], ax
call fcn.1400cc8d0
xor ecx, ecx
mov eax, 0x20
mov dword [rsp + 0x280], eax
cmp byte [rsp + 0x98], cl
je 0x14003c8b2
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
lea r9d, [rax - 0xf]
add r12, 2
lea rdx, str.DEVI_ID__BEGIN
xor r8d, r8d
mov qword [r12], rcx
mov rcx, qword [rsp + 0xbf0]
call fcn.140026048
xor r11d, r11d
cmp byte [rsp + 0x198], r11b
jne 0x14003c6ff
mov r9, qword [rsp + 0xb0]
cmp r9, r11
je 0x14003c6ff
mov r14, qword [rsp + 0x58]
mov ecx, r11d
mov rax, r12
mov dword [rsp + 0x120], ecx
sub rax, r14
cmp rax, 0x400000
jge 0x14003c6ee
mov edx, ecx
lea r8, [rsp + 0x280]
mov rcx, r9
call qword [0x140106cf8]
xor r11d, r11d
cmp eax, r11d
je 0x14003c6ee
cmp edi, r11d
je 0x14003c27f
cmp qword [rsp + 0x168], r11
je 0x14003c271
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x284]
xor r9d, r9d
mov r8d, 0x80
mov qword [rsp + 0x3f0], r11
call qword [sym.imp.SETUPAPI.dll_SetupDiClassNameFromGuidW]
mov rdx, qword [rsp + 0x168]
lea rcx, [rsp + 0x3f0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
jne 0x14003c6c4
mov eax, 2
test al, dil
jne 0x14003c5f2
mov rax, qword [0x140106d18]
mov dword [rsp + 0x270], r11d
cmp rax, r11
je 0x14003c2ca
mov r8d, dword [rsp + 0x294]
mov ecx, 0x20
lea rdx, [rsp + 0x270]
mov dword [rsp + 0x280], ecx
lea rcx, [rsp + 0x1f8]
xor r9d, r9d
mov dword [rsp + 0x1f8], 0x400
call rax
xor r11d, r11d
movsxd rsi, esi
movsx r15d, r13w
mov r14d, ebp
mov rdi, r12
mov qword [rsp + 0x1f8], r12
mov r13d, 1
mov qword [rsp + 0x278], rsi
mov ecx, dword [rsp + 0x58]
lea rbp, [r12 + 0x1fffc]
mov eax, 0xfffe
sub ecx, r12d
mov qword [rsp + 0x30], r11
mov qword [r12], r11
add ecx, 0x3f0002
lea rdx, [rsp + 0x280]
mov r8d, r14d
cmp ecx, eax
mov qword [rsp + 0x2b8], rbp
cmovg ecx, eax
mov eax, 0x20
xor r9d, r9d
mov dword [rsp + 0x280], eax
movsxd rax, ecx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0xb0]
mov qword [rax + rbp], r11
mov qword [rsp + 0x20], rbp
mov qword [rbp], r11
call qword [0x140106cd8]
xor r11d, r11d
mov ecx, 0x20
mov dword [rsp + 0x280], ecx
cmp eax, r11d
je 0x14003c6bb
cmp byte [rsp + 0x118], r11b
je 0x14003c459
mov rcx, qword [rsp + 0xc0]
cmp rcx, r11
je 0x14003c3e4
mov eax, dword [rsp + 0x48]
and eax, 2
cmp al, r11b
jne 0x14003c3e4
cmp r13d, r11d
je 0x14003c3e4
mov r8d, dword [rsp + 0x2b0]
mov r9d, 0x100
mov rdx, rbp
call fcn.140028380
xor r11d, r11d
cmp rax, r11
jne 0x14003c3db
test byte [rsp + 0x48], 8
je 0x14003c6bb
lea eax, [r11 + 2]
cmp r14d, eax
je 0x14003c6bb
mov r14d, eax
jmp 0x14003c2ed
cmp rsi, r11
jne 0x14003c5dc
movsxd rdi, r15d
cmp word [rbp], r11w
je 0x14003c422
cmp rdi, r11
jl 0x14003c422
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x2b8]
lea rcx, [rsp + 0x78]
call fcn.14001a8c0
xor r11d, r11d
bt dword [rsp + 0x48], 0xa
jae 0x14003c422
mov rbp, qword [rsp + 0x2b8]
jmp 0x14003c3e7
movsx eax, byte [rsp + 0xc00]
cmp r15d, eax
jge 0x14003c6bb
mov rdi, qword [rsp + 0x1f8]
mov ecx, 1
mov eax, r11d
add r15d, ecx
cmp r14d, 2
mov r13d, r11d
setne al
lea r14d, [rcx + rax]
jmp 0x14003c2ed
lea rdx, str.ACPI
mov r8d, 4
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x14003c6bb
lea edx, [r11 + 1]
cmp r13d, edx
jne 0x14003c4ab
mov r8d, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0xbf0]
mov r9, rbp
call fcn.140015e80
xor r11d, r11d
lea edx, [r11 + 1]
movzx eax, word [rbp]
movzx esi, r11w
mov ecx, r11d
cmp ax, r11w
je 0x14003c5b0
mov r8d, 0x26
cmp ax, r8w
jne 0x14003c4da
movsx eax, byte [rsp + 0x11c]
add ecx, edx
cmp ecx, eax
jge 0x14003c4eb
add si, dx
movzx eax, si
mov ax, word [rbp + rax*2]
cmp ax, r11w
jne 0x14003c4c6
cmp si, r11w
jbe 0x14003c5b0
cmp qword [rsp + 0x1f8], r12
jae 0x14003c52b
cmp word [rdi - 2], si
jne 0x14003c51d
movzx r8d, si
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x14003c582
movzx eax, word [rdi - 4]
lea rdi, [rdi + rax*2 + 6]
cmp rdi, r12
jb 0x14003c4ff
mov rcx, r12
mov word [r12 - 2], si
cmp rbp, r12
jne 0x14003c562
movzx eax, si
lea r12, [r12 + rax*2]
jmp 0x14003c546
add r12, 2
cmp word [r12], r11w
jne 0x14003c542
mov rbp, r12
jmp 0x14003c571
mov word [r12], ax
mov eax, 2
add r12, rax
add rbp, rax
movzx eax, word [rbp]
cmp ax, r11w
jne 0x14003c552
mov word [r12], r11w
mov rax, r12
sub rax, rcx
sar rax, 1
add r12, 6
mov word [rcx - 4], ax
mov esi, 2
cmp word [rbp], r11w
je 0x14003c593
add rbp, rsi
jmp 0x14003c587
mov rdi, qword [rsp + 0x1f8]
add rbp, rsi
mov edx, 1
cmp word [rbp], r11w
jne 0x14003c4ab
jmp 0x14003c5b5
mov esi, 2
cmp byte [rsp + 0xc00], r11b
je 0x14003c6b0
cmp r14d, esi
je 0x14003c6b0
mov r14d, esi
mov rsi, qword [rsp + 0x278]
jmp 0x14003c2ed
mov esi, dword [rsp + 0x1e4]
movzx r13d, word [rsp + 0x64]
mov edi, dword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xb0]
lea r8, [rsp + 0x2f0]
lea rdx, [rsp + 0x280]
mov r9d, 0x80
mov qword [rsp + 0x2f0], r11
mov qword [rsp + 0x20], r11
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
mov rax, qword [rsp + 0xc0]
xor r11d, r11d
cmp rax, r11
je 0x14003c650
cmp esi, r11d
jne 0x14003c650
lea rcx, [rsp + 0x2f0]
mov rdx, rax
call fcn.140028444
xor r11d, r11d
cmp eax, r11d
je 0x14003c6c4
bt edi, 0xa
jb 0x14003c65c
bt edi, 0xd
jb 0x14003c66c
mov ebp, dword [rsp + 0xe0]
cmp esi, r11d
je 0x14003c27f
mov ebp, dword [rsp + 0xe0]
cmp byte [rsp + 0x118], r11b
je 0x14003c27f
lea rax, [rsp + 0x2f0]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x278]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x278], rax
call fcn.14001a8c0
xor r11d, r11d
jmp 0x14003c6c4
mov edi, dword [rsp + 0x48]
test sil, dil
jne 0x14003c72f
jmp 0x14003c6bf
mov edi, dword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x120]
mov esi, dword [rsp + 0x1e4]
mov ebp, dword [rsp + 0xe0]
mov r13w, word [rsp + 0x64]
mov r9, qword [rsp + 0xb0]
inc ecx
jmp 0x14003c1e1
mov r15, qword [rsp + 0x130]
mov r14w, word [rsp + 0xc08]
mov r13d, dword [rsp + 0x118]
cmp r13b, r11b
je 0x14003c72a
cmp r14w, r11w
je 0x14003d22c
mov word [r15], r14w
mov r10, r15
mov qword [rsp + 0xc0], r15
jmp 0x14003bee5
mov esi, 2
mov ebp, dword [rsp + 0xa8]
cmp ebp, r11d
je 0x14003c74d
test sil, dil
je 0x14003c74d
mov dword [rsp + 0x1e8], 1
jmp 0x14003c7af
mov rdi, qword [rsp + 0x250]
mov dword [rsp + 0x1e8], r11d
cmp rdi, r11
je 0x14003c7af
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
mov word [rcx], ax
lea r12, [rcx + 2]
mov word [r12], ax
add r12, rsi
inc eax
movsxd r10, eax
mov rcx, r12
add r10, r10
mov r8, r10
call fcn.14001a4c0
xor r11d, r11d
add r12, r10
mov word [r12], r11w
add r12, rsi
mov word [r12], r11w
add r12, rsi
mov qword [r12], r11
mov r13, qword [rsp + 0xbf0]
lea rdx, str.DEVI_ID__END
mov r9d, 0x11
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r11
call fcn.140026048
xor r14d, r14d
mov word [r12 - 2], r14w
mov r12, qword [rsp + 0x1c8]
cmp r12, r14
je 0x14003c8c4
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [rsp + 0x1c0]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.140015a64
lea edx, [r14 + 0x26]
mov rdi, r12
mov rcx, rax
cmp dx, word [r12]
jne 0x14003c836
lea eax, [rdx - 0x24]
add rdi, rax
cmp dx, word [rdi]
je 0x14003c82e
cmp rcx, r14
jne 0x14003c860
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rsi
mov rdx, rdi
mov rcx, r13
movsxd r9, eax
mov qword [rsp + 0x20], 0x400032
call fcn.14001adbc
jmp 0x14003c8a3
mov dl, byte [rcx + 0x1f]
and dl, 0xc0
cmp dl, 0xc0
jne 0x14003c884
mov rax, qword [rcx + 0x18]
movabs r8, 0x3fffffffffffffff
and rax, r8
cmp rax, 0x400032
jb 0x14003c8a3
cmp dl, r14b
je 0x14003c88d
mov qword [rcx + 8], r14
lea rdx, [rcx + 0x18]
mov r9d, 0x400032
mov r8, rsi
add rcx, 8
call fcn.140058844
lea rcx, [0x140107de8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003c8c4
mov ebp, dword [rsp + 0xa8]
mov r13, qword [rsp + 0xbf0]
xor r14d, r14d
mov rsi, qword [rsp + 0xb0]
mov rcx, rsi
call qword [0x140106ce0]
cmp byte [rsp + 0x198], r14b
jne 0x14003c8f5
lea r8, [0x1400e94a4]
lea rdx, [0x1400e9a5c]
mov rcx, r13
call fcn.140015e80
mov rax, qword [rsp + 0x70]
movsxd r12, dword [rsp + 0x1d0]
mov r14d, 8
lea rdx, [0x1400ef100]
lea rcx, [rax + r12*2]
mov r8, r14
call fcn.14001a4c0
xor r13d, r13d
cmp ebp, r13d
jne 0x14003d416
cmp rsi, r13
je 0x14003d40c
mov dl, byte [rsp + 0x198]
cmp dl, r13b
jne 0x14003c967
mov rax, qword [rsp + 0x58]
cmp word [rax], r13w
je 0x14003d359
cmp dword [rsp + 0x258], r13d
jne 0x14003d2be
cmp dword [rsp + 0x1e0], r13d
je 0x14003d2be
mov rax, qword [rsp + 0x150]
cmp rax, r13
je 0x14003c982
mov ecx, 0x2a
cmp cx, word [rax]
jne 0x14003cabb
mov esi, dword [rsp + 0x60]
mov cl, byte [rsp + 0x19c]
cmp esi, r13d
je 0x14003c9a1
cmp cl, r13b
jne 0x14003c9aa
cmp byte [rsp + 0x1a0], r13b
jne 0x14003c9aa
cmp cl, r13b
jne 0x14003cac9
lea rcx, [rsp + 0x110]
call fcn.140055fcc
lea r11, [0x1400ef0f8]
lea r9, str.devi
lea rcx, [rsp + 0x110]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r11
call fcn.140006e10
lea rcx, [rsp + 0x228]
mov edx, 0x105
call fcn.140056040
mov rdx, qword [rsp + 0x228]
mov rcx, qword [rsp + 0x110]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov r11, qword [rsp + 0x228]
cmp word [r11], r13w
je 0x14003ca30
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x228], rax
lea rdx, [0x1400e9a58]
lea rcx, [rsp + 0x110]
call fcn.140056108
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x208]
call fcn.140016c6c
cmp byte [rsp + 0x19c], r13b
jne 0x14003ca88
cmp byte [rsp + 0x1a0], r13b
jne 0x14003ca88
mov rcx, rax
mov qword [rsp + 0x158], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x196], ax
jmp 0x14003ca90
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x228]
call fcn.14004ea6c
lea rcx, [rsp + 0x110]
call fcn.14004ea6c
mov dl, byte [rsp + 0x198]
mov rax, qword [rsp + 0x150]
jmp 0x14003cabf
mov esi, dword [rsp + 0x60]
cmp byte [rsp + 0x19c], r13b
je 0x14003caed
cmp dl, r13b
jne 0x14003caed
cmp rax, r13
je 0x14003caed
mov cl, byte [rsp + 0x19d]
mov r14d, 1
cmp cl, r13b
cmove esi, r14d
mov dword [rsp + 0x60], esi
jmp 0x14003cafa
mov cl, byte [rsp + 0x19d]
mov r14d, 1
cmp byte [rsp + 0x51], r13b
mov rbp, qword [rsp + 0x80]
cmovne rax, r13
mov qword [rsp + 0x150], rax
cmp cl, r13b
je 0x14003cb28
cmp rax, r13
je 0x14003cb28
cmp rbp, r13
cmovne esi, r13d
mov dword [rsp + 0x60], esi
neg rax
movzx eax, word [rsp + 0x194]
mov edi, 0xa
sbb r15d, r15d
shl eax, 0x10
lea rdx, str.INF_
not r15d
mov r8, rdi
and r15d, 3
or r15d, eax
mov rax, qword [rsp + 0x70]
lea rcx, [rax + r12*2]
call fcn.14001a4c0
lea rcx, [rsp + 0x230]
mov edx, 0x1040
call fcn.140056040
lea rcx, [rsp + 0x744]
xor edx, edx
mov r8d, 0x24c
mov dword [rsp + 0x740], r13d
call fcn.1400cc8d0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x740]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xd0], r13
call fcn.1400cbe9c
cmp qword [rsp + 0xd0], r13
je 0x14003d3f7
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xd8]
call fcn.14006016c
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xd8]
call fcn.1400666d8
lea rdx, [0x1400e9a58]
lea rcx, [rsp + 0xd8]
call fcn.140056108
lea rdx, str.DefaultInstall_132
lea rcx, [rsp + 0xe8]
call fcn.14006016c
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0xd8]
mov r12d, eax
mov dword [rsp + 0xc00], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0xd8]
movsxd rbx, eax
mov word [rcx + rbx*2], r13w
mov dword [rsp + 0xc08], ebx
cmp esi, r13d
jne 0x14003cc57
cmp byte [rsp + 0x198], r13b
je 0x14003cc5a
mov r14d, r13d
mov rax, qword [rsp + 0x150]
neg rax
sbb ecx, ecx
and ecx, 0x20000
add ecx, 0x10000
or r15d, ecx
mov rdx, qword [rsp + 0x230]
lea rcx, [rsp + 0x140]
call fcn.1400169d4
test byte [rsp + 0x740], 0x10
jne 0x14003d0a8
mov rax, qword [rsp + 0xd8]
movsxd rcx, ebx
lea rdx, [rsp + 0x76c]
mov word [rax + rcx*2], r13w
lea rcx, [rsp + 0xd8]
call fcn.140056108
mov rcx, qword [rsp + 0xd8]
lea r9, [rsp + 0x140]
lea r8, [0x14003a3fc]
xor edx, edx
call qword [0x140106d00]
cmp esi, r13d
je 0x14003ce97
mov r13, qword [rsp + 0x178]
mov bl, byte [rsp + 0x4c]
cmp r13, qword [rsp + 0x170]
jae 0x14003ce78
add r13, rdi
mov rbp, r13
movzx r12d, word [r13 - 2]
lea eax, [r12 + 2]
movsxd rcx, eax
lea rsi, [r13 + rcx*2]
mov ecx, 1
movzx eax, word [rsi - 2]
lea r13, [rsi + rax*2 + 2]
cmp bl, cl
jbe 0x14003cd4a
lea rcx, [rsp + 0x140]
or r8d, 0xffffffff
mov rdx, rbp
call fcn.140016aa4
xor ecx, ecx
cmp rax, rcx
jne 0x14003cd6d
mov ecx, 1
xor eax, eax
mov edi, 4
cmp byte [rsp + 0x1a0], al
je 0x14003cd7f
lea rcx, [rsp + 0x140]
mov r8d, r15d
mov rdx, rsi
call fcn.14002ce78
mov r12d, dword [rsp + 0xc00]
mov edi, 0xa
jmp 0x14003ccf2
mov edx, 3
cmp byte [rsp + 0x19c], dl
je 0x14003cd96
cmp byte [rsp + 0x19e], al
je 0x14003cdeb
or edi, ecx
cmp byte [rsp + 0x19e], al
je 0x14003cdbc
lea rcx, [rsp + 0x140]
mov r9d, r12d
mov r8, rbp
mov rdx, rsi
call fcn.14002d804
mov r14, rax
jmp 0x14003cdde
cmp byte [rsp + 0x19c], dl
jne 0x14003cde0
lea rcx, [rsp + 0x140]
mov r9d, r12d
mov r8, rbp
mov rdx, rsi
call fcn.14002d974
mov r14d, eax
xor eax, eax
cmp r14d, eax
je 0x14003cd6d
test dil, 2
jne 0x14003ce2b
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x140]
mov r9d, r15d
mov r8, rsi
mov rdx, rbp
or edi, 2
mov dword [rsp + 0x20], r12d
call fcn.14002ccc8
mov r14d, eax
xor eax, eax
cmp r14d, eax
je 0x14003cd6d
lea ecx, [rax + 1]
lea edx, [rax + 3]
test cl, dil
je 0x14003cd96
test dil, 4
jne 0x14003cd6d
mov rax, qword [rsp + 0xe8]
movsxd r12, dword [rsp + 0xc00]
xor edx, edx
mov word [rax + r12*2], dx
lea rcx, [rsp + 0xe8]
mov rdx, rsi
call fcn.140056108
mov r8, qword [rsp + 0xe8]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002db68
jmp 0x14003cd75
mov esi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0xc08]
xor r13d, r13d
cmp esi, r13d
jne 0x14003d0a8
mov rbp, qword [rsp + 0x80]
cmp byte [rsp + 0x19d], r13b
je 0x14003d0a8
cmp rbp, r13
je 0x14003d0a8
mov rdx, qword [rsp + 0x150]
cmp rdx, r13
je 0x14003d0a8
lea rcx, [rsp + 0x108]
call fcn.14006016c
lea rcx, [rsp + 0x108]
mov rdx, rbp
call fcn.140056108
lea rcx, [rsp + 0x240]
mov edx, 0x2800
call fcn.140056040
mov r9, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x240]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400cdd70
mov rdx, qword [rsp + 0x240]
lea rcx, [0x140106ec0]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.140026048
lea rcx, [rsp + 0x240]
call fcn.14004ea6c
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
xor r8d, r8d
call fcn.14002c9d0
mov edi, 4
lea rbp, [0x1400e94a4]
cmp rax, r13
lea ecx, [rdi - 1]
mov rsi, rax
cmovne rbp, rax
lea eax, [rdi - 2]
cmp byte [rsp + 0x19c], cl
je 0x14003cf85
cmp byte [rsp + 0x19e], r13b
je 0x14003cff5
or edi, 1
cmp byte [rsp + 0x19e], r13b
je 0x14003cfb0
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002d804
jmp 0x14003cfd5
cmp byte [rsp + 0x19c], cl
jne 0x14003cfdd
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002d974
mov r14d, eax
mov eax, 2
inc edi
cmp edi, eax
jge 0x14003d089
cmp r14d, r13d
je 0x14003d089
test al, dil
jne 0x14003d047
or edi, eax
cmp rsi, r13
je 0x14003d029
mov r8, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
mov r9d, r15d
mov rdx, rsi
mov qword [rsp + 0x28], r13
or dword [rsp + 0x20], 0xffffffff
call fcn.14002ccc8
mov r14d, eax
mov eax, 2
inc edi
cmp edi, eax
jge 0x14003d089
cmp rsi, r13
je 0x14003d039
cmp r14d, r13d
je 0x14003d089
mov ecx, 3
test al, dil
je 0x14003cf85
test dil, 4
jne 0x14003d089
mov rax, qword [rsp + 0xe8]
movsxd rcx, r12d
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0xe8]
call fcn.140056108
mov r8, qword [rsp + 0xe8]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002db68
cmp rsi, r13
je 0x14003d092
mov word [rsi], r13w
lea rcx, [rsp + 0x108]
call fcn.14004ea6c
mov esi, dword [rsp + 0x60]
mov edi, 0xa
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0x740]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov rbp, qword [rsp + 0x80]
cmp eax, r13d
jne 0x14003cc76
mov rcx, qword [rsp + 0xd0]
mov ebx, dword [rsp + 0x100]
cmp rcx, r13
je 0x14003d0ef
cmp rcx, 0xffffffffffffffff
je 0x14003d0ef
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdi, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x1f0]
cmp r14d, r13d
cmove rdi, r13
mov ecx, 0x5f
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xf8], rdi
mov word [rax], cx
cmp esi, r13d
je 0x14003d363
cmp qword [rsp + 0x150], r13
je 0x14003d363
lea r14d, [rcx - 0x5e]
cmp byte [rsp + 0x19c], r14b
jne 0x14003d363
cmp byte [rsp + 0x51], r13b
jne 0x14003d363
mov rax, rbp
cmp rax, r13
jne 0x14003d363
cmp byte [rsp + 0x88], r13b
jne 0x14003d363
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x150], r13
mov byte [rsp + 0x51], r14b
call fcn.14004ea6c
lea rcx, [rsp + 0xd8]
call fcn.14004ea6c
mov rcx, qword [rsp + 0xd0]
cmp rcx, r13
je 0x14003d1ac
cmp rcx, 0xffffffffffffffff
je 0x14003d1ac
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x230]
mov qword [rsp + 0xd0], r13
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
mov dil, byte [rsp + 0x4c]
mov r12, qword [rsp + 0xbf8]
jmp 0x14003a6ad
mov rbp, 0xffffffff80070057
jmp 0x14003d224
xor r13d, r13d
mov rbp, r13
jmp 0x14003d58d
lea rcx, [rsp + 0xa0]
mov ebp, 1
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
xor r13d, r13d
jmp 0x14003d597
mov r12b, byte [rsp + 0x4f]
mov r8, qword [rsp + 0x78]
cmp r12b, r11b
je 0x14003d27b
cmp word [r8], r11w
je 0x14003d27b
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, 0xd
movsxd rcx, eax
mov rax, qword [rsp + 0x78]
mov word [rax + rcx*2], dx
mov rax, qword [rsp + 0x78]
mov edx, 0xa
mov word [rax + rcx*2 + 2], dx
mov rax, qword [rsp + 0x78]
xor edx, edx
mov word [rax + rcx*2 + 4], dx
mov r8, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xbf0]
mov rdx, qword [rsp + 0x268]
mov rcx, rbx
call fcn.140055710
xor eax, eax
lea rcx, [rsp + 0x78]
mov rbp, rax
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
jmp 0x14003da95
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r9d, 1
sub eax, r9d
cmp eax, r9d
jl 0x14003d2fd
mov rdx, qword [rsp + 0x40]
lea r8d, [r9 + 0x5b]
movsxd rcx, eax
cmp r8w, word [rdx + rcx*2]
je 0x14003d2f5
lea r8d, [r9 + 0x2e]
cmp r8w, word [rdx + rcx*2]
jne 0x14003d2fd
mov word [rdx + rcx*2], r13w
sub eax, r9d
cmp eax, r13d
jge 0x14003d30e
mov rbp, 0xffffffff80070057
jmp 0x14003d576
mov rdx, qword [rsp + 0xc8]
cmp rdx, r13
je 0x14003d327
movzx eax, word [rdx]
neg ax
sbb rcx, rcx
and rdx, rcx
mov rcx, qword [rsp + 0x248]
mov r9b, byte [rsp + 0x50]
mov r8, rdx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x140]
or r9b, 0x10
call fcn.140039a84
mov ebp, eax
jmp 0x14003d576
mov ebp, 0x491
jmp 0x14003d576
mov rcx, qword [rsp + 0xbf0]
lea r8, [0x1400e94a4]
lea rdx, [0x1400e9a5c]
mov qword [rsp + 0x150], r13
call fcn.140015e80
lea rcx, [rsp + 0xe8]
call fcn.14004ea6c
lea rcx, [rsp + 0xd8]
call fcn.14004ea6c
mov rcx, qword [rsp + 0xd0]
cmp rcx, r13
je 0x14003d3b9
cmp rcx, 0xffffffffffffffff
je 0x14003d3b9
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x230]
mov qword [rsp + 0xd0], r13
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
mov rbp, rdi
jmp 0x14003d597
mov qword [rsp + 0xd0], r13
lea rcx, [rsp + 0x230]
jmp 0x14003d56c
mov ebp, 1
jmp 0x14003d576
mov esi, r13d
cmp dword [rsp + 0x60], r13d
jne 0x14003d460
mov rax, qword [rsp + 0x58]
cmp word [rax], r13w
jne 0x14003d460
cmp byte [rsp + 0x19d], r13b
jne 0x14003d460
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
mov ebp, 0x491
jmp 0x14003de8f
lea r15d, [r12 + 4]
lea rcx, [rsp + 0xf8]
lea eax, [r15 + 0x3c]
movsxd rdx, eax
call fcn.140056040
mov rax, qword [rsp + 0x70]
lea rdx, str.System32DRIVERS
lea rcx, [rax + r12*2]
mov r8d, 0x22
mov rdi, r12
call fcn.14001a4c0
mov rcx, qword [rsp + 0x70]
call fcn.1400cbe14
cmp eax, r13d
jne 0x14003d4b3
mov rcx, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x70]
lea rdx, [0x1400ef100]
mov r8, r14
lea rcx, [rax + r12*2]
call fcn.14001a4c0
mov rcx, qword [rsp + 0x70]
call fcn.1400cbe14
cmp eax, r13d
jne 0x14003d4e7
mov rcx, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x70]
lea rdx, str.INF_
mov r8d, 0xa
lea rcx, [rax + r12*2]
call fcn.14001a4c0
movzx r12d, word [rsp + 0x194]
lea rcx, [rsp + 0x4f4]
xor edx, edx
mov r8d, 0x24c
shl r12d, 0x10
mov dword [rsp + 0x4f0], r13d
call fcn.1400cc8d0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x4f0]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb0], r13
call fcn.1400cbe9c
cmp qword [rsp + 0xb0], r13
jne 0x14003d5de
mov qword [rsp + 0xb0], r13
lea rcx, [rsp + 0xf8]
mov ebp, 2
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
cmp ebx, r13d
jle 0x14003d5bf
lea rcx, [0x140106ff8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor edx, edx
mov ecx, ebx
call fcn.1400b9204
lea rcx, [0x140106ff8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x208]
call fcn.14002db14
lea rcx, [rsp + 0x218]
call fcn.14002db14
jmp 0x14003da8d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.14006016c
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x58]
call fcn.1400666d8
lea rdx, [0x1400e9a58]
lea rcx, [rsp + 0x58]
call fcn.140056108
mov rbx, qword [rsp + 0xb8]
cmp rbx, r13
je 0x14003d620
cmp word [rbx], r13w
jne 0x14003d627
lea rbx, [0x1400ef078]
mov rdx, qword [rsp + 0xc8]
cmp rdx, r13
je 0x14003d63a
cmp word [rdx], r13w
jne 0x14003d641
lea rdx, str.DefaultInstall
lea rcx, [rsp + 0x80]
call fcn.14006016c
lea rdx, [0x1400e9f08]
lea rcx, [rsp + 0x80]
call fcn.140056108
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.140056108
lea rdx, [0x1400e9f08]
lea rcx, [rsp + 0x80]
call fcn.140056108
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0xc00], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0xc08], eax
test byte [rsp + 0x4f0], 0x10
jne 0x14003d9cd
mov rcx, qword [rsp + 0x58]
movsxd rdx, eax
mov word [rcx + rdx*2], r13w
lea rdx, [rsp + 0x51c]
lea rcx, [rsp + 0x58]
call fcn.140056108
mov r14, qword [rsp + 0x58]
lea rcx, [rsp + 0xb8]
mov dil, r13b
call fcn.140055fcc
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x128], r13
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0xb8]
mov rcx, r14
mov word [rax], r13w
call fcn.1400b9c48
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0xb8]
sub rcx, rdx
mov qword [rsp + 0x40], rax
movsxd rax, r15d
sar rcx, 1
cmp rax, rcx
jne 0x14003d75b
mov rcx, qword [rsp + 0x70]
mov r8d, r15d
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
movzx edi, r13b
cmp eax, r13d
mov eax, 1
cmove edi, eax
cmp dword [rsp + 0x1e8], r13d
je 0x14003d772
mov rax, qword [rsp + 0xc0]
cmp rax, r13
jne 0x14003d787
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
xor r8d, r8d
call fcn.14002c9d0
mov rbx, rax
cmp byte [rsp + 0x19d], r13b
jne 0x14003d7b3
mov eax, dword [rsp + 0x60]
cmp eax, r13d
jne 0x14003d816
cmp byte [rsp + 0x4d], r13b
je 0x14003d7a9
cmp dil, r13b
jne 0x14003d816
cmp rbx, r13
jne 0x14003d81b
jmp 0x14003d9c0
lea rcx, [rsp + 0xc8]
mov edx, 0x2800
call fcn.140056040
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc8]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400cdd70
mov rdx, qword [rsp + 0xc8]
lea rcx, [0x140106ec0]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.140026048
lea rcx, [rsp + 0xc8]
call fcn.14004ea6c
mov eax, dword [rsp + 0x60]
cmp rbx, r13
je 0x14003d820
movzx r13d, word [rbx - 4]
xor edx, edx
lea rbp, [0x1400e94a4]
cmp rbx, rdx
lea edi, [rdx + 4]
cmovne rbp, rbx
cmp eax, edx
jne 0x14003d91a
cmp byte [rsp + 0x1a0], dl
jne 0x14003d923
lea ecx, [rdx + 3]
cmp byte [rsp + 0x19c], cl
je 0x14003d85d
cmp byte [rsp + 0x19e], dl
je 0x14003d8c5
mov eax, 1
or edi, eax
cmp byte [rsp + 0x19e], dl
je 0x14003d88b
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002d804
mov rsi, rax
jmp 0x14003d8af
cmp byte [rsp + 0x19c], cl
jne 0x14003d8b1
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002d974
mov esi, eax
xor edx, edx
cmp esi, edx
je 0x14003d9a0
mov eax, 2
test al, dil
jne 0x14003d910
jmp 0x14003d8ca
mov eax, 2
or edi, eax
cmp rbx, rdx
je 0x14003d8ff
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x28], rdx
or dword [rsp + 0x20], 0xffffffff
lea rcx, [rsp + 0x140]
mov r9d, r12d
mov rdx, rbx
call fcn.14002ccc8
xor edx, edx
mov esi, eax
cmp eax, edx
je 0x14003d9a0
mov eax, 1
lea ecx, [rax + 2]
test al, dil
je 0x14003d862
test dil, 4
jne 0x14003d9a0
cmp byte [rsp + 0x1a0], dl
je 0x14003d93a
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
mov r8d, r12d
call fcn.14002ce78
jmp 0x14003d9a0
cmp byte [rsp + 0x19f], dl
jne 0x14003d9a0
movsxd rcx, dword [rsp + 0xc00]
mov rax, qword [rsp + 0x80]
mov word [rax + rcx*2], dx
lea rcx, [rsp + 0x80]
mov rdx, r14
call fcn.140056108
mov r8, qword [rsp + 0x80]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call fcn.14002db68
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x14003d9a0
cmp qword [rsp + 0x160], rax
je 0x14003d9a0
lea rcx, [rsp + 0x140]
mov r8d, r13d
mov rdx, rbp
call fcn.140016ad0
xor r13d, r13d
cmp rbx, r13
je 0x14003d9ac
mov word [rbx], r13w
mov rcx, qword [rsp + 0xf8]
cmp word [rcx], r13w
je 0x14003d9c0
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0xb8]
call fcn.14004ea6c
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0x4f0]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, r13d
mov eax, dword [rsp + 0xc08]
jne 0x14003d6ad
lea rcx, [rsp + 0x80]
call fcn.14004ea6c
lea rcx, [rsp + 0x58]
call fcn.14004ea6c
mov rcx, qword [rsp + 0xb0]
movsxd rbx, esi
cmp rcx, r13
je 0x14003da26
cmp rcx, 0xffffffffffffffff
je 0x14003da26
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0xb0], r13
call fcn.14004ea6c
lea rcx, [rsp + 0x78]
call fcn.14004ea6c
lea rcx, [rsp + 0xa0]
call fcn.14004ea6c
lea rcx, [rsp + 0x68]
call fcn.14004ea6c
mov rbp, rbx
jmp 0x14003de8f
movsx edx, bpl
xor ecx, ecx
and edx, 0x12
call fcn.1400b9204
xor eax, eax
mov rbp, rax
jmp 0x14003de8f
cmp qword [rsp + 0x90], r8
jne 0x14003daa7
mov rbp, 0xffffffff80070057
mov rbx, qword [rsp + 0xbf0]
lea rsi, str.__DEVI.REBOOT
mov r15d, 0x40
jmp 0x14003ddc0
mov ebp, 2
lea rcx, [rsp + 0xc08]
mov rdx, rbp
call fcn.140056040
mov rax, qword [rsp + 0xc08]
xor r13d, r13d
mov word [rax], r13w
mov r10, qword [rsp + 0x90]
lea r14d, [rbp + 0x38]
mov qword [rsp + 0x250], r10
cmp dil, 0x12
je 0x14003daee
lea eax, [rbp + 0x24]
cmp ax, word [r10]
jne 0x14003db33
mov rsi, r10
jmp 0x14003db0e
cmp r14w, ax
je 0x14003db1a
mov ecx, 0x3d
cmp cx, ax
je 0x14003db1a
add r10, rbp
mov qword [rsp + 0x90], r10
movzx eax, word [r10]
cmp ax, r13w
jne 0x14003daf3
jmp 0x14003db3a
mov word [r10], r13w
mov r10, qword [rsp + 0x90]
add r10, rbp
mov qword [rsp + 0x90], r10
jmp 0x14003db3a
lea rsi, str.__DEVI.REBOOT
mov r12b, byte [rsp + 0x4f]
mov ebx, 1
lea r15d, [rbx + 0x3f]
jmp 0x14003db4f
mov ebp, 2
mov r8d, 0x22
cmp r8w, word [r10]
je 0x14003db76
lea edx, [r8 + 5]
cmp dx, word [r10]
je 0x14003db76
lea rax, [0x1400e94a4]
mov qword [rsp + 0x90], rax
jmp 0x14003dbc6
movsx eax, byte [r10]
lea rcx, [rsp + 0x90]
add r10, 2
movzx edx, ax
mov qword [rsp + 0x90], r10
call fcn.140044d9c
mov rcx, qword [rsp + 0x90]
cmp word [rcx], r13w
je 0x14003dbb0
mov word [rcx], r13w
add qword [rsp + 0x90], rbp
lea rcx, [rsp + 0x90]
call fcn.14001462c
mov edx, 0x27
lea r8d, [rdx - 5]
movzx eax, word [r10]
mov ecx, 0x68
mov r9d, r13d
or ax, 0x20
cmp cx, ax
jne 0x14003dbea
cmp r14w, word [r10 + 2]
jne 0x14003dbea
mov r9d, 0x200
jmp 0x14003dc2a
mov ecx, 0x63
cmp cx, ax
jne 0x14003dc03
cmp r14w, word [r10 + 2]
jne 0x14003dc03
mov r9d, 0x400
jmp 0x14003dc2a
mov eax, 0x2b
cmp ax, word [r10]
jne 0x14003dc1d
cmp r14w, word [r10 + 2]
jne 0x14003dc1d
mov r9d, 0x600
jmp 0x14003dc2a
cmp r15w, word [r10]
jne 0x14003dc2e
cmp r14w, word [r10 + 2]
jne 0x14003dc2e
add r10, 4
cmp r8w, word [r10]
je 0x14003dc3a
cmp dx, word [r10]
jne 0x14003dc71
movsx edx, byte [r10]
lea rcx, [rsp + 0xc00]
add r10, rbp
mov qword [rsp + 0xc00], r10
call fcn.140044d9c
mov rcx, qword [rsp + 0xc00]
mov edx, 0x27
lea r8d, [rdx - 5]
cmp word [rcx], r13w
je 0x14003dc71
mov word [rcx], r13w
cmp dil, 0x11
jne 0x14003dd2e
mov rax, r10
mov r11, r13
mov qword [rsp + 0xc00], rax
cmp r8w, word [r10]
je 0x14003dc95
cmp dx, word [r10]
jne 0x14003dcdf
movsx edx, byte [r10]
lea rcx, [rsp + 0xc00]
add r10, 2
mov qword [rsp + 0xc00], r10
call fcn.140044d9c
mov rcx, qword [rsp + 0xc00]
cmp word [rcx], r13w
je 0x14003dd01
mov word [rcx], r13w
mov rax, qword [rsp + 0xc00]
jmp 0x14003dcd4
cmp r14w, cx
je 0x14003dcea
add rax, rbp
mov qword [rsp + 0xc00], rax
movzx ecx, word [rax]
cmp cx, r13w
jne 0x14003dcce
jmp 0x14003dd01
mov word [rax], r13w
mov r11, qword [rsp + 0xc00]
add r11, rbp
mov qword [rsp + 0xc00], r11
lea rax, [rsp + 0x19a]
lea rcx, [rsp + 0x140]
mov r9d, ebx
mov qword [rsp + 0x28], rax
mov r8, r11
mov rdx, r10
mov dword [rsp + 0x20], 0xfffffff0
call fcn.14002ccc8
jmp 0x14003dd6b
mov al, r12b
mov r8d, 0x100
mov rdx, r10
neg al
movsx eax, dil
sbb ecx, ecx
and ecx, 0x10000
or ecx, eax
lea rax, [rsp + 0x19a]
or ecx, r9d
lea r9, [rsp + 0xc08]
mov qword [rsp + 0x20], rax
bts ecx, 0xb
call fcn.140062850
mov r10, qword [rsp + 0x90]
movsxd rbp, eax
cmp word [r10], r13w
jne 0x14003db4a
mov rbx, qword [rsp + 0x250]
cmp dil, 0x12
jne 0x14003ddab
mov r8, qword [rsp + 0xc08]
mov rdx, rbx
mov rbx, qword [rsp + 0xbf0]
mov rcx, rbx
call fcn.140055710
jmp 0x14003ddb3
mov rbx, qword [rsp + 0xbf0]
lea rcx, [rsp + 0xc08]
call fcn.14004ea6c
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x2d8]
call fcn.140016c8c
lea rax, [rsp + 0x19a]
cmp word [rax], r15w
je 0x14003ddf8
movzx edx, word [rax]
lea r9, str.0x_X
mov r8, rsi
mov rcx, rbx
call fcn.140058ee8
xor edx, edx
mov rcx, rbx
call fcn.14007e26c
jmp 0x14003de8f
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0xc08]
xor edx, edx
mov r8d, 0x1e5
mov qword [rsp + 0xc08], rax
call fcn.1400236d0
mov rbx, qword [rsp + 0xc08]
mov qword [rsp + 0x40], rax
xor eax, eax
cmp word [rbx], ax
jne 0x14003de46
mov rbp, 0xffffffff80070057
jmp 0x14003de8f
lea rdx, str.35:INDATABuildInfCache
lea rcx, [rsp + 0xc00]
call fcn.14006016c
lea rcx, [rsp + 0xc00]
mov rdx, rbx
call fcn.140056108
mov rdx, qword [rsp + 0xc00]
mov rcx, qword [rsp + 0xbf0]
call fcn.1400425e4
lea rcx, [rsp + 0xc00]
mov rbp, rax
call fcn.14004ea6c
lea rcx, [rsp + 0x1c0]
call fcn.14004ea6c
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x218]
call fcn.14004ea6c
lea rcx, [rsp + 0x208]
call fcn.14004ea6c
lea rcx, [rsp + 0x260]
call fcn.14004ea6c
lea rcx, [rsp + 0x1f0]
call fcn.14004ea6c
lea rcx, [rsp + 0x210]
call fcn.14004ea6c
mov rax, rbp
add rsp, 0xba8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret