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

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x5c8]
sub rsp, 0x6b0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x180143158]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
mov rbx, rcx
mov rax, qword [rcx + 8]
mov rsi, 0xffffffffffffffff
cmp dword [rax - 0x10], 0
jne 0x18002f941
lea rdx, [rsp + 0x58]
call fcn.18002f6a0
nop
mov rdx, rax
lea rcx, [rbx + 8]
call fcn.18002a9b0
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18002f941
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbx + 0x10]
xor r14d, r14d
cmp dword [rdx - 0x10], r14d
jne 0x18002f9e2
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x18002f978
mov edx, 0x104
lea rcx, [rbx + 0x10]
call fcn.180012ba0
mov rdx, qword [rbx + 0x10]
cmp dword [rdx - 0xc], 0x104
jl 0x18002fe02
mov dword [rdx - 0x10], 0x104
mov rax, qword [rbx + 0x10]
mov word [rax + 0x208], r14w
mov rax, qword [rbx]
mov r8d, 0x104
mov rcx, rbx
call qword [rax + 0x20]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x18002f9b5
mov eax, r14d
jmp 0x18002f9c6
movsxd rdx, dword [rcx - 0xc]
call fcn.1800a25f4
test eax, eax
js 0x18002fe18
mov rcx, qword [rbx + 0x10]
cmp eax, dword [rcx - 0xc]
jg 0x18002fe18
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbx + 0x10]
mov word [rax + rcx*2], r14w
mov rdx, qword [rbx + 0x28]
cmp dword [rdx - 0x10], r14d
jne 0x18002fa80
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x18002fa16
mov edx, 0x104
lea rcx, [rbx + 0x28]
call fcn.180012ba0
mov rdx, qword [rbx + 0x28]
cmp dword [rdx - 0xc], 0x104
jl 0x18002fe0d
mov dword [rdx - 0x10], 0x104
mov rax, qword [rbx + 0x28]
mov word [rax + 0x208], r14w
mov rax, qword [rbx]
mov r8d, 0x104
mov rcx, rbx
call qword [rax + 0x28]
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x18002fa53
mov eax, r14d
jmp 0x18002fa64
movsxd rdx, dword [rcx - 0xc]
call fcn.1800a25f4
test eax, eax
js 0x18002fe2e
mov rcx, qword [rbx + 0x28]
cmp eax, dword [rcx - 0xc]
jg 0x18002fe2e
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbx + 0x28]
mov word [rax + rcx*2], r14w
mov rax, qword [rbx + 0x18]
cmp dword [rax - 0x10], r14d
jne 0x18002fb37
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x70]
call fcn.18009b770
mov r8d, 0x104
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180153c78]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.ComputerZ_CN.exe
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov r8, qword [rbx + 0x18]
mov ecx, 1
sub ecx, dword [r8 - 8]
mov eax, dword [r8 - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x18002fb01
mov edx, 0x104
lea rcx, [rbx + 0x18]
call fcn.180012ba0
mov r8, qword [rbx + 0x18]
cmp dword [r8 - 0xc], 0x104
jl 0x18002fe23
mov dword [r8 - 0x10], 0x104
mov rax, qword [rbx + 0x18]
mov word [rax + 0x208], r14w
mov rax, qword [rbx]
mov r9d, 0x104
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [rax + 0x18]
mov rax, qword [rbx + 0x20]
cmp dword [rax - 0x10], r14d
jne 0x18002fbd7
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x390]
call fcn.18009b770
mov r8d, 0x104
lea rdx, [rbp + 0x390]
mov rcx, qword [0x180153c78]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r8, qword [rbx + 0x20]
mov ecx, 1
sub ecx, dword [r8 - 8]
mov eax, dword [r8 - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x18002fb9f
mov edx, 0x104
lea rcx, [rbx + 0x20]
call fcn.180012ba0
mov r8, qword [rbx + 0x20]
cmp dword [r8 - 0xc], 0x104
jl 0x18002fe39
mov dword [r8 - 0x10], 0x104
mov rax, qword [rbx + 0x20]
mov word [rax + 0x208], r14w
mov rax, qword [rbx]
mov r9d, 0x104
lea rdx, [rbp + 0x390]
mov rcx, rbx
call qword [rax + 0x18]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x50], r14
mov r9d, 0x2021f
lea r8, str.SOFTWAREComMaster
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x40]
call fcn.18001a100
test eax, eax
je 0x18002fc46
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1800a5b8c
call fcn.1800a5b60
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 + 0x34], r8d
mov rdi, qword [rsp + 0x40]
jmp 0x18002fdc2
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x180]
call fcn.18009b770
mov dword [rsp + 0x30], 0x208
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x180]
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 0x18002fcd7
mov eax, dword [rsp + 0x34]
dec eax
cmp eax, 1
ja 0x18002fcd7
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x18002fcc0
test al, 1
jne 0x18002fcd7
shr rax, 1
cmp word [rbp + rax*2 + 0x17e], 0
je 0x18002fcc8
jmp 0x18002fcd7
mov word [rbp + 0x180], r14w
lea rcx, [rbp + 0x180]
call fcn.1800a5988
mov dword [rbx + 0x34], eax
cmp dword [rbx + 0x34], 0
jne 0x18002fdb1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1800a5b8c
call fcn.1800a5b60
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 + 0x34], r8d
call fcn.1800121e0
mov rcx, rax
test rax, rax
je 0x18002fdf7
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov r8d, dword [rbx + 0x34]
lea rdx, [0x1800f85e0]
lea rcx, [rsp + 0x38]
call fcn.18002c4f0
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x18002fd95
mov rax, rsi
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x18002fd60
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
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 0x18002fdac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x18002fdc2
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, r14
test rdi, rdi
je 0x18002fdd0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.180050f90
lea r11, [rsp + 0x6b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.180010a30
nop
mov ecx, 0x80070057
call fcn.180010a30
int3
mov ecx, 0x80070057
call fcn.180010a30
int3
mov ecx, 0x80070057
call fcn.180010a30
int3
mov ecx, 0x80070057
call fcn.180010a30
int3
mov ecx, 0x80070057
call fcn.180010a30
int3
mov ecx, 0x80070057
call fcn.180010a30
int3