Function at 0x140075040
Capabilities:
Read .ini file
Set file attributes

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10840]
mov eax, 0x10940
call fcn.14024c240
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x10970], rbx
mov qword [rsp + 0x10980], rsi
mov qword [rsp + 0x10988], rdi
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x10830], rax
mov r13, rdx
mov qword [rsp + 0x58], rdx
mov qword [rbp - 0x60], rdx
xor r8d, r8d
lea rdx, str.CBaseFuncSub::FS_CheckDriverNameForSilent
lea rcx, [rsp + 0x38]
call fcn.1400075a0
nop
mov r9, qword [r13]
lea r8, str.cszDriverName___s
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140007780
lea rcx, [rsp + 0x78]
call fcn.140105848
nop
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x30]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r9 + 0x18]
lea r8, str.InsDrv.ini
mov edx, 0x400
lea rcx, [rbp + 0x30]
call fcn.140246470
mov edx, 0x20
lea rcx, [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r9, qword [rax]
lea r8, str.Driver
lea rdx, [rbp - 0x50]
mov rcx, rax
call qword [r9 + 0x50]
lea r9, [rbp + 0x30]
mov r8d, 0x7fff
lea rdx, [rbp + 0x830]
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
jne 0x1400751cb
mov rcx, qword [0x1403b9770]
mov rax, qword [rcx]
lea r8, str.InsDrv.ini
mov edx, 0x19
call qword [rax + 0x18]
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x38]
call fcn.140007780
nop
lea rcx, [rsp + 0x78]
call fcn.140105ce4
nop
lea rcx, [rsp + 0x38]
call fcn.140007730
nop
mov rdx, qword [r13]
sub rdx, 0x18
or esi, 0xffffffff
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400751c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140075907
call fcn.140102a14
mov r11, rax
xor r14d, r14d
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400751ee
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, r11
call qword [rax]
test rax, rax
jne 0x14007520c
call fcn.140020970
int3
lea rdi, [rax + 0x18]
mov qword [rsp + 0x48], rdi
cmp dword [rdi - 0xc], 0x7fff
jge 0x140075229
mov ecx, 0x80070057
call fcn.140005210
int3
lea r13, [rdi - 0x10]
mov qword [rsp + 0x70], r13
mov dword [r13], 0x7fff
mov word [rdi + 0xfffe], r14w
mov r9d, 0xfffe
lea r8, [rbp + 0x830]
mov edx, r9d
mov rcx, rdi
call fcn.1402471ac
nop
call fcn.140102a14
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14007527b
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
call fcn.140102a14
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400752ad
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r12d, r14d
mov dword [rsp + 0x30], r14d
or esi, 0xffffffff
nop word [rax + rax]
test r12d, r12d
js 0x1400756d1
cmp r12d, dword [r13]
jge 0x1400756d1
xor edx, edx
movsxd rax, r12d
lea rcx, [rdi + rax*2]
call fcn.140247344
test rax, rax
je 0x1400756d1
sub rax, rdi
sar rax, 1
test eax, eax
jle 0x1400756d1
lea r15d, [rax + 1]
mov r9d, r15d
mov r8d, r12d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.14000d690
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140075461
cmp dword [rdi + 0x10], 0
jl 0x14007536f
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14007536f
call fcn.140006190
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140075366
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
jmp 0x14007545c
movsxd r12, dword [r14 - 0x10]
test r12d, r12d
jne 0x1400753d1
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140075461
cmp dword [rdi + 0x10], 0
jge 0x1400753a5
cmp dword [rbx - 0xc], 0
jl 0x14007566e
xor r14d, r14d
mov dword [rbx - 0x10], r14d
mov word [rbx], r14w
jmp 0x140075464
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400753be
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14007545c
test r14, r14
je 0x14007568f
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x50], eax
mov r13, r14
sub r13, rbx
sar r13, 1
test r12d, r12d
js 0x140075684
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x140075417
mov edx, r12d
lea rcx, [rsp + 0x28]
call fcn.140005e40
mov rbx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x50]
lea rdi, [r12 + r12]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r13, rax
ja 0x14007543c
lea r8, [rbx + r13*2]
call fcn.1402457b4
jmp 0x140075444
mov r8, r14
call fcn.1402471ac
cmp r12d, dword [rbx - 0xc]
jg 0x140075679
mov dword [rbx - 0x10], r12d
xor r14d, r14d
mov word [rdi + rbx], r14w
jmp 0x140075464
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140075483
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x28]
cmp dword [rbx - 0x10], 1
jl 0x1400756d1
cmp dword [rbx - 0x10], 0
jg 0x14007549c
mov eax, esi
jmp 0x1400754b8
mov edx, 0x3d
mov rcx, rbx
call fcn.140247344
test rax, rax
jne 0x1400754b2
mov eax, esi
jmp 0x1400754b8
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x28]
call fcn.14000d770
nop
mov r13, qword [rax]
lea rdx, [r13 - 0x18]
mov rcx, qword [rsp + 0x20]
lea rbx, [rcx - 0x18]
cmp rdx, rbx
je 0x140075610
cmp dword [rbx + 0x10], 0
jl 0x140075525
mov rax, qword [rbx]
cmp qword [rdx], rax
jne 0x140075525
mov rcx, rdx
call fcn.140006190
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140075517
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x140075610
movsxd rdi, dword [r13 - 0x10]
test edi, edi
jne 0x14007558c
mov rdi, qword [rbx]
cmp dword [rbx + 8], 0
je 0x140075610
cmp dword [rbx + 0x10], 0
jge 0x14007555c
cmp dword [rcx - 0xc], 0
jl 0x14007569a
mov dword [rcx - 0x10], r14d
mov rax, qword [rsp + 0x20]
mov word [rax], r14w
jmp 0x140075610
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140075575
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
jmp 0x140075610
test r13, r13
je 0x1400756bb
mov r14d, dword [rcx - 0x10]
mov r12, r13
sub r12, rcx
sar r12, 1
test edi, edi
js 0x1400756b0
mov edx, 1
sub edx, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
sub eax, edi
or eax, edx
jge 0x1400755cc
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.140005e40
mov rcx, qword [rsp + 0x20]
lea rbx, [rdi + rdi]
movsxd rdx, dword [rcx - 0xc]
mov r9, rbx
add rdx, rdx
cmp r12, r14
ja 0x1400755ea
lea r8, [rcx + r12*2]
call fcn.1402457b4
jmp 0x1400755f2
mov r8, r13
call fcn.1402471ac
mov rax, qword [rsp + 0x20]
cmp edi, dword [rax - 0xc]
jg 0x1400756a5
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x20]
xor r14d, r14d
mov word [rbx + rax], r14w
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007562f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [rsp + 0x20]
mov rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x78]
call fcn.140105e58
mov r12d, r15d
test r15d, r15d
js 0x1400756c6
mov r13, qword [rsp + 0x70]
cmp r15d, dword [r13]
jg 0x1400756c6
movsxd rax, r15d
mov rdi, qword [rsp + 0x48]
cmp word [rdi + rax*2], 0
je 0x1400756d1
mov rbx, qword [rsp + 0x28]
jmp 0x1400752d0
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
nop
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
int3
mov ecx, 0x80070057
call fcn.140005210
nop
mov ecx, 0x80070057
call fcn.140005210
int3
mov r12d, r14d
mov rdi, r14
mov rcx, qword [rbp - 0x78]
mov r13, qword [rsp + 0x58]
test rcx, rcx
jle 0x14007576f
nop dword [rax]
test rdi, rdi
js 0x140075769
cmp rdi, rcx
jge 0x140075769
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + rdi*8]
sub rcx, 0x18
call fcn.140006190
lea rbx, [rax + 0x18]
mov rdx, qword [r13]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
lea rdx, [rbx - 0x18]
test eax, eax
mov eax, esi
je 0x14007574e
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007573a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc r12d
inc rdi
movsxd rax, r12d
mov rcx, qword [rbp - 0x78]
cmp rax, rcx
jl 0x1400756f0
jmp 0x14007576f
mov edi, 1
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140075773
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140075773
call fcn.140102ffc
int3
mov edi, dword [rsp + 0x30]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x78]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
test eax, eax
je 0x1400757c7
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x78]
mov r8, qword [rax]
mov rdx, qword [r13]
mov rcx, rax
call qword [r8 + 0x20]
test eax, eax
jne 0x1400757c7
mov r9, qword [r13]
lea r8, str._t_t_t_s_is_not_customize_driver_mask.
lea edx, [rax + 7]
lea rcx, [rsp + 0x38]
call fcn.140007780
mov edi, r14d
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
cmp dword [0x1403b97cc], 0
je 0x14007580b
call qword [rax + 0x20]
mov rbx, rax
mov rcx, qword [r13]
cmp dword [rcx - 8], 1
jle 0x1400757f5
mov edx, dword [rcx - 0x10]
mov rcx, r13
call fcn.140005c20
mov r9, qword [rbx]
xor r8d, r8d
mov rdx, qword [r13]
mov rcx, rbx
call qword [r9 + 0x4e0]
jmp 0x140075837
call qword [rax + 0x20]
mov rbx, rax
mov rcx, qword [r13]
cmp dword [rcx - 8], 1
jle 0x140075826
mov edx, dword [rcx - 0x10]
mov rcx, r13
call fcn.140005c20
mov r8, qword [rbx]
mov rdx, qword [r13]
mov rcx, rbx
call qword [r8 + 0x1d0]
test eax, eax
je 0x140075858
mov r9, qword [r13]
lea r8, str._t_t_t_s_is_not_support_driver_mask.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov edi, r14d
mov r9d, edi
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x38]
call fcn.140007780
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140075892
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400758b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400758d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x78]
call fcn.140105ce4
nop
lea rcx, [rsp + 0x38]
call fcn.140007730
nop
mov rdx, qword [r13]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140075905
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, edi
mov rcx, qword [rbp + 0x10830]
xor rcx, rsp
call fcn.140245660
lea r11, [rsp + 0x10940]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret