Function at 0x3bc1cb0e2
Capabilities:
Query or enumerate registry value

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rbx, rdx
mov rdi, r8
mov rbp, r9
mov r13, qword [rsp + 0xa0]
test rcx, rcx
je 0x3bc1cb19a
test rdx, rdx
je 0x3bc1cb1cd
test r9, r9
je 0x3bc1cb200
test r13, r13
je 0x3bc1cb233
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
mov r8d, 0
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov r12d, eax
test eax, eax
je 0x3bc1cb266
mov dword [rsp + 0x20], eax
mov r9, rbx
mov r8, rsi
lea rdx, str.registry_get_value
lea rcx, str._E____s_____RegOpenKeyA_failed_root0x_p_key_s_res_lu__n
call fcn.3bc1c1292
cmp r12d, 0x20
jg 0x3bc1cb497
test r12d, r12d
js 0x3bc1cb462
cmp r12d, 0x20
ja case.0x3bc1cb198.1
mov r12d, r12d
lea rdx, [0x3bc1d8e58]
movsxd rax, dword [rdx + r12*4]
add rax, rdx
jmp rax
mov dword [rsp + 0x20], 0xfc
lea r9, str.H:_Projects_rdp_bot_codebase_registry.c
lea r8, str._root___NULL_
lea rdx, str.registry_get_value
lea rcx, [0x3bc1d88b8]
call fcn.3bc1c1292
mov ebp, 0x40000004
jmp 0x3bc1cb3b3
mov dword [rsp + 0x20], 0xfd
lea r9, str.H:_Projects_rdp_bot_codebase_registry.c
lea r8, str._key___NULL_
lea rdx, str.registry_get_value
lea rcx, [0x3bc1d88b8]
call fcn.3bc1c1292
mov ebp, 0x40000004
jmp 0x3bc1cb3b3
mov dword [rsp + 0x20], 0xfe
lea r9, str.H:_Projects_rdp_bot_codebase_registry.c
lea r8, [0x3bc1d8d3f]
lea rdx, str.registry_get_value
lea rcx, [0x3bc1d88b8]
call fcn.3bc1c1292
mov ebp, 0x40000004
jmp 0x3bc1cb3b3
mov dword [rsp + 0x20], 0xff
lea r9, str.H:_Projects_rdp_bot_codebase_registry.c
lea r8, str._value_sz___NULL_
lea rdx, str.registry_get_value
lea rcx, [0x3bc1d88b8]
call fcn.3bc1c1292
mov ebp, 0x40000004
jmp 0x3bc1cb3b3
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbp
mov r9d, 0
mov r8d, 0
mov rdx, rdi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebp, eax
test eax, eax
je 0x3bc1cb3a3
test rdi, rdi
je 0x3bc1cb2de
mov rax, rdi
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, rsi
lea rdx, str.registry_get_value
lea rcx, str._E____s_____RegQueryValueA_failed_root0x_p_key_s_param_s_res_lu__n
call fcn.3bc1c1292
cmp ebp, 0x20
jg 0x3bc1cb31b
test ebp, ebp
js 0x3bc1cb2e7
cmp ebp, 0x20
ja case.0x3bc1cb2dc.1
mov ebp, ebp
lea rdx, [0x3bc1d8edc]
movsxd rax, dword [rdx + rbp*4]
add rax, rdx
jmp rax
lea rax, [0x3bc1d8860]
jmp 0x3bc1cb29c
cmp ebp, 0x80070005
je 0x3bc1cb395
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
mov ebp, 0x40000009
jmp 0x3bc1cb3a8
mov ebp, 0
jmp 0x3bc1cb3a8
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
cmp ebp, 0x91
je 0x3bc1cb41f
cmp ebp, 0x91
jg 0x3bc1cb357
cmp ebp, 0x50
je 0x3bc1cb426
cmp ebp, 0x50
jl 0x3bc1cb430
sub ebp, 0x7e
cmp ebp, 1
ja 0x3bc1cb350
mov ebp, 0x40000003
jmp 0x3bc1cb3a8
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
cmp ebp, 0xb7
je 0x3bc1cb43a
cmp ebp, 0xb7
jg 0x3bc1cb444
cmp ebp, 0x94
je 0x3bc1cb44e
cmp ebp, 0xaa
jne 0x3bc1cb458
mov ebp, 0x4000000d
jmp 0x3bc1cb3a8
mov ebp, 0x40000003
jmp 0x3bc1cb3a8
mov ebp, 0x40000009
jmp 0x3bc1cb3a8
mov ebp, 0x4000000d
jmp 0x3bc1cb3a8
mov ebp, 0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebp, ebp
setne al
test r13, r13
setne dl
test dl, al
je 0x3bc1cb561
mov qword [r13], 0
mov eax, ebp
and eax, 0x3fffffff
test rdi, rdi
je 0x3bc1cb58c
test rbx, rbx
je 0x3bc1cb598
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rsi
lea rdx, str.registry_get_value
lea rcx, str._E____s_____Failed_root0x_p_key_s_param_s_err_08x__n
call fcn.3bc1c1292
mov eax, ebp
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ebp, 0x40000008
jmp 0x3bc1cb3a8
mov ebp, 0x4000000d
jmp 0x3bc1cb3a8
mov ebp, 0x40000007
jmp 0x3bc1cb3a8
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
mov ebp, 0x40000007
jmp 0x3bc1cb3a8
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
mov ebp, 0x4000000d
jmp 0x3bc1cb3a8
mov ebp, 0x40000001
jmp 0x3bc1cb3a8
cmp r12d, 0x80070005
je 0x3bc1cb4fd
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
mov ebp, 0x40000009
jmp 0x3bc1cb3b3
mov ebp, 0
jmp 0x3bc1cb3b3
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
cmp r12d, 0x91
je 0x3bc1cb51b
jg 0x3bc1cb4cc
cmp r12d, 0x50
je 0x3bc1cb525
jl 0x3bc1cb52f
sub r12d, 0x7e
cmp r12d, 1
ja 0x3bc1cb4c2
mov ebp, 0x40000003
jmp 0x3bc1cb3b3
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
cmp r12d, 0xb7
je 0x3bc1cb539
jg 0x3bc1cb543
cmp r12d, 0x94
je 0x3bc1cb54d
cmp r12d, 0xaa
jne 0x3bc1cb557
mov ebp, 0x4000000d
jmp 0x3bc1cb3b3
mov ebp, 0x40000003
jmp 0x3bc1cb3b3
mov ebp, 0x40000009
jmp 0x3bc1cb3b3
mov ebp, 0x4000000d
jmp 0x3bc1cb3b3
mov ebp, 0x40000008
jmp 0x3bc1cb3b3
mov ebp, 0x4000000d
jmp 0x3bc1cb3b3
mov ebp, 0x40000007
jmp 0x3bc1cb3b3
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
mov ebp, 0x40000007
jmp 0x3bc1cb3b3
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
mov ebp, 0x4000000d
jmp 0x3bc1cb3b3
mov ebp, 0x40000001
jmp 0x3bc1cb3b3
test ebp, ebp
jne 0x3bc1cb3ce
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rsi
lea rdx, str.registry_get_value
lea rcx, str._D____s_____Done_root0x_p_key_s_param_s__n
call fcn.3bc1c1292
jmp 0x3bc1cb409
lea rdi, [0x3bc1d8860]
jmp 0x3bc1cb3de
lea rbx, [0x3bc1d8860]
jmp 0x3bc1cb3e7