Function at 0x140038694
Capabilities:
Persist via run registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov byte [rax + 0x18], r8b
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp + 0x1f], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r15b, dl
mov r14, rcx
xor r12d, r12d
mov dword [rbp - 0x21], r12d
mov eax, dword [0x1401a17b8]
lea r13, [0x1401979a8]
lea edi, [r12 + 1]
test dil, al
jne 0x140038718
or eax, edi
mov dword [0x1401a17b8], eax
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1401a17c0], rax
lea rcx, [0x1401020d4]
call fcn.1400b9720
nop
mov eax, dword [0x1401a17b8]
test al, 2
jne 0x140038750
or eax, 2
mov dword [0x1401a17b8], eax
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1401a17b0], rax
lea rcx, [0x1401020a4]
call fcn.1400b9720
nop
mov eax, dword [0x1401a17b8]
test al, 4
jne 0x140038788
or eax, 4
mov dword [0x1401a17b8], eax
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1401a17a8], rax
lea rcx, [0x140102074]
call fcn.1400b9720
nop
mov eax, dword [0x1401a17b8]
test al, 8
jne 0x1400387ba
or eax, 8
mov dword [0x1401a17b8], eax
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1401a17c8], rax
lea rcx, [0x140102044]
call fcn.1400b9720
nop
mov rax, qword [0x1401a17b0]
cmp dword [rax - 0x10], r12d
je 0x140038813
mov ecx, r12d
mov rax, qword [0x1401a0cd8]
test rax, rax
setne cl
test ecx, ecx
jne 0x1400387e6
mov ecx, 0x80004005
call fcn.140001874
int3
mov rcx, qword [0x1401a17c8]
sub rax, rcx
movzx edx, word [rcx]
cmp dx, word [rcx + rax]
jne 0x140038807
add rcx, 2
test dx, dx
jne 0x1400387f0
mov eax, r12d
jmp 0x14003880b
sbb eax, eax
or eax, edi
test eax, eax
je 0x14003914c
lea rdx, [0x1401a0cd8]
lea rcx, [0x1401a17c8]
call fcn.140001d7c
lea rcx, [0x1401a17c0]
call fcn.140001c0c
lea rcx, [0x1401a17b0]
call fcn.140001c0c
lea rcx, [0x1401a17a8]
call fcn.140001c0c
mov esi, r12d
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x31], rbx
mov rcx, r13
mov rax, qword [0x1401979a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x29], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.Volatile_Environment
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov r13d, 0x82
test eax, eax
jne 0x140038ac5
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140038ab5
mov dword [rbp + 0x77], 0x104
mov ecx, edi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r13d
or eax, ecx
jge 0x140038909
mov edx, r13d
lea rcx, [rbp - 0x31]
call fcn.140001f54
mov rbx, qword [rbp - 0x31]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x7f]
xor r8d, r8d
lea rdx, str.AppData
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003895f
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400b9bfc
test eax, eax
js 0x140038954
cmp eax, dword [rbx - 0xc]
jg 0x140038954
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r12w
jmp 0x14003896c
mov ecx, 0x80070057
call fcn.140001874
int3
lea rcx, [rbp - 0x31]
call fcn.140001c0c
mov rbx, qword [rbp - 0x31]
mov dword [rbp + 0x77], 0x104
mov rax, qword [0x1401a17c0]
mov edx, edi
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, r13d
or ecx, edx
jge 0x14003899f
mov edx, r13d
lea rcx, [0x1401a17c0]
call fcn.140001f54
mov rax, qword [0x1401a17c0]
lea rcx, [rbp + 0x77]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x7f]
xor r8d, r8d
lea rdx, str.Local_AppData
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038a08
mov rcx, qword [0x1401a17c0]
movsxd rdx, dword [rcx - 0xc]
call fcn.1400b9bfc
test eax, eax
js 0x1400389fd
mov rcx, qword [0x1401a17c0]
cmp eax, dword [rcx - 0xc]
jg 0x1400389fd
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [0x1401a17c0]
mov word [rax + rcx*2], r12w
jmp 0x140038a14
mov ecx, 0x80070057
call fcn.140001874
int3
lea rcx, [0x1401a17c0]
call fcn.140001c0c
mov dword [rbp + 0x77], 0x104
mov rax, qword [rbp - 0x29]
mov ecx, edi
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, r13d
or eax, ecx
jge 0x140038a3a
mov edx, r13d
lea rcx, [rbp - 0x29]
call fcn.140001f54
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov rdi, qword [rbp - 0x29]
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x7f]
xor r8d, r8d
lea rdx, str.A520A1A4_1780_4FF6_BD18_167343C5AF16
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038a94
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.1400b9bfc
test eax, eax
js 0x140038a89
cmp eax, dword [rdi - 0xc]
jg 0x140038a89
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r12w
jmp 0x140038aa4
mov ecx, 0x80070057
call fcn.140001874
int3
lea rdx, [0x1401a17c0]
lea rcx, [rbp - 0x29]
call fcn.140001d7c
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, 1
jmp 0x140038ac5
lea rdx, [0x1401a17c0]
lea rcx, [rbp - 0x29]
call fcn.140001d7c
call fcn.140038460
or r13, 0xffffffffffffffff
test al, al
je 0x140038e66
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftInternet_ExplorerMain
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140038ccc
mov dword [rbp + 0x77], 0x104
lea ecx, [rax + 1]
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov edx, 0x82
sub eax, edx
or eax, ecx
jge 0x140038b2c
lea rcx, [rbp - 0x31]
call fcn.140001f54
mov rbx, qword [rbp - 0x31]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x7f]
xor r8d, r8d
lea rdx, str.Isolation
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038cb3
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400b9bfc
test eax, eax
js 0x140038ca8
cmp eax, dword [rbx - 0xc]
jg 0x140038ca8
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r12w
call fcn.14003819c
test al, al
jne 0x140038bd3
mov eax, dword [str.Ztp7vp]
mov dword [rbp - 0x1d], eax
movzx eax, word [0x140132d38]
mov word [rbp - 0x19], ax
mov al, byte [0x140132d3a]
mov byte [rbp - 0x17], al
lea rax, [rbp - 0x1d]
mov rcx, r13
inc rcx
cmp byte [rax + rcx], r12b
jne 0x140038bae
mov eax, 4
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400b8688
mov rcx, rax
call fcn.1400ba0bc
mov dil, r12b
mov r8d, dword [0x14019fd80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 2
jne 0x140038c16
mov ecx, 4
call fcn.1400b97c8
mov r8d, dword [0x14019fd80]
mov dword [rax], r8d
cmp dword [rbx - 0x10], r12d
jl 0x140038c47
lea rdx, str.PMIL
mov rcx, rbx
call fcn.1400b9dcc
mov r8d, dword [0x14019fd80]
test rax, rax
je 0x140038c47
sub rax, rbx
sar rax, 1
test eax, eax
mov eax, 1
cmove esi, eax
mov ecx, r8d
imul ecx, r8d
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 7
jne 0x140038cb3
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400b8688
mov rcx, rax
call fcn.1400ba0bc
jmp 0x140038cb3
mov ecx, 0x80070057
call fcn.140001874
int3
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test dil, dil
jne 0x140038ccc
mov edi, 1
jmp 0x140038e68
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftInternet_ExplorerAdvancedOptionsCRYPTOPROTECTEDMODESECURITY
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, 1
test eax, eax
jne 0x140038e66
mov dword [rbp + 0x77], 0x104
mov ecx, edi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov edx, 0x82
sub eax, edx
or eax, ecx
jge 0x140038d26
lea rcx, [rbp - 0x31]
call fcn.140001f54
mov rbx, qword [rbp - 0x31]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x7f]
xor r8d, r8d
lea rdx, str.DefaultValue
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
call fcn.140038240
test al, al
jne 0x140038d96
mov ecx, dword [0x14019fd80]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ecx, edx
add ecx, 0x2f4
movsxd rcx, ecx
mov eax, 4
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400b8688
mov rcx, rax
call fcn.1400ba0bc
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400b9bfc
test eax, eax
js 0x140038e5b
cmp eax, dword [rbx - 0xc]
jg 0x140038e5b
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r12w
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rbx - 0x10], r12d
jl 0x140038dec
lea rdx, str.PMIL
mov rcx, rbx
call fcn.1400b9dcc
test rax, rax
je 0x140038dec
sub rax, rbx
sar rax, 1
test eax, eax
cmove esi, edi
mov r9d, dword [0x14019fd80]
mov r8d, r9d
imul r8d, r9d
imul r8d, r9d
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 6
jne 0x140038e6f
mov eax, 0x51eb851f
imul r9d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x64
sub r9d, edx
add r9d, 0x141
movsxd rcx, r9d
lea eax, [r8 - 2]
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400b8688
mov rcx, rax
call fcn.1400ba0bc
jmp 0x140038e68
mov ecx, 0x80070057
call fcn.140001874
int3
mov esi, edi
mov r9d, dword [0x14019fd80]
mov rbx, 0xffffffff80000002
cmp qword [0x14019ad58], rbx
je 0x140038ed8
test esi, esi
je 0x140038f00
call fcn.14003848c
test al, al
je 0x140038ed8
cmp byte [0x14019fea4], r12b
jne 0x140038ed8
lea rdx, str.Software_
lea rcx, [rbp - 0x11]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [0x1401a17b0]
call fcn.140001d7c
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140038eeb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140038eeb
lea rdx, [0x1401a0cd8]
lea rcx, [0x1401a17b0]
call fcn.140001d7c
lea rdx, [rbp - 0x29]
lea rcx, [0x1401a17c0]
call fcn.140001d7c
jmp 0x140038f97
lea ecx, [r9 + 2]
lea eax, [r9 + 1]
imul ecx, eax
imul ecx, r9d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 0xc
jne 0x140038f34
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileType]
call fcn.14003852c
test al, al
jne 0x140038f56
mov r8d, 0x1e
lea rdx, str.Packageswindows_ie_ac_001AC
lea rcx, [0x1401a17c0]
call fcn.14000df38
lea rdx, str.SoftwareClassesLocal_SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStoragewindows_ie_ac_001Software_
lea rcx, [rbp + 0x17]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [0x1401a17b0]
call fcn.140001d7c
nop
mov rdx, qword [rbp + 0x17]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140038f97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [0x1401a17b0]
cmp dword [rcx - 0x10], r12d
jl 0x140038fd8
lea rdx, str.windows_ie_ac_001
call fcn.1400b9dcc
test rax, rax
je 0x140038fd8
sub rax, qword [0x1401a17b0]
sar rax, 1
test eax, eax
jle 0x140038fd8
lea rdx, [0x1401a0cd8]
lea rcx, [0x1401a17a8]
call fcn.140001d7c
jmp 0x140039052
call fcn.14003848c
test al, al
je 0x140039011
cmp byte [0x14019fea4], r12b
jne 0x140039011
lea rdx, str.Software_
lea rcx, [rbp + 7]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [0x1401a17a8]
call fcn.140001d7c
nop
mov rdx, qword [rbp + 7]
jmp 0x140039036
lea rdx, str.SoftwareClassesLocal_SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStoragewindows_ie_ac_001Software_
lea rcx, [rbp - 9]
call fcn.140001cb0
nop
mov rdx, rax
lea rcx, [0x1401a17a8]
call fcn.140001d7c
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x140039052
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [0x14019ad58], rbx
je 0x1400390e4
cmp byte [0x14019ac22], r12b
je 0x1400390e4
lea rcx, [rbp - 1]
call fcn.1400383b4
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [0x1401a17b0]
call fcn.14000df38
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400390a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp + 0xf]
call fcn.1400383b4
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [0x1401a17a8]
call fcn.14000df38
nop
mov rdx, qword [rbp + 0xf]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400390e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [0x14019ad58]
lea rcx, [0x1401a17b0]
call fcn.140039190
mov rdx, qword [0x14019ad58]
lea rcx, [0x1401a17a8]
call fcn.140039190
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003912c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003914c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r14
test r15b, r15b
je 0x140039162
lea rdx, [0x1401a17a8]
call fcn.14000291c
jmp 0x14003916e
lea rdx, [0x1401a17b0]
call fcn.14000291c
mov dword [rbp - 0x21], edi
mov rax, r14
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret