Function at 0x180044510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov rax, qword [0x18009a918]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x88], rdx
mov rsi, rcx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x70], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
test rcx, rcx
jne 0x1800445a0
mov eax, 0xc00000ef
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.18005e1d0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test rdx, rdx
jne 0x1800445ac
mov eax, 0xc00000f0
jmp 0x180044573
mov r14, qword [rcx + 8]
mov qword [rsp + 0x48], r14
movzx r15d, word [rcx]
mov word [rsp + 0x34], r15w
movzx eax, word [rcx + 2]
mov word [rsp + 0x40], ax
mov dword [rsp + 0x3c], r13d
mov r8b, 1
lea rdx, [0x18009cd80]
call fcn.180049de0
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044631
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044625
test byte [rcx + 0x1c], 1
je 0x180044625
cmp byte [rcx + 0x19], 2
jb 0x180044625
mov edx, 0x31
mov dword [rsp + 0x20], eax
lea r9, str.UstrBeginsWith
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
lea r12, [0x180092098]
jmp 0x180045394
mov qword [0x18009c920], rsi
cmp eax, 0x68000008
je 0x18004465b
mov ebx, 0xe8020001
mov dword [rsp + 0x30], ebx
lea rdi, [0x18009b358]
lea r12, [0x180092098]
jmp 0x180045394
movzx eax, word [0x18009cd80]
shr rax, 1
add rax, rax
add qword [rsi + 8], rax
movzx eax, word [0x18009cd80]
sub word [rsi], ax
movzx eax, word [0x18009cd80]
sub word [rsi + 2], ax
mov r8b, 1
lea rdx, [0x18009cd30]
mov rcx, rsi
call fcn.180049de0
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x1800446eb
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x18004531d
test byte [rcx + 0x1c], 1
je 0x18004531d
cmp byte [rcx + 0x19], 2
jb 0x18004531d
mov edx, 0x32
mov dword [rsp + 0x20], eax
lea r9, str.UstrBeginsWith
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
jmp 0x18004531d
cmp eax, 0x68000008
jne 0x1800448f7
movzx eax, word [0x18009cd30]
shr rax, 1
add rax, rax
add qword [rsi + 8], rax
movzx eax, word [0x18009cd30]
sub word [rsi], ax
movzx eax, word [0x18009cd30]
sub word [rsi + 2], ax
mov dword [rsp + 0x3c], r13d
mov ebx, r13d
mov r15d, 0x5c
nop word [rax + rax]
movzx edi, word [rsi]
mov eax, edi
shr eax, 1
mov r14d, ebx
cmp ebx, eax
jae 0x180044751
mov rax, qword [rsi + 8]
cmp r15w, word [rax + r14*2]
je 0x180044751
inc ebx
mov dword [rsp + 0x3c], ebx
jmp 0x180044730
add bx, bx
mov word [rsi], bx
mov r9d, 0x79a
movzx r8d, bx
shr r8w, 1
lea r12, [0x180092098]
mov qword [rsp + 0x20], r12
mov rdx, qword [0x18009c8f8]
lea rcx, [rsp + 0x70]
call fcn.180049c60
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x1800447da
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x33
lea r9, str.UstrAllocAndInitFromUstr
mov dword [rsp + 0x20], eax
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
jmp 0x180045324
mov rdx, rsi
mov rcx, qword [rsp + 0x70]
call fcn.180049e30
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044828
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x34
lea r9, str.UstrCat
jmp 0x1800447c1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x90], rax
lea r9, [rsp + 0x90]
lea r8, [0x180043020]
lea rdx, [0x180042d00]
mov rcx, qword [0x18009c900]
call fcn.18004b830
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x18004489b
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x35
lea r9, str.LstWalkAndInsert_InsertHiveCallback
jmp 0x1800447c1
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0x58], r13
mov word [rsi], di
mov rax, qword [rsi + 8]
lea rax, [rax + r14*2]
mov qword [rsi + 8], rax
sub di, bx
mov word [rsi], di
movzx ecx, word [rsi + 2]
sub cx, bx
mov word [rsi + 2], cx
cmp di, 2
jb 0x1800448eb
cmp r15w, word [rax]
jne 0x1800448eb
add rax, 2
mov qword [rsi + 8], rax
sub di, 2
mov word [rsi], di
sub cx, 2
mov word [rsi + 2], cx
lea rdi, [0x18009b358]
jmp 0x180045324
mov r8b, 1
lea rdx, [0x18009cd90]
mov rcx, rsi
call fcn.180049de0
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044946
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x18004531d
test byte [rcx + 0x1c], 1
je 0x18004531d
cmp byte [rcx + 0x19], 2
jb 0x18004531d
mov edx, 0x36
jmp 0x1800446cb
cmp eax, 0x68000008
jne 0x180045316
movzx eax, word [0x18009cd90]
shr rax, 1
add rax, rax
add qword [rsi + 8], rax
movzx eax, word [0x18009cd90]
sub word [rsi], ax
movzx eax, word [0x18009cd90]
sub word [rsi + 2], ax
mov r15d, r13d
mov dword [rsp + 0x3c], r13d
mov edx, r13d
mov ebx, 0x5c
nop word [rax + rax]
movzx r14d, word [rsi]
mov dword [rsp + 0x38], r14d
mov eax, r14d
shr eax, 1
cmp edx, eax
jae 0x1800449bc
mov ecx, edx
mov rax, qword [rsi + 8]
cmp bx, word [rax + rcx*2]
je 0x1800449bc
lea r15d, [rdx + 1]
mov dword [rsp + 0x3c], r15d
mov edx, r15d
jmp 0x180044990
add dx, dx
mov word [rsi], dx
mov r8b, 1
lea rdx, [0x18009cdb0]
mov rcx, rsi
call fcn.180049de0
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044a11
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x18004531d
test byte [rcx + 0x1c], 1
je 0x18004531d
cmp byte [rcx + 0x19], 2
jb 0x18004531d
mov edx, 0x37
jmp 0x1800446cb
cmp eax, 0x68000008
jne 0x180044b04
mov r9d, 0x807
movzx r8d, word [rsi]
shr r8w, 1
dec r8w
lea r12, [0x180092098]
mov qword [rsp + 0x20], r12
mov rdx, qword [0x18009c8f8]
lea rcx, [rsp + 0x70]
call fcn.180049c60
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044a88
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x38
jmp 0x1800447ba
add qword [rsi + 8], 2
mov eax, 0xfffe
add word [rsi], ax
add word [rsi + 2], ax
mov rdx, rsi
mov rcx, qword [rsp + 0x70]
call fcn.180049e30
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044aea
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x39
lea r9, str.UstrCat
jmp 0x1800447c1
add qword [rsi + 8], 0xfffffffffffffffe
add word [rsi], 2
add word [rsi + 2], 2
lea rdi, [0x18009b358]
jmp 0x18004524f
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x44], r13d
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xc0], xmm0
mov r15d, r13d
mov dword [rsp + 0x3c], r13d
mov edx, r13d
movzx eax, word [rsi]
shr eax, 1
cmp edx, eax
jae 0x180044b67
mov ecx, edx
mov rax, qword [rsi + 8]
cmp bx, word [rax + rcx*2]
je 0x180044b67
lea r15d, [rdx + 1]
mov dword [rsp + 0x3c], r15d
mov edx, r15d
jmp 0x180044b44
mov r9d, 0x842
lea r12, [0x180092098]
mov qword [rsp + 0x20], r12
movzx r8d, r15w
lea rdx, [0x18009cd60]
lea rcx, [rsp + 0x80]
call fcn.180049c60
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044beb
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x1800451a6
test byte [rcx + 0x1c], 1
je 0x1800451a6
cmp byte [rcx + 0x19], 2
jb 0x1800451a6
mov edx, 0x3a
lea r9, str.UstrAllocAndInitBufferFromUstr
mov dword [rsp + 0x20], eax
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
jmp 0x1800451a6
movzx r8d, r15w
mov rdx, rsi
mov rcx, qword [rsp + 0x80]
call fcn.180049ec0
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044c42
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x1800451a6
test byte [rcx + 0x1c], 1
je 0x1800451a6
cmp byte [rcx + 0x19], 2
jb 0x1800451a6
mov edx, 0x3b
lea r9, str.UstrCatN
jmp 0x180044bd2
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.180044510
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044c9a
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x1800451a6
test byte [rcx + 0x1c], 1
je 0x1800451a6
cmp byte [rcx + 0x19], 2
jb 0x1800451a6
mov edx, 0x3c
lea r9, str.RrOpenKey
jmp 0x180044bd2
cmp byte [0x18009b380], 0
je 0x180044cce
mov eax, 0x85c
mov qword [rsp + 0x28], r12
mov word [rsp + 0x20], ax
xor r9d, r9d
mov edx, 0x3e8
mov r8d, 0x42455252
lea rcx, [0x18009cc40]
call fcn.18004b960
jmp 0x180044cea
xor edx, edx
mov r8d, 0x3e8
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b430]
call qword [0x18007d538]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x180044d02
mov ebx, 0xc000009a
mov dword [rsp + 0x30], ebx
jmp 0x18004519f
lea rdx, [rsp + 0x3c]
mov rcx, qword [rsp + 0x78]
call fcn.180044220
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044d57
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x1800451a6
test byte [rcx + 0x1c], 1
je 0x1800451a6
cmp byte [rcx + 0x19], 2
jb 0x1800451a6
mov edx, 0x3d
lea r9, str.RrGetValueCount
jmp 0x180044bd2
mov r14d, r13d
mov dword [rsp + 0x50], r13d
mov r13d, dword [rsp + 0x3c]
mov edi, 0x87a
cmp r14d, r13d
jae 0x180045197
cmp qword [rsp + 0x78], 0
jne 0x180044d85
mov ebx, 0xc00000ef
mov dword [rsp + 0x30], ebx
jmp 0x180044dc4
cmp qword [rsp + 0x68], 0
jne 0x180044d98
mov ebx, 0xc00000f2
mov dword [rsp + 0x30], ebx
jmp 0x180044dc4
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 0x3e8
mov r8, qword [rsp + 0x68]
mov edx, r14d
mov rcx, qword [rsp + 0x78]
call fcn.180046450
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044e18
cmp ebx, 0xc0000023
je 0x180044e24
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x3e
mov dword [rsp + 0x20], ebx
lea r9, str.RrGetValue
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
xor r13d, r13d
mov r14d, dword [rsp + 0x38]
jmp 0x1800451a6
cmp ebx, 0xc0000023
jne 0x180044f52
cmp qword [rsp + 0x68], 0
je 0x180044e7d
cmp byte [0x18009b380], 0
je 0x180044e59
mov r9d, 0x879
mov qword [rsp + 0x20], r12
mov r8d, 0x42455252
lea rdx, [rsp + 0x68]
lea rcx, [0x18009cc40]
call fcn.18004be40
jmp 0x180044e74
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b440]
call qword [0x18007d538]
mov qword [rsp + 0x68], 0
mov eax, dword [rsp + 0x44]
add eax, eax
cmp byte [0x18009b380], 0
je 0x180044eaf
mov qword [rsp + 0x28], r12
mov word [rsp + 0x20], di
xor r9d, r9d
mov r8d, 0x42455252
mov edx, eax
lea rcx, [0x18009cc40]
call fcn.18004b960
jmp 0x180044ec8
mov r8d, eax
xor edx, edx
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b430]
call qword [0x18007d538]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x180044ee0
mov ebx, 0xc000009a
mov dword [rsp + 0x30], ebx
jmp 0x180045197
cmp qword [rsp + 0x78], 0
jne 0x180044ef3
mov ebx, 0xc00000ef
mov dword [rsp + 0x30], ebx
jmp 0x180044f1d
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x20], rcx
mov r9d, 0x3e8
mov r8, rax
mov edx, r14d
mov rcx, qword [rsp + 0x78]
call fcn.180046450
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180044f52
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x3f
jmp 0x180044df0
mov rdi, qword [rsp + 0x68]
mov eax, dword [rdi + 4]
dec eax
cmp eax, 1
jbe 0x180044f6e
inc r14d
mov dword [rsp + 0x50], r14d
jmp 0x180044d64
mov rax, qword [rsp + 0x68]
movzx ecx, word [rax + 0x10]
mov word [rsp + 0xb2], cx
mov word [rsp + 0xb0], cx
lea rax, [rdi + 0x14]
mov qword [rsp + 0xb8], rax
movzx eax, word [0x18009cd70]
cmp cx, ax
mov r9d, ecx
ja 0x180044fa5
mov r9d, eax
shr r9d, 1
mov qword [rsp + 0x20], 0
mov r8b, 1
lea rdx, [0x18009cd70]
lea rcx, [rsp + 0xb0]
call fcn.18004a130
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180045012
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x40
mov dword [rsp + 0x20], eax
lea r9, str.UstrCmpN
jmp 0x180044dfb
cmp eax, 0x68000008
jne 0x18004518a
movzx edx, word [rdi + 0xc]
mov word [rsp + 0xa2], dx
mov word [rsp + 0xa0], dx
mov ecx, dword [rdi + 8]
add rcx, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rcx
mov eax, edx
shr rax, 1
cmp word [rcx + rax*2 - 2], 0
jne 0x18004505a
sub dx, 2
mov word [rsp + 0xa0], dx
mov r9d, 0x8ac
movzx r8d, word [0x18009cd40]
shr r8w, 1
mov qword [rsp + 0x20], r12
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.180049ae0
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x1800450d0
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x41
mov dword [rsp + 0x20], eax
lea r9, str.UstrAllocAndInitBufferFromUstr
jmp 0x180044dfb
lea rdx, [0x18009cd40]
lea rcx, [rsp + 0xc0]
call fcn.180049e30
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x18004512e
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x42
mov dword [rsp + 0x20], eax
lea r9, str.UstrCat
jmp 0x180044dfb
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xc0]
call fcn.180042aa0
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180045197
lea rdi, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180044e0b
test byte [rcx + 0x1c], 1
je 0x180044e0b
cmp byte [rcx + 0x19], 2
jb 0x180044e0b
mov edx, 0x43
mov dword [rsp + 0x20], eax
lea r9, str.ExpandEnvironmentStringsUc
jmp 0x180044dfb
inc r14d
mov dword [rsp + 0x50], r14d
jmp 0x180044d64
xor r13d, r13d
mov r14d, dword [rsp + 0x38]
lea rdi, [0x18009b358]
cmp qword [rsp + 0x78], 0
je 0x1800451b8
lea rcx, [rsp + 0x78]
call fcn.1800407f0
cmp qword [rsp + 0x80], 0
je 0x1800451d8
mov edx, 0x8d0
mov r8, r12
lea rcx, [rsp + 0x80]
call fcn.18004a470
cmp qword [rsp + 0x68], 0
je 0x18004522d
cmp byte [0x18009b380], 0
je 0x18004520d
mov r9d, 0x8d5
mov qword [rsp + 0x20], r12
mov r8d, 0x42455252
lea rdx, [rsp + 0x68]
lea rcx, [0x18009cc40]
call fcn.18004be40
jmp 0x180045228
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [0x18009ccf0]
mov rax, qword [0x18009b440]
call qword [0x18007d538]
mov qword [rsp + 0x68], r13
mov edx, 0x8d8
mov r8, r12
lea rcx, [rsp + 0xc0]
call fcn.18004a4f0
test ebx, ebx
js 0x180045324
mov ebx, 0x5c
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x90], rax
lea r9, [rsp + 0x90]
lea r8, [0x180043020]
lea rdx, [0x180042d00]
mov rcx, qword [0x18009c900]
call fcn.18004b830
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x1800452b7
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045324
test byte [rcx + 0x1c], 1
je 0x180045324
cmp byte [rcx + 0x19], 2
jb 0x180045324
mov edx, 0x44
lea r9, str.LstWalkAndInsert_InsertHiveCallback
jmp 0x1800447c1
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0x58], r13
mov word [rsi], r14w
mov ecx, r15d
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*2]
mov qword [rsi + 8], rax
add r15w, r15w
sub r14w, r15w
mov word [rsi], r14w
movzx ecx, word [rsi + 2]
sub cx, r15w
mov word [rsi + 2], cx
cmp r14w, 2
jb 0x180045324
cmp bx, word [rax]
jne 0x180045324
add rax, 2
mov qword [rsi + 8], rax
sub r14w, 2
mov word [rsi], r14w
sub cx, 2
mov word [rsi + 2], cx
jmp 0x180045324
lea rdi, [0x18009b358]
lea r12, [0x180092098]
test r13, r13
jne 0x180045334
mov ebx, 0xe8020000
mov dword [rsp + 0x30], ebx
jmp 0x180045389
mov r8, qword [rsp + 0x88]
mov rdx, rsi
mov rcx, r13
call fcn.180043f10
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x180045389
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x180045389
test byte [rcx + 0x1c], 1
je 0x180045389
cmp byte [rcx + 0x19], 2
jb 0x180045389
mov edx, 0x45
mov dword [rsp + 0x20], eax
lea r9, str.RrOpenKeyWithHive
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
movzx r15d, word [rsp + 0x34]
mov r14, qword [rsp + 0x48]
test ebx, ebx
jns 0x1800453f4
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800453f9
mov r8, rcx
lea rdx, [0x180042e80]
mov rcx, qword [0x18009c900]
call fcn.18004b720
test eax, eax
jns 0x1800453f4
mov rcx, qword [0x18009b358]
cmp rcx, rdi
je 0x1800453f4
test byte [rcx + 0x1c], 1
je 0x1800453f4
cmp byte [rcx + 0x19], 2
jb 0x1800453f4
mov edx, 0x46
mov dword [rsp + 0x20], eax
lea r9, str.LstWalk_DestroyHiveByPathCallback
lea r8, [0x180092088]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
mov rcx, qword [rsp + 0x70]
test r13, r13
je 0x180045418
mov qword [rsp + 0x88], r13
lea rcx, [rsp + 0x88]
call fcn.18004f370
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180045446
lea rax, [rcx + 0x10]
cmp qword [rcx + 8], rax
je 0x180045434
mov edx, 0x934
mov r8, r12
call fcn.18004a4f0
mov edx, 0x936
mov r8, r12
lea rcx, [rsp + 0x70]
call fcn.18004a470
mov qword [rsi + 8], r14
mov word [rsi], r15w
movzx eax, word [rsp + 0x40]
mov word [rsi + 2], ax
mov eax, ebx
jmp 0x180044573