Function at 0x1400af490
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x105e0]
mov eax, 0x106e0
call fcn.14024c240
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x10738], rbx
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x105d0], rax
movsxd r12, r8d
mov dword [rsp + 0x20], r12d
mov ebx, edx
mov r13, rcx
xor r8d, r8d
lea rdx, str.CBaseInfoCtrl::SetPnPDriver
lea rcx, [rsp + 0x30]
call fcn.1400075a0
nop
mov r15d, 1
xor r14d, r14d
mov word [rbp - 0x50], r14w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x4e]
call fcn.14024b970
mov word [rbp + 0x5d0], r14w
xor edx, edx
mov r8d, 0xfffc
lea rcx, [rbp + 0x5d2]
call fcn.14024b970
xor edx, edx
lea r8d, [r15 + 0x27]
lea rcx, [rbp - 0x80]
call fcn.14024b970
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x1c0]
call fcn.14024b970
lea edx, [r15 + 9]
lea rcx, [rsp + 0x48]
call fcn.14011b04c
nop
lea rcx, [0x1402ddbb8]
call fcn.140023e50
test eax, eax
je 0x1400af6bc
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp - 0x80]
lea rdx, str.USBPCL
mov rcx, rax
call qword [rdi + 0x18]
test r12d, r12d
je 0x1400af6bc
lea rsi, [rbp - 0x80]
lea rdi, [0x1402e0304]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
mov edi, r14d
sete dil
mov edx, 0x18d
mov r8d, r15d
lea rcx, [rsp + 0x48]
call fcn.14015b1b4
mov rdx, qword [r13]
mov rcx, r13
call qword [rdx + 0x38]
mov esi, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x14032853c]
comiss xmm0, dword [str.333_]
jbe 0x1400af605
lea r8, str._t_t_tstrMap_size_may_be_too_small._Collisions_are_possible._Make_the_size_larger.
lea edx, [r15 + 6]
lea rcx, [rsp + 0x30]
call fcn.140007780
test edi, edi
mov edi, r14d
je 0x1400af66d
test esi, esi
jle 0x1400af6bc
nop word [rax + rax]
mov rax, qword [r13]
mov r8d, edi
lea rdx, [rbp + 0x1c0]
mov rcx, r13
call qword [rax + 0x40]
lea rdx, [0x1402e8c50]
lea rcx, [rbp + 0x1c0]
call fcn.140245e24
test rax, rax
je 0x1400af665
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x48]
call fcn.14011b2a8
mov rcx, rax
call fcn.140005cd0
inc edi
cmp edi, esi
jl 0x1400af620
jmp 0x1400af6bc
test esi, esi
jle 0x1400af6bc
mov rax, qword [r13]
mov r8d, edi
lea rdx, [rbp + 0x1c0]
mov rcx, r13
call qword [rax + 0x40]
lea rdx, [0x1402e8c50]
lea rcx, [rbp + 0x1c0]
call fcn.140245e24
test rax, rax
jne 0x1400af6b6
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x48]
call fcn.14011b2a8
mov rcx, rax
call fcn.140005cd0
inc edi
cmp edi, esi
jl 0x1400af671
dec ebx
je 0x1400af6c8
mov r15d, r14d
jmp 0x1400af891
lea r8, str.USBPrinters
mov edx, 0x104
lea rcx, [rbp - 0x50]
call fcn.140246628
lea r9, [r13 + 8]
mov r8d, 0x7fff
lea rdx, [rbp + 0x5d0]
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x1400af862
mov ebx, r14d
mov r14, r12
cmp word [rbp + 0x5d0], bx
je 0x1400af865
nop word [rax + rax]
mov esi, ebx
movsxd rdi, ebx
cmp word [rbp + rdi*2 + 0x5d0], 0
je 0x1400af751
movzx ecx, word [rbp + rdi*2 + 0x5d0]
call fcn.140246bb4
test eax, eax
je 0x1400af751
inc esi
inc rdi
cmp word [rbp + rdi*2 + 0x5d0], 0
jne 0x1400af730
movsxd rax, esi
lea r12, [rbp + rax*2 + 0x5d0]
cmp word [r12], 0x3b
je 0x1400af824
mov ebx, esi
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
mov rdx, r12
mov rcx, rax
call qword [rdi + 0x1d0]
test eax, eax
jne 0x1400af824
call fcn.140102a14
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400af850
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rcx, [0x1402ddbb8]
call fcn.140023e50
test eax, eax
je 0x1400af7f0
lea rcx, [0x1402ddbb8]
call fcn.140023e50
test eax, eax
je 0x1400af804
lea r8, [rsp + 0x28]
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.14011b168
test eax, eax
jne 0x1400af7f0
test r14, r14
jne 0x1400af804
lea rcx, [r13 + 0x388]
mov r8, r12
mov rdx, qword [rcx + 0x10]
call fcn.140105f30
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400af824
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
movsxd rax, ebx
lea rdi, [rbp + rax*2 + 0x5d0]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
add ebx, ecx
movsxd rax, ebx
cmp word [rbp + rax*2 + 0x5d0], 0
je 0x1400af85b
jmp 0x1400af720
mov ecx, 0x80004005
call fcn.140005210
int3
mov r12d, dword [rsp + 0x20]
jmp 0x1400af865
mov r15d, r14d
cmp dword [0x1403b97cc], 0
je 0x1400af891
call fcn.140024580
test eax, eax
je 0x1400af891
mov rax, qword [r13]
mov r9d, r12d
lea r8, [rsp + 0x48]
mov edx, 1
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
mov r15d, eax
mov r9d, r15d
lea r8, str.return___08x.
mov edx, 2
lea rcx, [rsp + 0x30]
call fcn.140007780
nop
lea rcx, [rsp + 0x48]
call fcn.14011b158
nop
lea rcx, [rsp + 0x30]
call fcn.140007730
mov eax, r15d
mov rcx, qword [rbp + 0x105d0]
xor rcx, rsp
call fcn.140245660
mov rbx, qword [rsp + 0x10738]
add rsp, 0x106e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret