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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x21e0]
mov eax, 0x22e0
call fcn.1401e33b0
sub rsp, rax
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rbp + 0x21d0], rax
mov r13, r8
mov r15, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r8
xor esi, esi
mov dword [rsp + 0x40], esi
lea rdx, str.CBaseInfoCtrl::GetIniFileBuffer
lea rcx, [rsp + 0x60]
call fcn.14001abe0
nop
lea rax, [0x1402a8360]
lea r12, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
cmp rcx, rax
je 0x140123c29
test byte [rcx + 0x1c], 1
je 0x140123c29
mov r9, r12
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [rsi + 0x35]
lea r8, [0x1402608e8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.1401e7e40
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x1d0]
call fcn.1401e7e40
mov eax, 0xa
mov dword [rsp + 0x30], eax
mov eax, dword [0x1402611a0]
mov dword [rbp - 0x50], eax
movzx eax, word [0x1402611a4]
mov word [rbp - 0x4c], ax
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
lea r8, [rbp - 0x40]
lea rdx, str.TEMPPATH
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea r8, str.INSDRV.INI
mov edx, 0x104
lea rcx, [rbp - 0x40]
call fcn.1401ec614
mov edx, 0x20
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r9, [rbp - 0x40]
mov r8d, 0x1000
lea rdx, [rbp + 0x1d0]
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x140124002
mov rax, qword [rax]
mov edx, 0x1000
mov r8d, 2
mov rax, qword [rax]
call qword [case.0x1400136d6.0]
mov rdi, rax
test rax, rax
je 0x14012400d
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
cmp dword [rax + 0xc], 0x1000
jl 0x140124013
mov dword [rax + 8], 0x1000
mov word [rax + 0x2018], si
test rbx, rbx
jne 0x140123d48
call fcn.1401ec568
mov dword [rax], socket
call fcn.1401ec3fc
jmp 0x140123d5e
mov r8d, 0x2000
lea rdx, [rbp + 0x1d0]
mov rcx, rbx
call fcn.1401e7770
nop
xor r14b, r14b
movsxd rdi, dword [rdi + 8]
mov eax, esi
test edi, edi
jle 0x140123ddb
mov r15d, 0xa
cdqe
lea rsi, [rax + rax]
cmp word [rsi + rbx], 0
jne 0x140123db0
test r14b, r14b
jne 0x140123dab
mov r14b, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140123dab
lfence
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140004e00
mov rbx, qword [rsp + 0x38]
mov word [rsi + rbx], r15w
lea rax, [rsi + 2]
sar rax, 1
cmp eax, edi
jl 0x140123d71
test r14b, r14b
mov r15, qword [rsp + 0x48]
je 0x140123dd9
cmp edi, dword [rbx - 0xc]
jg 0x140123ff7
mov dword [rbx - 0x10], edi
xor esi, esi
mov word [rbx + rdi*2], si
jmp 0x140123ddb
xor esi, esi
xor r14b, r14b
movsxd rdi, dword [rbx - 0x10]
mov eax, esi
test edi, edi
jle 0x140123e56
mov r15d, 0xa
nop
cdqe
lea rsi, [rax + rax]
cmp word [rsi + rbx], 0x3b
jne 0x140123e2f
test r14b, r14b
jne 0x140123e2a
mov r14b, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140123e2a
lfence
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140004e00
mov rbx, qword [rsp + 0x38]
mov word [rsi + rbx], r15w
lea rax, [rsi + 2]
sar rax, 1
cmp eax, edi
jl 0x140123df0
test r14b, r14b
mov r15, qword [rsp + 0x48]
je 0x140123e56
cmp edi, dword [rbx - 0xc]
jg 0x140123ff7
mov dword [rbx - 0x10], edi
xor ecx, ecx
mov word [rbx + rdi*2], cx
mov rdi, 0xffffffffffffffff
cmp dword [rbx - 0x10], 0
jge 0x140123e67
mov eax, edi
jmp 0x140123e82
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1401e7270
test rax, rax
jne 0x140123e7c
mov eax, edi
jmp 0x140123e82
sub rax, rbx
sar rax, 1
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140004340
mov dword [rsp + 0x40], 1
lea rcx, [rsp + 0x30]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140123ea2
mov r8d, eax
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.140007390
mov byte [rsp + 0x68], 1
mov rcx, qword [0x1402a8360]
lea rsi, [0x1402a8360]
cmp rcx, rsi
je 0x140123f0b
test byte [rcx + 0x1c], 1
je 0x140123f0b
mov r9, r12
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x36
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
lea r8, [0x1402608e8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140123f2f
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
lea rax, vtable.WppTrace.0
mov qword [rsp + 0x60], rax
cmp byte [rsp + 0x68], 0
jne 0x140123f91
mov rcx, qword [0x1402a8360]
cmp rcx, rsi
je 0x140123f91
test byte [rcx + 0x1c], 1
je 0x140123f91
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rax, qword [rsp + 0x70]
cmp qword [0x1402bbdc8], 8
cmovae r12, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rax
mov r9, r12
lea r8, [0x140252818]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
lea rcx, [rbp - 0x70]
call fcn.1400048a0
lea rcx, [rsp + 0x70]
call fcn.1400048a0
nop
mov rdx, qword [r13]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140123fca
lfence
mov rcx, qword [rdx]
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
call qword [case.0x1400136d6.0]
mov rax, r15
mov rcx, qword [rbp + 0x21d0]
xor rcx, rsp
call fcn.1401e2900
mov rbx, qword [rsp + 0x2320]
add rsp, 0x22e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070057
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
int3
call fcn.1400051f0
int3
mov ecx, 0x80070057
call fcn.140001470
int3