Function at 0x140002ef0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov qword [rbp - 0x71], 0xfffffffffffffffe
mov rbx, rcx
call qword [sym.imp.COMCTL32.dll_InitCommonControls]
mov rcx, rbx
call fcn.14000c234
xor ecx, ecx
call fcn.14000ffdc
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea rcx, [rbp - 0x69]
call fcn.140004010
nop
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.14000afa0
lea rcx, [rsp + 0x38]
call fcn.140001e70
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.140002860
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140002b80
nop
call fcn.1400095e4
mov r11, rax
xor edi, edi
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140002f91
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
call fcn.1400095e4
mov r11, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140002fc1
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
call fcn.1400095e4
mov r11, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140002ff2
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x6f], rax
call fcn.1400095e4
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x140003021
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x7f], rdi
lea r8, [rbp + 0x77]
lea rdx, [0x14017cfe4]
lea rcx, [rbp - 0x69]
call fcn.140004580
lea rdx, [0x14017cba0]
mov rcx, qword [rbp + 0x77]
call fcn.140154e10
test eax, eax
sete al
or esi, 0xffffffff
test al, al
je 0x1400030fe
lea r8, str..inf
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400029f0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x77]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400030d6
cmp dword [rbx + 0x10], 0
jl 0x1400030c8
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400030c8
call fcn.140001a40
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400030be
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x77], rax
jmp 0x1400030d6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.140001ce0
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400030f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp + 0x7f]
mov rbx, qword [rsp + 0x30]
mov edx, 0x5c
mov rcx, qword [rbp + 0x77]
call fcn.140155e4c
test rax, rax
je 0x14000317f
mov rdx, qword [rbp + 0x77]
lea rcx, [rdx - 0x18]
mov r12, qword [rbp + 0x6f]
add r12, 0xffffffffffffffe8
cmp rcx, r12
je 0x14000323e
cmp dword [r12 + 0x10], 0
jl 0x14000316d
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x14000316d
call fcn.140001a40
mov rbx, rax
mov ecx, esi
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140003160
mov rcx, qword [r12]
mov r8, qword [rcx]
mov rdx, r12
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp + 0x6f], rax
jmp 0x140003235
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x6f]
call fcn.140001ce0
jmp 0x14000323e
lea rcx, [rsp + 0x58]
call fcn.140002dc0
nop
lea r8, [rbp + 0x77]
mov rdx, rax
lea rcx, [rbp - 0x79]
call fcn.140002940
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x6f]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400031f7
cmp dword [rbx + 0x10], 0
jl 0x1400031e9
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400031e9
call fcn.140001a40
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400031df
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x6f], rax
jmp 0x1400031f7
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x6f]
call fcn.140001ce0
nop
mov rdx, qword [rbp - 0x79]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003216
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003235
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rbp + 0x7f]
lea rdx, [0x14017cba0]
mov rcx, rbx
call fcn.140154e10
test eax, eax
sete al
mov r14d, 1
test al, al
je 0x1400032e0
mov ecx, r14d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140003286
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.1400019e0
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbp + 0x6f]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
mov r9, rbx
lea r8, [0x14017cba0]
lea rdx, str.ServiceName
lea rcx, str.Strings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140154e18
test eax, eax
js 0x1400032d5
cmp eax, dword [rbx - 0xc]
jg 0x1400032d5
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
jmp 0x1400032e0
mov ecx, 0x80070057
call fcn.140001000
int3
xor r8d, r8d
lea rdx, [0x14017cfc4]
lea rcx, [rbp - 0x69]
call fcn.1400042f0
test eax, eax
je 0x14000348d
lea r13, [rbx - 0x18]
lea r12, [rdi - 0x18]
cmp r13, r12
je 0x140003365
cmp dword [r12 + 0x10], 0
jl 0x140003351
mov rax, qword [r12]
cmp qword [r13], rax
jne 0x140003351
mov rcx, r13
call fcn.140001a40
mov rdi, rax
mov ecx, esi
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140003342
mov rcx, qword [r12]
mov r8, qword [rcx]
mov rdx, r12
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rdi, 0x18
mov qword [rbp + 0x7f], rdi
mov rbx, qword [rsp + 0x30]
jmp 0x140003365
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.140001ce0
mov rdi, qword [rbp + 0x7f]
mov edx, dword [rbx - 0x10]
inc edx
jns 0x140003377
mov ecx, 0x80070057
call fcn.140001000
int3
sub r14d, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, edx
or eax, r14d
jge 0x140003392
lea rcx, [rbp + 0x7f]
call fcn.1400019e0
mov rdi, qword [rbp + 0x7f]
movsxd rax, dword [rbx - 0x10]
mov byte [rax + rdi + 1], 0
mov rdx, rdi
mov rcx, qword [rbp + 0x6f]
call fcn.140003ef0
mov ebx, eax
lea rdx, [rdi - 0x18]
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400033c5
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400033e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, esi
lock xadd dword [r13 + 0x10], eax
dec eax
test eax, eax
jg 0x140003400
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000341f
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 0x14000343f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000345f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000347d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp - 0x69]
call fcn.140004090
mov eax, ebx
jmp 0x14000367c
xor r8d, r8d
lea rdx, [0x14017cfc0]
lea rcx, [rbp - 0x69]
call fcn.1400042f0
test eax, eax
je 0x14000359a
mov rcx, rbx
call fcn.140003c80
mov ebx, eax
lea rdx, [rdi - 0x18]
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400034ce
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400034ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000350d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000352c
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 0x14000354c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000356c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14000358a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp - 0x69]
call fcn.140004090
mov eax, ebx
jmp 0x14000367c
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400035b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400035d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400035f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003613
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 0x140003633
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003653
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140003671
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp - 0x69]
call fcn.140004090
xor eax, eax
add rsp, 0x100
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret