Function at 0x1400bf320
Capabilities:
Check for time delay via gettickcount
Query or enumerate registry value
Set registry value

Disassembly:
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400bf320
xor eax, eax
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b8]
sub rsp, 0x2b8
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rax, qword [0x14029e8b8]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r15, r9
mov r12, r8
movsxd rdi, edx
mov rbx, rcx
test edx, edx
jns 0x1400bf36d
xor eax, eax
jmp 0x1400bf6c5
lea rax, vtable._BaseModule::CAutoLocker.0
mov qword [rsp + 0x58], rax
lea rsi, [rcx + 0x58]
mov qword [rsp + 0x60], rsi
test rsi, rsi
je 0x1400bf390
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
nop
cmp dword [rbx + 0x40], 0
jl 0x1400bf3a1
mov r14d, 1
jmp 0x1400bf6b3
mov ecx, 8
call fcn.1401606ac
mov qword [rsp + 0x38], rax
xor r13d, r13d
test rax, rax
je 0x1400bf3c2
mov rcx, rax
call fcn.1400d6070
jmp 0x1400bf3c5
mov rax, r13
mov qword [rbx + 0x98], rax
mov rdx, rdi
mov rcx, rax
call fcn.1400da8e0
test al, al
jne 0x1400bf40f
mov rcx, qword [rbx + 0x98]
call fcn.1400dcc50
mov r14, qword [rbx + 0x98]
test r14, r14
je 0x1400bf408
mov rcx, r14
call fcn.1400d6160
mov edx, 8
mov rcx, r14
call fcn.1401606e8
mov qword [rbx + 0x98], r13
mov dword [rbx + 0x40], edi
test edi, edi
jns 0x1400bf41e
mov r14d, r13d
jmp 0x1400bf6b3
test r12, r12
je 0x1400bf42f
lea rcx, [rbx + 0x50]
mov rdx, r12
call fcn.140092480
test r15, r15
je 0x1400bf442
lea rcx, [rbx + 0x48]
mov rdx, r15
call fcn.140092480
jmp 0x1400bf4b4
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x1400bf4b4
xor r8d, r8d
lea rdx, [rsp + 0x70]
call fcn.1400d7570
nop
cmp qword [rax + 0x18], 8
jb 0x1400bf466
mov rax, qword [rax]
lea rcx, [rbx + 0x48]
mov rdx, rax
call fcn.140092480
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1400bf4b4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bf4af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400bf6f3
call fcn.1401606e8
mov rcx, rbx
call fcn.1400bf850
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], r13d
mov qword [rsp + 0x50], r13
mov r9d, 0x2021f
lea r8, str.SOFTWAREComMaster
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x40]
call fcn.14002ab60
mov r14d, 1
test eax, eax
je 0x1400bf531
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401ccc94
call fcn.1401ccc68
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
inc r8d
mov dword [rbx + 0x38], r8d
mov rdi, qword [rsp + 0x40]
jmp 0x1400bf6a4
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x70]
call fcn.1401afc90
mov dword [rsp + 0x30], 0x208
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x34]
xor r8d, r8d
lea rdx, str.stat_rand
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400bf5b4
mov eax, dword [rsp + 0x34]
dec eax
cmp eax, r14d
ja 0x1400bf5b4
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400bf5a3
test r14b, al
jne 0x1400bf5b4
shr rax, 1
cmp word [rbp + rax*2 - 0x72], 0
je 0x1400bf5a8
jmp 0x1400bf5b4
mov word [rbp - 0x70], r13w
lea rcx, [rbp - 0x70]
call fcn.1401b7cc4
mov dword [rbx + 0x38], eax
cmp dword [rbx + 0x38], 0
jne 0x1400bf693
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401ccc94
call fcn.1401ccc68
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
inc r8d
mov dword [rbx + 0x38], r8d
call fcn.14000a6a0
mov rcx, rax
test rax, rax
je 0x1400bf6e8
mov rax, qword [rax]
call qword [rax + ILCombine]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov r8d, dword [rbx + 0x38]
lea rdx, [0x1401fc1e0]
lea rcx, [rsp + 0x38]
call fcn.140024500
mov rsi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400bf672
mov rax, rsi
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x1400bf640
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r14d
xor r8d, r8d
lea rdx, str.stat_rand
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400bf689
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
test rdi, rdi
je 0x1400bf6a4
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, r13
test rdi, rdi
je 0x1400bf6b3
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
test rsi, rsi
je 0x1400bf6c2
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, r14d
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140160a40
add rsp, 0x2b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000ca90
nop
call fcn.1401b3260
int3