Function at 0x140059260
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x160], rbx
mov rax, qword [0x1404680d8]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rdi, r9
mov r12, r8
mov rsi, rdx
mov r15, qword [rbp + 0x80]
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x30], rax
mov r13, qword [rbp + 0x90]
xor ebx, ebx
mov qword [rbp - 0x10], rbx
lea rax, [rsp + 0x50]
mov qword [rbp - 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], bx
xor r8d, r8d
lea rdx, [0x1403b8fe8]
lea rcx, [rsp + 0x50]
call fcn.14000d3a0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x10]
call fcn.1400bbe20
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], bx
lea r8d, [rbx + 0x28]
lea rdx, [0x1403c38e0]
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x30]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
mov rbx, qword [rbp - 0x28]
mov r14, qword [rbp - 0x20]
cmp rbx, r14
je 0x140059458
cmp r12, rbx
je 0x1400593ab
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14005939f
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, r12
call fcn.14000d3a0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
xor r14d, r14d
mov word [rsp + 0x30], r14w
lea r8d, [r14 + 3]
lea rdx, [0x1403bb870]
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
lea r8, [rsp + 0x30]
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.140082ed0
mov rbx, rax
cmp rdi, rax
je 0x140059421
mov rcx, rdi
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0x50]
call fcn.14000c340
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
mov r14, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x28]
cmp rbx, r14
je 0x140059458
mov rcx, rbx
call fcn.14000c340
add rbx, 0x20
cmp rbx, r14
jne 0x140059443
mov rbx, qword [rbp - 0x28]
mov qword [rbp - 0x20], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
xor r14d, r14d
mov word [rsp + 0x30], r14w
lea r8d, [r14 + 0x26]
lea rdx, str._PROGRAMDATA_MalwarebytesMBAMService
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x30]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
mov r8, qword [rbp - 0x28]
cmp r8, qword [rbp - 0x20]
je 0x140059566
cmp r15, r8
je 0x1400594dc
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1400594d0
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, r15
call fcn.14000d3a0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r14w
mov r8d, 7
lea rdx, str.ctlrpkg
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
lea r8, [rsp + 0x30]
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.140082ed0
mov rbx, rax
cmp rsi, rax
je 0x140059551
mov rcx, rsi
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0x50]
call fcn.14000c340
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rbp + 8], xmm1
mov word [rbp - 8], r14w
mov r8d, 0x22
lea rdx, str.SystemCurrentControlSetServices_
lea rcx, [rbp - 8]
call fcn.14000d3a0
nop
mov r8d, sendto
lea rdx, str.MBAMUpdaterService
lea rcx, [rbp - 8]
call fcn.14000d710
mov r8d, reloc.WS2_32.dll_inet_addr
lea rdx, str.Parameters
lea rcx, [rbp - 8]
call fcn.14000d710
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rdx, qword [rbp - 8]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test eax, eax
je 0x140059641
lea rdx, str.Failed_to_open_service_registry:
lea rcx, [0x14047aa00]
call fcn.140036d30
mov rcx, rax
mov edx, ebx
call fcn.140028560
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14002c400
movzx edx, al
mov rcx, rbx
call fcn.14003af60
mov rcx, rbx
call fcn.14000bf70
xor bl, bl
jmp 0x140059b0a
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x60], xmm1
mov word [rsp + 0x50], r14w
mov r8d, 6
lea rdx, [0x1403bba38]
lea rcx, [rsp + 0x50]
call fcn.14000d3a0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r14w
mov r8d, reloc.WS2_32.dll_inet_addr
lea rdx, str.ProductCode
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400628c0
mov rbx, rax
mov r14, qword [rbp - 0x30]
cmp r14, rax
je 0x1400596fb
mov rcx, r14
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r14 + 0x10], xmm1
xor r14d, r14d
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
jmp 0x1400596fe
xor r14d, r14d
lea rcx, [rbp - 0x70]
call fcn.14000c340
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
nop
lea rcx, [rsp + 0x50]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rbp - 0x80], xmm1
mov word [rsp + 0x70], r14w
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.UpdateDirectory
lea rcx, [rsp + 0x70]
call fcn.14000d3a0
nop
mov r9, rsi
lea r8, [rsp + 0x70]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400628c0
mov rbx, rax
cmp rsi, rax
je 0x140059793
mov rcx, rsi
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rbp - 0x70]
call fcn.14000c340
nop
lea rcx, [rsp + 0x70]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r14w
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.ProgramDirectory
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
mov r9, r12
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400628c0
mov rbx, rax
cmp r12, rax
je 0x140059823
mov rcx, r12
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r12 + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rbp - 0x70]
call fcn.14000c340
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x60], xmm1
mov word [rsp + 0x50], r14w
mov r8d, ntohl
lea rdx, str.LKGDirectory
lea rcx, [rsp + 0x50]
call fcn.14000d3a0
nop
mov r9, rdi
lea r8, [rsp + 0x50]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400628c0
mov rbx, rax
cmp rdi, rax
je 0x1400598af
mov rcx, rdi
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rbp - 0x70]
call fcn.14000c340
nop
lea rcx, [rsp + 0x50]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r14w
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.DataDirectory
lea rcx, [rsp + 0x30]
call fcn.14000d3a0
nop
mov r9, r15
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400628c0
mov rbx, rax
cmp r15, rax
je 0x14005993d
mov rcx, r15
call fcn.14000c340
movups xmm0, xmmword [rbx]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rbp - 0x70]
call fcn.14000c340
nop
lea rcx, [rsp + 0x30]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rbp - 0x80], xmm1
mov word [rsp + 0x70], r14w
mov r8d, 0x1c
lea rdx, str.CurrentProtectedServiceState
lea rcx, [rsp + 0x70]
call fcn.14000d3a0
nop
movzx ebx, byte [r13 + 2]
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x30], 4
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rdx, qword [rsp + 0x70]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400599d1
cmp dword [rbp - 0x38], 1
sete bl
mov byte [r13 + 2], bl
lea rcx, [rsp + 0x70]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rsp + 0x60], xmm1
mov word [rsp + 0x50], r14w
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.CurrentSCMStopAccess
lea rcx, [rsp + 0x50]
call fcn.14000d3a0
nop
movzx ebx, byte [r13]
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x30], 4
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140059a62
cmp dword [rbp - 0x38], 1
sete bl
mov byte [r13], bl
lea rcx, [rsp + 0x50]
call fcn.14000c340
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [0x1403e1a30]
movdqu xmmword [rbp - 0x80], xmm1
mov word [rsp + 0x70], r14w
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, str.CurrentSPState
lea rcx, [rsp + 0x70]
call fcn.14000d3a0
nop
movzx ebx, byte [r13 + 1]
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x30], 4
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rdx, qword [rsp + 0x70]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140059af0
cmp dword [rbp - 0x38], 1
sete bl
mov byte [r13 + 1], bl
lea rcx, [rsp + 0x70]
call fcn.14000c340
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov bl, 1
lea rcx, [rbp - 8]
call fcn.14000c340
nop
lea rcx, [rbp - 0x28]
call fcn.14002b400
nop
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140059b32
mov r8, qword [rcx]
mov edx, 1
call qword [r8]
movzx eax, bl
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.140282c10
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret