Function at 0x14003ac00
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 [0x14010bcd0], r13
jne 0x14003ac56
lea rcx, [0x14010c000]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.1400155e4
lea rcx, [0x14010c000]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x140]
mov rdx, rsi
call fcn.140016f84
mov rcx, qword [0x14010bd40]
lea r8, [rsp + 0x990]
mov r9d, 0x104
mov edx, 0x2711
mov qword [rsp + 0x248], r13
call fcn.14004faf4
lea rdx, [0x1400f4000]
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x210], r13
call fcn.14006160c
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x2c8], r13
call fcn.140057154
lea rcx, [rsp + 0x208]
mov ebx, 0x80000000
mov qword [rsp + 0x2c0], r13
mov dword [rsp + 0x100], ebx
call fcn.140057154
lea rcx, [rsp + 0x218]
call fcn.140057154
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.140052b04
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.140057154
mov rcx, qword [str._SystemRoot__]
mov rax, qword [0x1400f3fe8]
lea r11, [rsp + 0x280]
lea r8, [rsp + 0x70]
mov qword [r11], rcx
mov qword [r11 + 8], rax
mov rax, qword [0x1400f3ff0]
mov qword [r11 + 0x10], rax
mov eax, dword [0x1400f3ff8]
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.140069518
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.140057254
cmp dil, r13b
lea esi, [r14 + 2]
jl 0x14003ae4d
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0xc00]
call fcn.14006160c
lea rdx, str.System32Drvload.exe
lea rcx, [rsp + 0xc00]
call fcn.140057290
mov rcx, qword [rsp + 0xc00]
call fcn.1400d1620
lea rcx, [rsp + 0xc00]
neg eax
sbb dil, dil
and dil, sil
mov byte [rsp + 0x4e], dil
call fcn.14004f564
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.140056f64
mov rcx, qword [rsp + 0x1c0]
lea rdx, [0x1400f3fa0]
mov r8d, 0xa
call fcn.14001a9b0
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 0x14003aebc
add dil, r14b
mov byte [rsp + 0x4c], dil
lea rcx, [rsp + 0x210]
mov rdx, r12
mov r14b, r13b
call fcn.140061724
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.140014c28
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.140050a6c
xor r8d, r8d
cmp al, r8b
je 0x14003b067
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 0x14003afef
lea edx, [rdi + 9]
lea r9d, [rdi + 0xd]
cmp dx, cx
ja 0x14003af9e
cmp cx, r9w
jbe 0x14003afb6
mov r10d, 0x20
cmp r10w, cx
cmovne rdi, rax
mov qword [rsp + 0x268], rdi
jmp 0x14003afbc
mov r10d, 0x20
cmp dx, cx
ja 0x14003afc7
cmp cx, r9w
jbe 0x14003afe0
cmp r10w, cx
je 0x14003afe0
add rax, rsi
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003afef
jmp 0x14003afbc
cmp word [rax], r8w
je 0x14003afef
mov word [rax], r8w
add qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x40]
call fcn.140014c28
cmp word [rdi], r8w
jne 0x14003b08a
lea rcx, [rsp + 0x1c0]
call fcn.14004f564
lea rcx, [rsp + 0x70]
call fcn.14004f564
lea rcx, [rsp + 0x218]
call fcn.14004f564
lea rcx, [rsp + 0x208]
call fcn.14004f564
lea rcx, [rsp + 0x260]
call fcn.14004f564
lea rcx, [rsp + 0x1f0]
call fcn.14004f564
lea rcx, [rsp + 0x210]
call fcn.14004f564
mov rax, 0xffffffff80070057
jmp 0x14003e6e6
lea rdx, [rsp + 0x40]
lea rcx, str.buildcache:
mov r8d, 0xa
call fcn.1400599fc
xor r8d, r8d
cmp al, r8b
jne 0x14003e603
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 0x14003bcc4
mov bl, byte [rsp + 0x4e]
lea rdx, [rsp + 0x40]
lea rcx, str.extract
mov r8d, 8
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b118
lea eax, [r8 + 1]
mov byte [rsp + 0x198], al
mov byte [rsp + 0xc08], al
mov r14b, al
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.cab
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b13f
mov r14b, 1
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.nocheck
mov r8d, 8
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b16e
lea eax, [r8 + 1]
mov byte [rsp + 0x19d], al
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.devcon
mov r8d, 7
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b19d
lea eax, [r8 + 1]
mov byte [rsp + 0x19e], al
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.rescan
mov r8d, 7
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b1c9
mov r13b, r8b
mov dword [rsp + 0x64], r13d
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.norescan
mov r8d, 9
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b1ed
mov r13b, 0xc0
jmp 0x14003b1bf
mov rdx, qword [rsp + 0x40]
lea rcx, str.rescan:
mov r8d, 8
call fcn.140050a6c
xor edx, edx
cmp al, dl
je 0x14003b24b
add qword [rsp + 0x40], 0x10
movsx eax, r13b
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0xa8], eax
call fcn.1400a911c
mov r13d, dword [rsp + 0xa8]
xor r8d, r8d
cmp r13b, r8b
mov dword [rsp + 0x64], r13d
jge 0x14003bc73
jmp 0x14003b1bc
lea rdx, [rsp + 0x40]
lea rcx, str.dummy
mov r8d, 6
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b27a
lea eax, [r8 + 1]
mov byte [rsp + 0x19f], al
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.sub
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b2a3
mov byte [rsp + 0x50], 1
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.self
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b2cc
mov byte [rsp + 0x50], 2
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.7pe
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b2f3
mov sil, 3
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.7pe_
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b31a
mov sil, bl
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.drvload
mov r8d, 8
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
jne 0x14003b312
lea rdx, [rsp + 0x40]
lea rcx, str.inner
mov r8d, 6
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b360
mov sil, 0xc0
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.nnverify
mov r8d, 9
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b38c
mov byte [rsp + 0xc08], 1
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.rverify
mov r8d, 8
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b3b8
mov byte [rsp + 0xc08], r8b
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.listdevi
mov r8d, 0xa
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b3e7
and r12d, 0xff00
or r12d, 2
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.listdevc
mov r8d, 0xa
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b416
and r12d, 0xff00
or r12d, 4
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.listdev
mov r8d, 0xa
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b445
and r12d, 0xff00
or r12d, 8
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.comp
mov r8d, 6
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b476
lea eax, [r8 + 1]
mov dl, al
mov byte [rsp + 0xc00], al
jmp 0x14003bc7a
lea rdx, [rsp + 0x40]
lea rcx, str.hwid
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b49f
bts r12d, 0xc
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, [0x1400f3e7c]
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b4c8
bts r12d, 0xb
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.inst
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b4f1
bts r12d, 0xd
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.All
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b51a
bts r12d, 9
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, [0x1400f3e64]
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b543
bts r12d, 0xa
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.auto
mov r8d, 5
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b573
lea eax, [r8 + 3]
mov word [rsp + 0x194], ax
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.sys
mov r8d, 4
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b5a2
lea eax, [r8 + 1]
mov byte [rsp + 0x1a0], al
jmp 0x14003bc73
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xa
inc rcx
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b5cd
or bpl, 1
jmp 0x14003bc73
mov rcx, qword [str.disverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xb
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b5f5
or bpl, 3
jmp 0x14003bc73
mov rcx, qword [str.AutoDisverify]
lea rdx, [rsp + 0x40]
mov r8d, 0xe
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003b61d
or bpl, 0x10
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.sysdir:
mov r8d, 7
call fcn.1400599fc
xor edx, edx
cmp al, dl
je 0x14003b667
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x1b0]
mov r8d, 0x1cd
mov qword [rsp + 0x1b0], rax
call fcn.140023d48
xor r8d, r8d
mov qword [rsp + 0x40], rax
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.ret:
mov r8d, 4
call fcn.1400599fc
xor r8d, r8d
cmp al, r8b
je 0x14003b72c
mov rax, qword [rsp + 0x40]
cmp word [rax], r8w
je 0x14003bc69
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rax]
ja 0x14003b6ad
cmp word [rax], r10w
jbe 0x14003b6d3
mov r11d, 0x20
cmp r11w, word [rax]
je 0x14003b6d9
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x1a8], rcx
jmp 0x14003b6d9
mov r11d, 0x20
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003bc69
mov edx, 2
cmp r9w, cx
ja 0x14003b6f7
cmp cx, r10w
jbe 0x14003b714
cmp r11w, cx
je 0x14003b714
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003bc69
jmp 0x14003b6eb
cmp word [rax], r8w
je 0x14003bc69
mov word [rax], r8w
add qword [rsp + 0x40], rdx
jmp 0x14003bc69
lea rdx, [rsp + 0x40]
lea rcx, str.IdCah:
mov r8d, 6
call fcn.1400599fc
xor r8d, r8d
cmp al, r8b
je 0x14003b7f9
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003b7d0
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, ax
ja 0x14003b771
cmp ax, r10w
jbe 0x14003b791
mov rdx, qword [rsp + 0x1c8]
mov r11d, 0x20
cmp r11w, ax
cmovne rdx, rcx
mov qword [rsp + 0x1c8], rdx
jmp 0x14003b797
mov r11d, 0x20
mov edx, 2
cmp r9w, ax
ja 0x14003b7a8
cmp ax, r10w
jbe 0x14003b7c1
cmp r11w, ax
je 0x14003b7c1
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
je 0x14003b7d0
jmp 0x14003b79c
cmp word [rcx], r8w
je 0x14003b7d0
mov word [rcx], r8w
add qword [rsp + 0x40], rdx
lea rcx, [rsp + 0x40]
call fcn.140014c28
mov rax, qword [rsp + 0x1c8]
cmp word [rax], r8w
jne 0x14003bc73
mov qword [rsp + 0x1c8], r8
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.retid:
mov r8d, 6
call fcn.1400599fc
xor r8d, r8d
cmp al, r8b
je 0x14003b8ae
mov rax, qword [rsp + 0x40]
cmp word [rax], r8w
je 0x14003bc69
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rax]
ja 0x14003b83f
cmp word [rax], r10w
jbe 0x14003b865
mov r11d, 0x20
cmp r11w, word [rax]
je 0x14003b86b
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x2c8], rax
mov qword [rsp + 0x160], rcx
jmp 0x14003b86b
mov r11d, 0x20
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003bc69
mov edx, 2
cmp r9w, cx
ja 0x14003b88d
cmp cx, r10w
jbe 0x14003b714
cmp r11w, cx
je 0x14003b714
add rax, rdx
mov qword [rsp + 0x40], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003bc69
jmp 0x14003b87d
mov rdx, qword [rsp + 0x40]
lea rcx, str.DevClass:
mov r8d, 0xa
call fcn.140050a6c
xor r8d, r8d
cmp al, r8b
je 0x14003b971
mov rcx, qword [rsp + 0x40]
add rcx, 0x14
mov qword [rsp + 0x40], rcx
cmp word [rcx], r8w
je 0x14003bc69
lea r9d, [r8 + 9]
lea r10d, [r8 + 0xd]
cmp r9w, word [rcx]
ja 0x14003b8fd
cmp word [rcx], r10w
jbe 0x14003b91d
mov rax, qword [rsp + 0x168]
mov r11d, 0x20
cmp r11w, word [rcx]
cmovne rax, rcx
mov qword [rsp + 0x168], rax
jmp 0x14003b923
mov r11d, 0x20
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003bc69
mov edx, 2
cmp r9w, ax
ja 0x14003b941
cmp ax, r10w
jbe 0x14003b95e
cmp r11w, ax
je 0x14003b95e
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
je 0x14003bc69
jmp 0x14003b935
cmp word [rcx], r8w
je 0x14003bc69
mov word [rcx], r8w
jmp 0x14003b722
mov rdx, qword [rsp + 0x40]
lea rcx, str.DevID:
mov r8d, 7
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003ba42
mov rax, qword [rsp + 0x40]
add rax, 0xe
mov qword [rsp + 0x40], rax
cmp word [rax], cx
je 0x14003b9c1
lea edx, [rcx + 9]
cmp dx, word [rax]
ja 0x14003b9b5
lea ecx, [rdx + 4]
cmp word [rax], cx
jbe 0x14003b9c1
mov ecx, 0x20
cmp cx, word [rax]
cmovne r15, rax
lea rcx, [rsp + 0x40]
mov edx, 0x27
call fcn.14001ac04
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
cmp word [rcx], r8w
je 0x14003b9eb
lea eax, [r8 + 2]
mov word [rcx], r8w
add qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.140014c28
cmp r15, r8
je 0x14003bc73
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r8d, r8d
movsxd rcx, eax
cmp rcx, r8
jle 0x14003ba31
lea edx, [r8 + 1]
lea r9d, [r8 + 0x26]
cmp r9w, word [r15 + rcx*2 - 2]
jne 0x14003ba31
mov word [r15 + rcx*2], r8w
sub rcx, rdx
sub eax, edx
cmp rcx, r8
jg 0x14003ba1a
cmp eax, r8d
jg 0x14003bc73
mov r15, r8
jmp 0x14003bc73
lea rdx, [rsp + 0x40]
lea rcx, str.infcache:
mov r8d, 0xa
call fcn.140059a58
xor ecx, ecx
cmp al, cl
je 0x14003bac8
mov rax, qword [rsp + 0x40]
cmp word [rax], cx
je 0x14003ba95
lea edx, [rcx + 9]
cmp dx, word [rax]
ja 0x14003ba79
lea ecx, [rdx + 4]
cmp word [rax], cx
jbe 0x14003ba95
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.14001ac04
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
cmp word [rcx], r8w
je 0x14003bc69
lea eax, [r8 + 2]
mov word [rcx], r8w
add qword [rsp + 0x40], rax
jmp 0x14003bc69
mov rdx, qword [rsp + 0x40]
lea rcx, str.disable:
mov r8d, 9
call fcn.140050a6c
xor edx, edx
cmp al, dl
je 0x14003baf8
mov rcx, qword [rsp + 0x40]
lea eax, [rdx + 2]
add rcx, rax
mov dil, al
jmp 0x14003bbae
mov rdx, qword [rsp + 0x40]
lea rcx, str.enable:
mov r8d, 8
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003bb1a
mov dil, 1
jmp 0x14003bb3a
mov rdx, qword [rsp + 0x40]
lea rcx, str.remove:
mov r8d, 8
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003bb41
mov dil, 5
mov rcx, qword [rsp + 0x40]
jmp 0x14003bbae
mov rdx, qword [rsp + 0x40]
lea rcx, str.update:
mov r8d, 8
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003bb63
mov dil, 0x11
jmp 0x14003bb3a
mov rdx, qword [rsp + 0x40]
lea rcx, str.status:
mov r8d, 8
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003bb85
mov dil, 0x12
jmp 0x14003bb3a
mov rdx, qword [rsp + 0x40]
lea rcx, str.restart:
mov r8d, 9
call fcn.140050a6c
xor ecx, ecx
cmp al, cl
je 0x14003bbfb
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 0x14003ba95
mov eax, 9
cmp ax, word [rcx]
ja 0x14003bbda
mov eax, 0xd
cmp word [rcx], ax
jbe 0x14003ba95
mov rax, qword [rsp + 0x90]
mov edx, 0x20
cmp dx, word [rcx]
cmovne rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x14003ba95
lea rdx, [rsp + 0x40]
lea rcx, [0x1400f3da4]
mov r8d, 3
call fcn.14005992c
xor r8d, r8d
cmp al, r8b
je 0x14003bc21
mov byte [rsp + 0x4f], 1
jmp 0x14003bc73
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx]
cmp ax, r8w
je 0x14003bc69
mov edx, 9
lea ebx, [rdx + 4]
lea r13d, [rdx - 7]
lea r9d, [rdx + 0x17]
cmp dx, ax
ja 0x14003bc49
cmp ax, bx
jbe 0x14003bc60
cmp r9w, ax
je 0x14003bc60
add rcx, r13
mov qword [rsp + 0x40], rcx
mov ax, word [rcx]
cmp ax, r8w
jne 0x14003bc3f
mov r13d, dword [rsp + 0x64]
mov bl, byte [rsp + 0x4e]
lea rcx, [rsp + 0x40]
call fcn.140014c28
mov dl, byte [rsp + 0xc00]
mov rax, qword [rsp + 0x40]
mov ecx, 0x2a
cmp cx, word [rax]
je 0x14003b0df
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 0x14003bd12
mov al, r13b
neg al
sbb cl, cl
and cl, dl
mov dl, cl
mov byte [rsp + 0xc00], cl
bt r12d, 0xd
jae 0x14003bd2a
bt r12d, 0xa
jae 0x14003bd2a
btr r12d, 0xa
mov dword [rsp + 0x48], r12d
cmp r13b, r8b
je 0x14003bd64
mov eax, 2
test al, r12b
je 0x14003bd51
test r12d, 0x3c00
jne 0x14003bd51
cmp dl, r8b
jne 0x14003bd51
bts r12d, 0xd
mov dword [rsp + 0x48], r12d
cmp r13b, r8b
je 0x14003bd64
cmp qword [rsp + 0x268], r8
je 0x14003d9f0
cmp dil, r8b
jge 0x14003e278
cmp bpl, r8b
jne 0x14003e260
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 0x14003bdb4
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.1400d1fa0
mov rbp, qword [rsp + 0x1c8]
xor r15d, r15d
mov rsi, r15
cmp rbp, r15
je 0x14003be79
lea rcx, [0x14010ce50]
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.140016070
mov rdi, rax
cmp rax, r15
je 0x14003be6c
mov rdx, qword [rax + 8]
cmp rdx, r15
je 0x14003be6c
mov rcx, qword [rax + 0x18]
movabs rax, 0x3fffffffffffffff
and rcx, rax
cmp rcx, 0x400032
jb 0x14003be6c
lea r8d, [r15 + 0xa]
lea rcx, [0x1400f3fa0]
call fcn.14004f594
cmp eax, r15d
jne 0x14003be6c
mov rsi, qword [rdi + 8]
mov r8d, 0x400020
mov rcx, r12
add rsi, 0x12
mov rdx, rsi
call fcn.14001a9b0
lea rcx, [0x14010ce50]
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 0x14003befb
add rax, rdi
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
jne 0x14003befb
lea ecx, [rdi - 1]
add rax, rdi
add esi, ecx
mov qword [rsp + 0x40], rax
cmp word [rax], 0x24
je 0x14003beeb
lea rcx, [rsp + 0x40]
call fcn.140014c28
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 0x14003bfb6
lea rcx, [rsp + 0xc8]
add rbp, rdi
mov word [rax], r15w
mov qword [rsp + 0xc8], rbp
call fcn.140014c28
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 0x14003bfae
add r12, rdi
lea rcx, [rsp + 0xb8]
mov word [rax], r15w
mov qword [rsp + 0xb8], r12
call fcn.140014c28
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0xb8], r12
mov rcx, rbp
call fcn.140016268
mov rcx, qword [rsp + 0x40]
call fcn.140016268
cmp r12, r15
je 0x14003c020
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 0x14003c018
lea rcx, [rsp + 0x130]
add rdi, 2
mov word [rax], r15w
mov qword [rsp + 0x130], rdi
call fcn.140014c28
mov rdi, qword [rsp + 0x130]
mov rcx, rdi
mov qword [rsp + 0x80], rdi
call fcn.140016268
mov rcx, r12
call fcn.140016268
mov rax, qword [rsp + 0x40]
cmp word [rax], r15w
je 0x14003c122
lea rcx, [rsp + 0x40]
mov edx, 1
call fcn.140069244
cmp rax, r15
je 0x14003c122
mov ecx, 0x23
cmp cx, word [rax]
jne 0x14003c122
lea rcx, [rsp + 0x200]
call fcn.140057154
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.140006fd8
lea rdx, str.__dd__len16M___
lea rcx, [rsp + 0x1d8]
call fcn.14006160c
mov rdx, qword [rsp + 0x200]
lea rcx, [rsp + 0x1d8]
call fcn.140057290
lea rdx, [0x1400f3d48]
lea rcx, [rsp + 0x1d8]
call fcn.140057290
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x1d8]
call fcn.140057290
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0xbf0]
xor r8d, r8d
call fcn.1400adda0
mov rdx, qword [rsp + 0x200]
lea rcx, [rsp + 0x218]
call fcn.140017214
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x40], rax
call fcn.14004f564
lea rcx, [rsp + 0x200]
call fcn.14004f564
mov rcx, qword [rsp + 0x40]
call fcn.1400d14e0
mov rcx, qword [rsp + 0x40]
mov r15d, eax
mov dword [rsp + 0x258], eax
call fcn.1400d2530
xor r11d, r11d
mov rdi, rax
cmp r14b, r11b
jne 0x14003c187
cmp r15d, r11d
jne 0x14003c177
cmp eax, 4
jle 0x14003c177
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 0x14003c187
mov r14d, r11d
mov dword [rsp + 0x1e0], r11d
jmp 0x14003c256
movsxd r10, dword [rsp + 0x1d0]
mov ecx, 1
lea rax, str.SysWow64
cmp byte [0x140109008], 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.14001a9b0
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.14001a9b0
cmp r13b, r11b
jne 0x14003c256
mov rcx, qword [rsp + 0x70]
call fcn.1400d1620
xor r11d, r11d
cmp eax, r11d
jne 0x14003c256
lea edx, [r11 + 0x63]
lea rcx, [rsp + 0x238]
call fcn.1400571c8
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.1400adda0
lea rcx, [rsp + 0x238]
call fcn.14004f564
xor r11d, r11d
cmp r12, r11
je 0x14003c271
mov eax, 0x2a
cmp ax, word [r12]
cmove r12, r11
mov qword [rsp + 0xb8], r12
cmp edi, 4
jle 0x14003c2a0
mov rax, qword [rsp + 0x40]
movsxd rcx, edi
lea rdx, [0x1400f2ab8]
lea rcx, [rax + rcx*2 - 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r11d, r11d
cmp eax, r11d
jne 0x14003c2a0
lea ecx, [r11 + 1]
mov eax, ecx
jmp 0x14003c2a8
mov eax, r11d
mov ecx, 1
cmp r15d, r11d
jne 0x14003c2b4
mov edi, ecx
cmp eax, r11d
jne 0x14003c2b7
mov edi, r11d
mov r15d, dword [rsp + 0x60]
cmp esi, ecx
je 0x14003c2de
cmp eax, r11d
je 0x14003c2cf
cmp r15d, r11d
je 0x14003c2cf
cmp r12, r11
jne 0x14003c2de
cmp edi, r11d
je 0x14003c2d9
cmp r15d, r11d
jne 0x14003c2de
mov al, r11b
jmp 0x14003c2e0
mov al, cl
cmp edi, r11d
jne 0x14003c2ed
cmp al, r11b
mov eax, r11d
je 0x14003c2ef
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 0x14003c3f9
cmp r12, r11
je 0x14003c3f9
cmp word [r12], r11w
je 0x14003c3f9
cmp eax, r11d
jne 0x14003c3f9
lea rcx, [rsp + 0x68]
mov rdx, r12
call fcn.140061724
mov rcx, qword [rsp + 0x68]
call fcn.14001add0
mov rcx, qword [rsp + 0x68]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x220]
mov edx, 0x105
call fcn.1400571c8
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 0x14003c3ac
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x220], rax
jmp 0x14003c3b1
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 0x14003c3d8
lea rdx, [0x1400eea78]
lea rcx, [rsp + 0x68]
call fcn.140057290
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0x220]
mov qword [rsp + 0x150], rax
call fcn.14004f564
xor r11d, r11d
lea ecx, [r11 + 1]
cmp r15d, r11d
jne 0x14003c40f
cmp byte [rsp + 0x4d], r11b
je 0x14003c440
cmp byte [rsp + 0x198], r11b
jne 0x14003c440
mov sil, byte [rsp + 0xc08]
cmp byte [rsp + 0x1a0], r11b
jne 0x14003c448
cmp r13b, r11b
jne 0x14003c448
cmp sil, cl
je 0x14003c448
cmp ebx, r11d
je 0x14003c448
xor edx, edx
xor ecx, ecx
call fcn.1400be828
xor r11d, r11d
mov ebx, eax
jmp 0x14003c448
mov sil, byte [rsp + 0xc08]
mov eax, 2
cmp sil, al
cmove ebx, r11d
mov dword [rsp + 0x100], ebx
cmp r14d, r11d
je 0x14003c4b4
cmp rbp, r11
je 0x14003c4b4
or dword [rsp + 0xc08], 0xffffffff
lea rdx, [rsp + 0xc08]
lea rcx, [rsp + 0x128]
mov qword [rsp + 0x128], rbp
call fcn.1400655a0
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 0x14003c541
cmp r13b, r11b
jne 0x14003c541
cmp byte [rsp + 0x198], r11b
jne 0x14003c541
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, [0x1400f3c10]
mov rcx, r12
call fcn.14001648c
mov al, byte [rsp + 0x4c]
mov ecx, 1
jmp 0x14003c549
mov r12, qword [rsp + 0xbf0]
mov esi, dword [rsp + 0x48]
xor r14d, r14d
cmp bpl, r14b
jge 0x14003c592
cmp esi, r14d
jne 0x14003c623
cmp bpl, 0xf0
jl 0x14003c614
cmp byte [rsp + 0x19c], r14b
je 0x14003c614
cmp edi, r14d
jne 0x14003c584
cmp r15d, r14d
je 0x14003c614
cmp byte [rsp + 0x19d], r14b
jne 0x14003c614
cmp al, cl
jne 0x14003c5ac
lea r8, [0x1400ee4c4]
lea rdx, [0x1400f3bf8]
mov rcx, r12
call fcn.14001648c
mov r15d, 0x11
lea rdx, str.rescan__BEGIN
xor r8d, r8d
mov rcx, r12
mov r9d, r15d
mov qword [rsp + 0x20], r14
call fcn.1400266c0
movsx ecx, bpl
and ecx, 7
call fcn.14001d910
lea edx, [r15 + 0x21]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov rbp, rax
mov qword [rsp + 0xf8], rax
call fcn.14001bffc
lea rdx, str.rescan__END
mov r9d, r15d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.1400266c0
cmp esi, r14d
jne 0x14003c623
mov rax, qword [rsp + 0x40]
cmp word [rax], r14w
je 0x14003d9f9
lea rcx, [rsp + 0xa0]
call fcn.140057154
mov rcx, qword [rsp + 0x40]
call fcn.140018fa4
lea rdx, [rsp + 0xa0]
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.1400bf26c
mov r9d, r14d
mov qword [rsp + 0x40], rax
cmp esi, r14d
je 0x14003c66c
bt esi, 9
mov eax, 2
cmovae r9d, eax
or r9d, 4
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [0x14010bcd8]
mov qword [rsp + 0xb0], rax
cmp rax, 0xffffffffffffffff
jne 0x14003c69c
mov qword [rsp + 0xb0], r14
cmp edi, r14d
je 0x14003da04
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x128], r14
call fcn.140057154
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 0x14003c6e9
mov rcx, r10
call fcn.14001ab44
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 0x14003c86f
cmp r13b, r11b
je 0x14003c86f
mov eax, 0x22
movzx ebp, r11w
mov rsi, r10
lea r13d, [rax + 5]
cmp ax, word [r10]
je 0x14003c73c
cmp r13w, word [r10]
jne 0x14003c744
mov bp, word [r10]
lea rsi, [r10 + 2]
mov rcx, rsi
call fcn.14001d988
mov r12d, r9d
cmp eax, r11d
cmovge r12d, eax
cmp eax, r11d
jl 0x14003c790
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.14001a968
mov r9d, dword [rsp + 0xf0]
mov edi, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
xor r11d, r11d
cmp bp, r11w
je 0x14003c862
mov r10d, 2
jmp 0x14003c7aa
add rsi, r10
cmp bp, ax
je 0x14003c7b5
movzx eax, word [rsi]
cmp ax, r11w
jne 0x14003c7a2
jmp 0x14003c7b8
mov r15, rsi
mov ebx, 0x22
movzx ebp, word [rsi]
cmp bx, bp
je 0x14003c7cb
cmp r13w, bp
jne 0x14003c830
add rsi, r10
mov rcx, rsi
call fcn.14001d988
mov ecx, r9d
cmp eax, r11d
cmovge ecx, eax
cmp ecx, r12d
jne 0x14003c830
cmp eax, r11d
jl 0x14003c820
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.14001a968
mov r9d, dword [rsp + 0xf0]
xor r11d, r11d
lea r10d, [r11 + 2]
jmp 0x14003c820
add rsi, r10
cmp bp, ax
je 0x14003c82b
movzx eax, word [rsi]
cmp ax, r11w
jne 0x14003c818
jmp 0x14003c7bd
mov r15, rsi
jmp 0x14003c7bd
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 0x14003c862
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 0x14003c8a0
cmp cl, r11b
jne 0x14003c8a0
mov r9d, 1
mov edx, r9d
jmp 0x14003c8a9
mov edx, r11d
mov r9d, 1
mov eax, edi
and eax, 0x1006
cmp eax, 0x1004
jne 0x14003c8bf
cmp cl, r11b
mov ecx, r9d
je 0x14003c8c2
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 0x14003c8f8
mov ebp, r9d
cmp r8d, r11d
je 0x14003c8fd
mov ebp, 2
mov dword [rsp + 0xe0], ebp
cmp r10, r11
je 0x14003c926
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 0x14003c92e
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.1400d1fa0
xor eax, eax
lea rcx, [rsp + 0x2f2]
mov r8, r12
xor edx, edx
mov word [rsp + 0x2f0], ax
call fcn.1400d1fa0
xor ecx, ecx
mov eax, 0x20
mov dword [rsp + 0x280], eax
cmp byte [rsp + 0x98], cl
je 0x14003d0ae
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.1400266c0
xor r11d, r11d
cmp byte [rsp + 0x198], r11b
jne 0x14003cefb
mov r9, qword [rsp + 0xb0]
cmp r9, r11
je 0x14003cefb
mov r14, qword [rsp + 0x58]
mov ecx, r11d
mov rax, r12
mov dword [rsp + 0x120], ecx
sub rax, r14
cmp rax, 0x400000
jge 0x14003ceea
mov edx, ecx
lea r8, [rsp + 0x280]
mov rcx, r9
call qword [0x14010bd00]
xor r11d, r11d
cmp eax, r11d
je 0x14003ceea
cmp edi, r11d
je 0x14003ca7b
cmp qword [rsp + 0x168], r11
je 0x14003ca6d
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 0x14003cec0
mov eax, 2
test al, dil
jne 0x14003cdee
mov rax, qword [0x14010bd20]
mov dword [rsp + 0x270], r11d
cmp rax, r11
je 0x14003cac6
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 [0x14010bce0]
xor r11d, r11d
mov ecx, 0x20
mov dword [rsp + 0x280], ecx
cmp eax, r11d
je 0x14003ceb7
cmp byte [rsp + 0x118], r11b
je 0x14003cc55
mov rcx, qword [rsp + 0xc0]
cmp rcx, r11
je 0x14003cbe0
mov eax, dword [rsp + 0x48]
and eax, 2
cmp al, r11b
jne 0x14003cbe0
cmp r13d, r11d
je 0x14003cbe0
mov r8d, dword [rsp + 0x2b0]
mov r9d, 0x100
mov rdx, rbp
call fcn.1400289f4
xor r11d, r11d
cmp rax, r11
jne 0x14003cbd7
test byte [rsp + 0x48], 8
je 0x14003ceb7
lea eax, [r11 + 2]
cmp r14d, eax
je 0x14003ceb7
mov r14d, eax
jmp 0x14003cae9
cmp rsi, r11
jne 0x14003cdd8
movsxd rdi, r15d
cmp word [rbp], r11w
je 0x14003cc1e
cmp rdi, r11
jl 0x14003cc1e
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x2b8]
lea rcx, [rsp + 0x78]
call fcn.14001accc
xor r11d, r11d
bt dword [rsp + 0x48], 0xa
jae 0x14003cc1e
mov rbp, qword [rsp + 0x2b8]
jmp 0x14003cbe3
movsx eax, byte [rsp + 0xc00]
cmp r15d, eax
jge 0x14003ceb7
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 0x14003cae9
lea rdx, str.ACPI
mov r8d, 4
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x14003ceb7
lea edx, [r11 + 1]
cmp r13d, edx
jne 0x14003cca7
mov r8d, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0xbf0]
mov r9, rbp
call fcn.14001648c
xor r11d, r11d
lea edx, [r11 + 1]
movzx eax, word [rbp]
movzx esi, r11w
mov ecx, r11d
cmp ax, r11w
je 0x14003cdac
mov r8d, 0x26
cmp ax, r8w
jne 0x14003ccd6
movsx eax, byte [rsp + 0x11c]
add ecx, edx
cmp ecx, eax
jge 0x14003cce7
add si, dx
movzx eax, si
mov ax, word [rbp + rax*2]
cmp ax, r11w
jne 0x14003ccc2
cmp si, r11w
jbe 0x14003cdac
cmp qword [rsp + 0x1f8], r12
jae 0x14003cd27
cmp word [rdi - 2], si
jne 0x14003cd19
movzx r8d, si
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r11d, r11d
cmp eax, r11d
je 0x14003cd7e
movzx eax, word [rdi - 4]
lea rdi, [rdi + rax*2 + 6]
cmp rdi, r12
jb 0x14003ccfb
mov rcx, r12
mov word [r12 - 2], si
cmp rbp, r12
jne 0x14003cd5e
movzx eax, si
lea r12, [r12 + rax*2]
jmp 0x14003cd42
add r12, 2
cmp word [r12], r11w
jne 0x14003cd3e
mov rbp, r12
jmp 0x14003cd6d
mov word [r12], ax
mov eax, 2
add r12, rax
add rbp, rax
movzx eax, word [rbp]
cmp ax, r11w
jne 0x14003cd4e
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 0x14003cd8f
add rbp, rsi
jmp 0x14003cd83
mov rdi, qword [rsp + 0x1f8]
add rbp, rsi
mov edx, 1
cmp word [rbp], r11w
jne 0x14003cca7
jmp 0x14003cdb1
mov esi, 2
cmp byte [rsp + 0xc00], r11b
je 0x14003ceac
cmp r14d, esi
je 0x14003ceac
mov r14d, esi
mov rsi, qword [rsp + 0x278]
jmp 0x14003cae9
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 0x14003ce4c
cmp esi, r11d
jne 0x14003ce4c
lea rcx, [rsp + 0x2f0]
mov rdx, rax
call fcn.140028b1c
xor r11d, r11d
cmp eax, r11d
je 0x14003cec0
bt edi, 0xa
jb 0x14003ce58
bt edi, 0xd
jb 0x14003ce68
mov ebp, dword [rsp + 0xe0]
cmp esi, r11d
je 0x14003ca7b
mov ebp, dword [rsp + 0xe0]
cmp byte [rsp + 0x118], r11b
je 0x14003ca7b
lea rax, [rsp + 0x2f0]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x278]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x278], rax
call fcn.14001accc
xor r11d, r11d
jmp 0x14003cec0
mov edi, dword [rsp + 0x48]
test sil, dil
jne 0x14003cf2b
jmp 0x14003cebb
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 0x14003c9dd
mov r15, qword [rsp + 0x130]
mov r14w, word [rsp + 0xc08]
mov r13d, dword [rsp + 0x118]
cmp r13b, r11b
je 0x14003cf26
cmp r14w, r11w
je 0x14003da28
mov word [r15], r14w
mov r10, r15
mov qword [rsp + 0xc0], r15
jmp 0x14003c6e1
mov esi, 2
mov ebp, dword [rsp + 0xa8]
cmp ebp, r11d
je 0x14003cf49
test sil, dil
je 0x14003cf49
mov dword [rsp + 0x1e8], 1
jmp 0x14003cfab
mov rdi, qword [rsp + 0x250]
mov dword [rsp + 0x1e8], r11d
cmp rdi, r11
je 0x14003cfab
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.14001a9b0
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.1400266c0
xor r14d, r14d
mov word [r12 - 2], r14w
mov r12, qword [rsp + 0x1c8]
cmp r12, r14
je 0x14003d0c0
lea rcx, [0x14010ce50]
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.140016070
lea edx, [r14 + 0x26]
mov rdi, r12
mov rcx, rax
cmp dx, word [r12]
jne 0x14003d032
lea eax, [rdx - 0x24]
add rdi, rax
cmp dx, word [rdi]
je 0x14003d02a
cmp rcx, r14
jne 0x14003d05c
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.14001b1c8
jmp 0x14003d09f
mov dl, byte [rcx + 0x1f]
and dl, 0xc0
cmp dl, 0xc0
jne 0x14003d080
mov rax, qword [rcx + 0x18]
movabs r8, 0x3fffffffffffffff
and rax, r8
cmp rax, 0x400032
jb 0x14003d09f
cmp dl, r14b
je 0x14003d089
mov qword [rcx + 8], r14
lea rdx, [rcx + 0x18]
mov r9d, 0x400032
mov r8, rsi
add rcx, 8
call fcn.140059a98
lea rcx, [0x14010ce50]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003d0c0
mov ebp, dword [rsp + 0xa8]
mov r13, qword [rsp + 0xbf0]
xor r14d, r14d
mov rsi, qword [rsp + 0xb0]
mov rcx, rsi
call qword [0x14010bce8]
cmp byte [rsp + 0x198], r14b
jne 0x14003d0f1
lea r8, [0x1400ee4c4]
lea rdx, [0x1400f1a20]
mov rcx, r13
call fcn.14001648c
mov rax, qword [rsp + 0x70]
movsxd r12, dword [rsp + 0x1d0]
mov r14d, 8
lea rdx, [0x1400f3b68]
lea rcx, [rax + r12*2]
mov r8, r14
call fcn.14001a9b0
xor r13d, r13d
cmp ebp, r13d
jne 0x14003dc12
cmp rsi, r13
je 0x14003dc08
mov dl, byte [rsp + 0x198]
cmp dl, r13b
jne 0x14003d163
mov rax, qword [rsp + 0x58]
cmp word [rax], r13w
je 0x14003db55
cmp dword [rsp + 0x258], r13d
jne 0x14003daba
cmp dword [rsp + 0x1e0], r13d
je 0x14003daba
mov rax, qword [rsp + 0x150]
cmp rax, r13
je 0x14003d17e
mov ecx, 0x2a
cmp cx, word [rax]
jne 0x14003d2b7
mov esi, dword [rsp + 0x60]
mov cl, byte [rsp + 0x19c]
cmp esi, r13d
je 0x14003d19d
cmp cl, r13b
jne 0x14003d1a6
cmp byte [rsp + 0x1a0], r13b
jne 0x14003d1a6
cmp cl, r13b
jne 0x14003d2c5
lea rcx, [rsp + 0x110]
call fcn.140057154
lea r11, [0x1400f3b60]
lea r9, str.devi
lea rcx, [rsp + 0x110]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r11
call fcn.140006fd8
lea rcx, [rsp + 0x228]
mov edx, 0x105
call fcn.1400571c8
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 0x14003d22c
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x228], rax
lea rdx, [0x1400eea78]
lea rcx, [rsp + 0x110]
call fcn.140057290
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x208]
call fcn.140017214
cmp byte [rsp + 0x19c], r13b
jne 0x14003d284
cmp byte [rsp + 0x1a0], r13b
jne 0x14003d284
mov rcx, rax
mov qword [rsp + 0x158], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x196], ax
jmp 0x14003d28c
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x228]
call fcn.14004f564
lea rcx, [rsp + 0x110]
call fcn.14004f564
mov dl, byte [rsp + 0x198]
mov rax, qword [rsp + 0x150]
jmp 0x14003d2bb
mov esi, dword [rsp + 0x60]
cmp byte [rsp + 0x19c], r13b
je 0x14003d2e9
cmp dl, r13b
jne 0x14003d2e9
cmp rax, r13
je 0x14003d2e9
mov cl, byte [rsp + 0x19d]
mov r14d, 1
cmp cl, r13b
cmove esi, r14d
mov dword [rsp + 0x60], esi
jmp 0x14003d2f6
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 0x14003d324
cmp rax, r13
je 0x14003d324
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.14001a9b0
lea rcx, [rsp + 0x230]
mov edx, 0x1040
call fcn.1400571c8
lea rcx, [rsp + 0x744]
xor edx, edx
mov r8d, 0x24c
mov dword [rsp + 0x740], r13d
call fcn.1400d1fa0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x740]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xd0], r13
call fcn.1400d1568
cmp qword [rsp + 0xd0], r13
je 0x14003dbf3
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xd8]
call fcn.14006160c
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xd8]
call fcn.140067f28
lea rdx, [0x1400eea78]
lea rcx, [rsp + 0xd8]
call fcn.140057290
lea rdx, str.DefaultInstall_132
lea rcx, [rsp + 0xe8]
call fcn.14006160c
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 0x14003d453
cmp byte [rsp + 0x198], r13b
je 0x14003d456
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.140016fe0
test byte [rsp + 0x740], 0x10
jne 0x14003d8a4
mov rax, qword [rsp + 0xd8]
movsxd rcx, ebx
lea rdx, [rsp + 0x76c]
mov word [rax + rcx*2], r13w
lea rcx, [rsp + 0xd8]
call fcn.140057290
mov rcx, qword [rsp + 0xd8]
lea r9, [rsp + 0x140]
lea r8, [0x14003abf8]
xor edx, edx
call qword [0x14010bd08]
cmp esi, r13d
je 0x14003d693
mov r13, qword [rsp + 0x178]
mov bl, byte [rsp + 0x4c]
cmp r13, qword [rsp + 0x170]
jae 0x14003d674
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 0x14003d546
lea rcx, [rsp + 0x140]
or r8d, 0xffffffff
mov rdx, rbp
call fcn.1400170b0
xor ecx, ecx
cmp rax, rcx
jne 0x14003d569
mov ecx, 1
xor eax, eax
mov edi, 4
cmp byte [rsp + 0x1a0], al
je 0x14003d57b
lea rcx, [rsp + 0x140]
mov r8d, r15d
mov rdx, rsi
call fcn.14002d5c8
mov r12d, dword [rsp + 0xc00]
mov edi, 0xa
jmp 0x14003d4ee
mov edx, 3
cmp byte [rsp + 0x19c], dl
je 0x14003d592
cmp byte [rsp + 0x19e], al
je 0x14003d5e7
or edi, ecx
cmp byte [rsp + 0x19e], al
je 0x14003d5b8
lea rcx, [rsp + 0x140]
mov r9d, r12d
mov r8, rbp
mov rdx, rsi
call fcn.14002df54
mov r14, rax
jmp 0x14003d5da
cmp byte [rsp + 0x19c], dl
jne 0x14003d5dc
lea rcx, [rsp + 0x140]
mov r9d, r12d
mov r8, rbp
mov rdx, rsi
call fcn.14002e0cc
mov r14d, eax
xor eax, eax
cmp r14d, eax
je 0x14003d569
test dil, 2
jne 0x14003d627
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.14002d418
mov r14d, eax
xor eax, eax
cmp r14d, eax
je 0x14003d569
lea ecx, [rax + 1]
lea edx, [rax + 3]
test cl, dil
je 0x14003d592
test dil, 4
jne 0x14003d569
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.140057290
mov r8, qword [rsp + 0xe8]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002e2cc
jmp 0x14003d571
mov esi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0xc08]
xor r13d, r13d
cmp esi, r13d
jne 0x14003d8a4
mov rbp, qword [rsp + 0x80]
cmp byte [rsp + 0x19d], r13b
je 0x14003d8a4
cmp rbp, r13
je 0x14003d8a4
mov rdx, qword [rsp + 0x150]
cmp rdx, r13
je 0x14003d8a4
lea rcx, [rsp + 0x108]
call fcn.14006160c
lea rcx, [rsp + 0x108]
mov rdx, rbp
call fcn.140057290
lea rcx, [rsp + 0x240]
mov edx, 0x2800
call fcn.1400571c8
mov r9, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x240]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400d32c8
mov rdx, qword [rsp + 0x240]
lea rcx, [0x14010bee0]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.1400266c0
lea rcx, [rsp + 0x240]
call fcn.14004f564
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
xor r8d, r8d
call fcn.14002d120
mov edi, 4
lea rbp, [0x1400ee4c4]
cmp rax, r13
lea ecx, [rdi - 1]
mov rsi, rax
cmovne rbp, rax
lea eax, [rdi - 2]
cmp byte [rsp + 0x19c], cl
je 0x14003d781
cmp byte [rsp + 0x19e], r13b
je 0x14003d7f1
or edi, 1
cmp byte [rsp + 0x19e], r13b
je 0x14003d7ac
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002df54
jmp 0x14003d7d1
cmp byte [rsp + 0x19c], cl
jne 0x14003d7d9
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002e0cc
mov r14d, eax
mov eax, 2
inc edi
cmp edi, eax
jge 0x14003d885
cmp r14d, r13d
je 0x14003d885
test al, dil
jne 0x14003d843
or edi, eax
cmp rsi, r13
je 0x14003d825
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.14002d418
mov r14d, eax
mov eax, 2
inc edi
cmp edi, eax
jge 0x14003d885
cmp rsi, r13
je 0x14003d835
cmp r14d, r13d
je 0x14003d885
mov ecx, 3
test al, dil
je 0x14003d781
test dil, 4
jne 0x14003d885
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.140057290
mov r8, qword [rsp + 0xe8]
mov r9d, 0x100000
xor edx, edx
xor ecx, ecx
call fcn.14002e2cc
cmp rsi, r13
je 0x14003d88e
mov word [rsi], r13w
lea rcx, [rsp + 0x108]
call fcn.14004f564
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 0x14003d472
mov rcx, qword [rsp + 0xd0]
mov ebx, dword [rsp + 0x100]
cmp rcx, r13
je 0x14003d8eb
cmp rcx, 0xffffffffffffffff
je 0x14003d8eb
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 0x14003db5f
cmp qword [rsp + 0x150], r13
je 0x14003db5f
lea r14d, [rcx - 0x5e]
cmp byte [rsp + 0x19c], r14b
jne 0x14003db5f
cmp byte [rsp + 0x51], r13b
jne 0x14003db5f
mov rax, rbp
cmp rax, r13
jne 0x14003db5f
cmp byte [rsp + 0x88], r13b
jne 0x14003db5f
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x150], r13
mov byte [rsp + 0x51], r14b
call fcn.14004f564
lea rcx, [rsp + 0xd8]
call fcn.14004f564
mov rcx, qword [rsp + 0xd0]
cmp rcx, r13
je 0x14003d9a8
cmp rcx, 0xffffffffffffffff
je 0x14003d9a8
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x230]
mov qword [rsp + 0xd0], r13
call fcn.14004f564
lea rcx, [rsp + 0x78]
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
mov dil, byte [rsp + 0x4c]
mov r12, qword [rsp + 0xbf8]
jmp 0x14003aea9
mov rbp, 0xffffffff80070057
jmp 0x14003da20
xor r13d, r13d
mov rbp, r13
jmp 0x14003dd89
lea rcx, [rsp + 0xa0]
mov ebp, 1
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
xor r13d, r13d
jmp 0x14003dd93
mov r12b, byte [rsp + 0x4f]
mov r8, qword [rsp + 0x78]
cmp r12b, r11b
je 0x14003da77
cmp word [r8], r11w
je 0x14003da77
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.140056790
xor eax, eax
lea rcx, [rsp + 0x78]
mov rbp, rax
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
jmp 0x14003e291
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r9d, 1
sub eax, r9d
cmp eax, r9d
jl 0x14003daf9
mov rdx, qword [rsp + 0x40]
lea r8d, [r9 + 0x5b]
movsxd rcx, eax
cmp r8w, word [rdx + rcx*2]
je 0x14003daf1
lea r8d, [r9 + 0x2e]
cmp r8w, word [rdx + rcx*2]
jne 0x14003daf9
mov word [rdx + rcx*2], r13w
sub eax, r9d
cmp eax, r13d
jge 0x14003db0a
mov rbp, 0xffffffff80070057
jmp 0x14003dd72
mov rdx, qword [rsp + 0xc8]
cmp rdx, r13
je 0x14003db23
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.14003a280
mov ebp, eax
jmp 0x14003dd72
mov ebp, 0x491
jmp 0x14003dd72
mov rcx, qword [rsp + 0xbf0]
lea r8, [0x1400ee4c4]
lea rdx, [0x1400f1a20]
mov qword [rsp + 0x150], r13
call fcn.14001648c
lea rcx, [rsp + 0xe8]
call fcn.14004f564
lea rcx, [rsp + 0xd8]
call fcn.14004f564
mov rcx, qword [rsp + 0xd0]
cmp rcx, r13
je 0x14003dbb5
cmp rcx, 0xffffffffffffffff
je 0x14003dbb5
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0x230]
mov qword [rsp + 0xd0], r13
call fcn.14004f564
lea rcx, [rsp + 0x78]
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
mov rbp, rdi
jmp 0x14003dd93
mov qword [rsp + 0xd0], r13
lea rcx, [rsp + 0x230]
jmp 0x14003dd68
mov ebp, 1
jmp 0x14003dd72
mov esi, r13d
cmp dword [rsp + 0x60], r13d
jne 0x14003dc5c
mov rax, qword [rsp + 0x58]
cmp word [rax], r13w
jne 0x14003dc5c
cmp byte [rsp + 0x19d], r13b
jne 0x14003dc5c
lea rcx, [rsp + 0x78]
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
mov ebp, 0x491
jmp 0x14003e68b
lea r15d, [r12 + 4]
lea rcx, [rsp + 0xf8]
lea eax, [r15 + 0x3c]
movsxd rdx, eax
call fcn.1400571c8
mov rax, qword [rsp + 0x70]
lea rdx, str.System32DRIVERS
lea rcx, [rax + r12*2]
mov r8d, 0x22
mov rdi, r12
call fcn.14001a9b0
mov rcx, qword [rsp + 0x70]
call fcn.1400d14e0
cmp eax, r13d
jne 0x14003dcaf
mov rcx, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rax, qword [rsp + 0x70]
lea rdx, [0x1400f3b68]
mov r8, r14
lea rcx, [rax + r12*2]
call fcn.14001a9b0
mov rcx, qword [rsp + 0x70]
call fcn.1400d14e0
cmp eax, r13d
jne 0x14003dce3
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.14001a9b0
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.1400d1fa0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x4f0]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb0], r13
call fcn.1400d1568
cmp qword [rsp + 0xb0], r13
jne 0x14003ddda
mov qword [rsp + 0xb0], r13
lea rcx, [rsp + 0xf8]
mov ebp, 2
call fcn.14004f564
lea rcx, [rsp + 0x78]
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
cmp ebx, r13d
jle 0x14003ddbb
lea rcx, [0x14010c000]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor edx, edx
mov ecx, ebx
call fcn.1400be828
lea rcx, [0x14010c000]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x208]
call fcn.14002e270
lea rcx, [rsp + 0x218]
call fcn.14002e270
jmp 0x14003e289
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.14006160c
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x58]
call fcn.140067f28
lea rdx, [0x1400eea78]
lea rcx, [rsp + 0x58]
call fcn.140057290
mov rbx, qword [rsp + 0xb8]
cmp rbx, r13
je 0x14003de1c
cmp word [rbx], r13w
jne 0x14003de23
lea rbx, [0x1400f3ae0]
mov rdx, qword [rsp + 0xc8]
cmp rdx, r13
je 0x14003de36
cmp word [rdx], r13w
jne 0x14003de3d
lea rdx, str.DefaultInstall
lea rcx, [rsp + 0x80]
call fcn.14006160c
lea rdx, [0x1400eefb0]
lea rcx, [rsp + 0x80]
call fcn.140057290
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.140057290
lea rdx, [0x1400eefb0]
lea rcx, [rsp + 0x80]
call fcn.140057290
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 0x14003e1c9
mov rcx, qword [rsp + 0x58]
movsxd rdx, eax
mov word [rcx + rdx*2], r13w
lea rdx, [rsp + 0x51c]
lea rcx, [rsp + 0x58]
call fcn.140057290
mov r14, qword [rsp + 0x58]
lea rcx, [rsp + 0xb8]
mov dil, r13b
call fcn.140057154
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.1400bf26c
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 0x14003df57
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 0x14003df6e
mov rax, qword [rsp + 0xc0]
cmp rax, r13
jne 0x14003df83
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
xor r8d, r8d
call fcn.14002d120
mov rbx, rax
cmp byte [rsp + 0x19d], r13b
jne 0x14003dfaf
mov eax, dword [rsp + 0x60]
cmp eax, r13d
jne 0x14003e012
cmp byte [rsp + 0x4d], r13b
je 0x14003dfa5
cmp dil, r13b
jne 0x14003e012
cmp rbx, r13
jne 0x14003e017
jmp 0x14003e1bc
lea rcx, [rsp + 0xc8]
mov edx, 0x2800
call fcn.1400571c8
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc8]
lea r8, str.:_6R
mov edx, 0x27ff
call fcn.1400d32c8
mov rdx, qword [rsp + 0xc8]
lea rcx, [0x14010bee0]
mov r9d, 0x11
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.1400266c0
lea rcx, [rsp + 0xc8]
call fcn.14004f564
mov eax, dword [rsp + 0x60]
cmp rbx, r13
je 0x14003e01c
movzx r13d, word [rbx - 4]
xor edx, edx
lea rbp, [0x1400ee4c4]
cmp rbx, rdx
lea edi, [rdx + 4]
cmovne rbp, rbx
cmp eax, edx
jne 0x14003e116
cmp byte [rsp + 0x1a0], dl
jne 0x14003e11f
lea ecx, [rdx + 3]
cmp byte [rsp + 0x19c], cl
je 0x14003e059
cmp byte [rsp + 0x19e], dl
je 0x14003e0c1
mov eax, 1
or edi, eax
cmp byte [rsp + 0x19e], dl
je 0x14003e087
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002df54
mov rsi, rax
jmp 0x14003e0ab
cmp byte [rsp + 0x19c], cl
jne 0x14003e0ad
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
or r9d, 0xffffffff
mov r8, rbp
call fcn.14002e0cc
mov esi, eax
xor edx, edx
cmp esi, edx
je 0x14003e19c
mov eax, 2
test al, dil
jne 0x14003e10c
jmp 0x14003e0c6
mov eax, 2
or edi, eax
cmp rbx, rdx
je 0x14003e0fb
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.14002d418
xor edx, edx
mov esi, eax
cmp eax, edx
je 0x14003e19c
mov eax, 1
lea ecx, [rax + 2]
test al, dil
je 0x14003e05e
test dil, 4
jne 0x14003e19c
cmp byte [rsp + 0x1a0], dl
je 0x14003e136
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
mov r8d, r12d
call fcn.14002d5c8
jmp 0x14003e19c
cmp byte [rsp + 0x19f], dl
jne 0x14003e19c
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.140057290
mov r8, qword [rsp + 0x80]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call fcn.14002e2cc
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x14003e19c
cmp qword [rsp + 0x160], rax
je 0x14003e19c
lea rcx, [rsp + 0x140]
mov r8d, r13d
mov rdx, rbp
call fcn.1400170dc
xor r13d, r13d
cmp rbx, r13
je 0x14003e1a8
mov word [rbx], r13w
mov rcx, qword [rsp + 0xf8]
cmp word [rcx], r13w
je 0x14003e1bc
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0xb8]
call fcn.14004f564
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 0x14003dea9
lea rcx, [rsp + 0x80]
call fcn.14004f564
lea rcx, [rsp + 0x58]
call fcn.14004f564
mov rcx, qword [rsp + 0xb0]
movsxd rbx, esi
cmp rcx, r13
je 0x14003e222
cmp rcx, 0xffffffffffffffff
je 0x14003e222
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0xb0], r13
call fcn.14004f564
lea rcx, [rsp + 0x78]
call fcn.14004f564
lea rcx, [rsp + 0xa0]
call fcn.14004f564
lea rcx, [rsp + 0x68]
call fcn.14004f564
mov rbp, rbx
jmp 0x14003e68b
movsx edx, bpl
xor ecx, ecx
and edx, 0x12
call fcn.1400be828
xor eax, eax
mov rbp, rax
jmp 0x14003e68b
cmp qword [rsp + 0x90], r8
jne 0x14003e2a3
mov rbp, 0xffffffff80070057
mov rbx, qword [rsp + 0xbf0]
lea rsi, str.__DEVI.REBOOT
mov r15d, 0x40
jmp 0x14003e5bc
mov ebp, 2
lea rcx, [rsp + 0xc08]
mov rdx, rbp
call fcn.1400571c8
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 0x14003e2ea
lea eax, [rbp + 0x24]
cmp ax, word [r10]
jne 0x14003e32f
mov rsi, r10
jmp 0x14003e30a
cmp r14w, ax
je 0x14003e316
mov ecx, 0x3d
cmp cx, ax
je 0x14003e316
add r10, rbp
mov qword [rsp + 0x90], r10
movzx eax, word [r10]
cmp ax, r13w
jne 0x14003e2ef
jmp 0x14003e336
mov word [r10], r13w
mov r10, qword [rsp + 0x90]
add r10, rbp
mov qword [rsp + 0x90], r10
jmp 0x14003e336
lea rsi, str.__DEVI.REBOOT
mov r12b, byte [rsp + 0x4f]
mov ebx, 1
lea r15d, [rbx + 0x3f]
jmp 0x14003e34b
mov ebp, 2
mov r8d, 0x22
cmp r8w, word [r10]
je 0x14003e372
lea edx, [r8 + 5]
cmp dx, word [r10]
je 0x14003e372
lea rax, [0x1400ee4c4]
mov qword [rsp + 0x90], rax
jmp 0x14003e3c2
movsx eax, byte [r10]
lea rcx, [rsp + 0x90]
add r10, 2
movzx edx, ax
mov qword [rsp + 0x90], r10
call fcn.140045808
mov rcx, qword [rsp + 0x90]
cmp word [rcx], r13w
je 0x14003e3ac
mov word [rcx], r13w
add qword [rsp + 0x90], rbp
lea rcx, [rsp + 0x90]
call fcn.140014c28
mov edx, 0x27
lea r8d, [rdx - 5]
movzx eax, word [r10]
mov ecx, 0x68
mov r9d, r13d
or ax, 0x20
cmp cx, ax
jne 0x14003e3e6
cmp r14w, word [r10 + 2]
jne 0x14003e3e6
mov r9d, 0x200
jmp 0x14003e426
mov ecx, 0x63
cmp cx, ax
jne 0x14003e3ff
cmp r14w, word [r10 + 2]
jne 0x14003e3ff
mov r9d, 0x400
jmp 0x14003e426
mov eax, 0x2b
cmp ax, word [r10]
jne 0x14003e419
cmp r14w, word [r10 + 2]
jne 0x14003e419
mov r9d, 0x600
jmp 0x14003e426
cmp r15w, word [r10]
jne 0x14003e42a
cmp r14w, word [r10 + 2]
jne 0x14003e42a
add r10, 4
cmp r8w, word [r10]
je 0x14003e436
cmp dx, word [r10]
jne 0x14003e46d
movsx edx, byte [r10]
lea rcx, [rsp + 0xc00]
add r10, rbp
mov qword [rsp + 0xc00], r10
call fcn.140045808
mov rcx, qword [rsp + 0xc00]
mov edx, 0x27
lea r8d, [rdx - 5]
cmp word [rcx], r13w
je 0x14003e46d
mov word [rcx], r13w
cmp dil, 0x11
jne 0x14003e52a
mov rax, r10
mov r11, r13
mov qword [rsp + 0xc00], rax
cmp r8w, word [r10]
je 0x14003e491
cmp dx, word [r10]
jne 0x14003e4db
movsx edx, byte [r10]
lea rcx, [rsp + 0xc00]
add r10, 2
mov qword [rsp + 0xc00], r10
call fcn.140045808
mov rcx, qword [rsp + 0xc00]
cmp word [rcx], r13w
je 0x14003e4fd
mov word [rcx], r13w
mov rax, qword [rsp + 0xc00]
jmp 0x14003e4d0
cmp r14w, cx
je 0x14003e4e6
add rax, rbp
mov qword [rsp + 0xc00], rax
movzx ecx, word [rax]
cmp cx, r13w
jne 0x14003e4ca
jmp 0x14003e4fd
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.14002d418
jmp 0x14003e567
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.140063cf0
mov r10, qword [rsp + 0x90]
movsxd rbp, eax
cmp word [r10], r13w
jne 0x14003e346
mov rbx, qword [rsp + 0x250]
cmp dil, 0x12
jne 0x14003e5a7
mov r8, qword [rsp + 0xc08]
mov rdx, rbx
mov rbx, qword [rsp + 0xbf0]
mov rcx, rbx
call fcn.140056790
jmp 0x14003e5af
mov rbx, qword [rsp + 0xbf0]
lea rcx, [rsp + 0xc08]
call fcn.14004f564
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x2d8]
call fcn.140017234
lea rax, [rsp + 0x19a]
cmp word [rax], r15w
je 0x14003e5f4
movzx edx, word [rax]
lea r9, str.0x_X
mov r8, rsi
mov rcx, rbx
call fcn.14005a13c
xor edx, edx
mov rcx, rbx
call fcn.140081ed8
jmp 0x14003e68b
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0xc08]
xor edx, edx
mov r8d, 0x1e5
mov qword [rsp + 0xc08], rax
call fcn.140023d48
mov rbx, qword [rsp + 0xc08]
mov qword [rsp + 0x40], rax
xor eax, eax
cmp word [rbx], ax
jne 0x14003e642
mov rbp, 0xffffffff80070057
jmp 0x14003e68b
lea rdx, str.35:INDATABuildInfCache
lea rcx, [rsp + 0xc00]
call fcn.14006160c
lea rcx, [rsp + 0xc00]
mov rdx, rbx
call fcn.140057290
mov rdx, qword [rsp + 0xc00]
mov rcx, qword [rsp + 0xbf0]
call fcn.140042ff4
lea rcx, [rsp + 0xc00]
mov rbp, rax
call fcn.14004f564
lea rcx, [rsp + 0x1c0]
call fcn.14004f564
lea rcx, [rsp + 0x70]
call fcn.14004f564
lea rcx, [rsp + 0x218]
call fcn.14004f564
lea rcx, [rsp + 0x208]
call fcn.14004f564
lea rcx, [rsp + 0x260]
call fcn.14004f564
lea rcx, [rsp + 0x1f0]
call fcn.14004f564
lea rcx, [rsp + 0x210]
call fcn.14004f564
mov rax, rbp
add rsp, 0xba8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret