Function at 0x140122070
Capabilities:
Reference sql statements

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov r13, rcx
or esi, 0xffffffff
mov r15d, esi
cmp qword [rcx], 0
je 0x1401223f6
cmp qword [rcx + 8], 0
je 0x1401223f6
call fcn.140020290
mov rcx, rax
test rax, rax
jne 0x1401220c2
mov ecx, 0x80004005
call fcn.14001fe40
int3
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
lea r8, vtable.ATL::CAtlStringMgr.0
cmp rax, r8
jne 0x1401220df
lock inc dword [rcx + 0x20]
lea rax, [rcx + 0x10]
jmp 0x1401220e1
call rdx
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, str.SELECT_PercentIdleTime_FROM_Win32_PerfFormattedData_Counters_ProcessorInformation_WHERE_Name_Total
lea rcx, [rbp - 0x48]
call fcn.140021430
xor r12d, r12d
mov qword [rbp + 0x58], r12
lea ecx, [r12 + 0x18]
call fcn.14006dac0
mov rbx, rax
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14012212f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, qword [rbp - 0x48]
call fcn.140098ff0
mov qword [rbx], rax
jmp 0x140122132
mov rbx, r12
mov qword [rbp - 0x30], rbx
test rbx, rbx
jne 0x140122146
mov ecx, 0x8007000e
call fcn.140098d20
nop
mov ecx, Ordinal_27
call fcn.14006dac0
mov rdi, rax
mov qword [rbp + 0x50], rax
test rax, rax
je 0x140122178
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14015c1d8]
call fcn.140098ff0
mov qword [rdi], rax
jmp 0x14012217b
mov rdi, r12
mov qword [rbp - 0x38], rdi
test rdi, rdi
jne 0x14012218f
mov ecx, 0x8007000e
call fcn.140098d20
nop
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x58]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_50
mov r8, qword [rbx]
mov rdx, qword [rdi]
call qword [rax + 0xa0]
mov r14d, eax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x1401221f5
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401221d6
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1401221e8
call fcn.14006dab8
mov qword [rdi + 8], r12
mov edx, Ordinal_27
mov rcx, rdi
call fcn.14006dab8
mov qword [rbp - 0x38], r12
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140122235
mov rcx, qword [rbx]
test rcx, rcx
je 0x140122216
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140122228
call fcn.14006dab8
mov qword [rbx + 8], r12
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14006dab8
mov qword [rbp - 0x30], r12
lea rbx, vtable.ATL::CAtlStringMgr.0
test r14d, r14d
je 0x140122252
mov byte [r13 + 0x19], 1
mov r15d, esi
jmp 0x1401223b8
mov r14d, r12d
mov edi, r12d
mov dword [rbp + 0x48], r12d
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1401223a7
nop dword [rax]
mov qword [rbp + 0x60], r12
mov rax, qword [rcx]
lea rdx, [rbp + 0x48]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x60]
mov r8d, 1
mov edx, esi
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
cmp dword [rbp + 0x48], 0
je 0x140122390
mov rcx, qword [rbp + 0x60]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x20]
xor r8d, r8d
lea rdx, str.PercentIdleTime
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
test eax, eax
jne 0x14012235e
call fcn.140020290
test rax, rax
je 0x140122385
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
lea r8, vtable.ATL::CAtlStringMgr.0
cmp rcx, r8
jne 0x1401222ee
lock inc dword [rax + 0x20]
add rax, 0x10
jmp 0x1401222f3
mov rcx, rax
call rdx
add rax, 0x18
mov qword [rbp - 0x40], rax
mov r8, qword [rbp - 0x18]
lea rdx, [0x14015c208]
lea rcx, [rbp - 0x40]
call fcn.140022410
inc edi
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.1400a7e80
add r14d, eax
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
lea rbx, vtable.ATL::CAtlStringMgr.0
jg 0x14012235e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rbx
jne 0x14012235b
mov rcx, qword [rcx + 8]
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14012235e
call r8
lea rcx, [rbp - 0x20]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x140122377
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x140122394
jmp 0x140122270
mov ecx, 0x80004005
call fcn.14001fe40
int3
mov rcx, qword [rbp + 0x58]
test edi, edi
jle 0x1401223a7
mov eax, r14d
cdq
idiv edi
mov r15d, 0x64
sub r15d, eax
test r15d, r15d
sete al
mov byte [r13 + 0x19], al
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1401223f1
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rbx
jne 0x1401223ee
mov rcx, qword [rcx + 8]
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401223f1
call r8
mov eax, r15d
jmp 0x1401223f8
mov eax, esi
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret