Function at 0x41b440
Capabilities:
Print debug messages
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45978e
mov eax, dword fs:[0]
push eax
mov eax, 0x4634
call fcn.00447f80
mov eax, dword [0x4724e4]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4258], 0x20019
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x41b493
mov ecx, dword [ebp - 0x4258]
or ecx, 0x100
mov dword [ebp - 0x4258], ecx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x4258]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x41b4c1
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x41bd41
mov cl, byte [0x460ada]
mov byte [ebp - 0x413c], cl
push 0x103
push 0
lea edx, [ebp - 0x413b]
push edx
call fcn.004463a0
add esp, 0xc
mov dword [ebp - 0x24], 0x104
mov dword [ebp - 0x4034], 0
mov dword [ebp - 0x425c], 0x3fff
lea eax, [ebp - 0x424c]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x4030]
push edx
lea eax, [ebp - 0x4250]
push eax
lea ecx, [ebp - 0x4254]
push ecx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x4140]
push eax
lea ecx, [ebp - 0x4034]
push ecx
push 0
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x413c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x4034], 0
je 0x41b61e
mov dword [ebp - 0x1c], 0
jmp 0x41b569
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x4034]
jae 0x41b61e
mov dword [ebp - 0x18], 0xff
lea ecx, [ebp - 0x424c]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x4244]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x41b619
push 0x460adb
lea ecx, [ebp - 0x4278]
call fcn.00405ba0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x4278]
call fcn.00404660
push 0x460fa4
lea ecx, [ebp - 0x4278]
call fcn.00404660
lea ecx, [ebp - 0x4244]
push ecx
lea ecx, [ebp - 0x4278]
call fcn.00404660
lea edx, [ebp - 0x4278]
push edx
mov ecx, 0x488c30
call fcn.00423080
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4278]
call fcn.00405310
jmp 0x41b560
cmp dword [ebp - 0x4254], 0
je 0x41bd37
mov byte [ebp - 0x4295], 0
push 0x460ae2
lea ecx, [ebp - 0x4294]
call fcn.00405ba0
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0
jmp 0x41b662
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x4254]
jae 0x41bd25
mov dword [ebp - 0x425c], 0x3fff
mov byte [ebp - 0x402c], 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x425c]
push edx
lea eax, [ebp - 0x402c]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x41bd20
mov byte [ebp - 0x43e4], 0
push 0xfe
push 0
lea eax, [ebp - 0x43e3]
push eax
call fcn.004463a0
add esp, 0xc
mov dword [ebp - 0x43ec], 0xff
lea ecx, [ebp - 0x43ec]
push ecx
lea edx, [ebp - 0x43e4]
push edx
push 0x4738a0
push 0
lea eax, [ebp - 0x402c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x43e8], eax
cmp dword [ebp - 0x43e8], 0
jne 0x41bd20
lea edx, [ebp - 0x402c]
push edx
lea ecx, [ebp - 0x4444]
call fcn.00405ba0
mov byte [ebp - 4], 2
push 0x460fa8
lea ecx, [ebp - 0x4408]
call fcn.00405ba0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4408]
call fcn.004052f0
mov dword [ebp - 0x45f4], eax
lea ecx, [ebp - 0x4444]
call fcn.004052f0
mov dword [ebp - 0x45f8], eax
mov eax, dword [ebp - 0x45f8]
mov cl, byte [eax]
mov byte [ebp - 0x45f9], cl
mov edx, dword [ebp - 0x45f4]
cmp cl, byte [edx]
jne 0x41b7bd
cmp byte [ebp - 0x45f9], 0
je 0x41b7b1
mov eax, dword [ebp - 0x45f8]
mov cl, byte [eax + 1]
mov byte [ebp - 0x45fa], cl
mov edx, dword [ebp - 0x45f4]
cmp cl, byte [edx + 1]
jne 0x41b7bd
add dword [ebp - 0x45f8], 2
add dword [ebp - 0x45f4], 2
cmp byte [ebp - 0x45fa], 0
jne 0x41b75f
mov dword [ebp - 0x4600], 0
jmp 0x41b7c8
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x4600], eax
mov ecx, dword [ebp - 0x4600]
mov dword [ebp - 0x4604], ecx
xor edx, edx
cmp dword [ebp - 0x4604], 0
sete dl
mov byte [ebp - 0x4425], dl
movzx eax, byte [ebp - 0x4425]
test eax, eax
je 0x41b803
lea ecx, [ebp - 0x43e4]
push ecx
lea ecx, [ebp - 0x4294]
call fcn.004050a0
lea edx, [ebp - 0x402c]
push edx
lea ecx, [ebp - 0x4460]
call fcn.00405ba0
mov byte [ebp - 4], 4
push 0x460fb8
lea ecx, [ebp - 0x4424]
call fcn.00405ba0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4424]
call fcn.004052f0
mov dword [ebp - 0x4608], eax
lea ecx, [ebp - 0x4460]
call fcn.004052f0
mov dword [ebp - 0x460c], eax
mov eax, dword [ebp - 0x460c]
mov cl, byte [eax]
mov byte [ebp - 0x460d], cl
mov edx, dword [ebp - 0x4608]
cmp cl, byte [edx]
jne 0x41b8ad
cmp byte [ebp - 0x460d], 0
je 0x41b8a1
mov eax, dword [ebp - 0x460c]
mov cl, byte [eax + 1]
mov byte [ebp - 0x460e], cl
mov edx, dword [ebp - 0x4608]
cmp cl, byte [edx + 1]
jne 0x41b8ad
add dword [ebp - 0x460c], 2
add dword [ebp - 0x4608], 2
cmp byte [ebp - 0x460e], 0
jne 0x41b84f
mov dword [ebp - 0x4614], 0
jmp 0x41b8b8
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x4614], eax
mov ecx, dword [ebp - 0x4614]
mov dword [ebp - 0x4618], ecx
xor edx, edx
cmp dword [ebp - 0x4618], 0
sete dl
mov byte [ebp - 0x4425], dl
movzx eax, byte [ebp - 0x4425]
test eax, eax
je 0x41b968
lea ecx, [ebp - 0x43e4]
push ecx
lea ecx, [ebp - 0x447c]
call fcn.00405ba0
mov byte [ebp - 4], 6
push 0
push str.SupportAssist
lea ecx, [ebp - 0x447c]
call fcn.004045a0
cmp eax, 0xffffffff
je 0x41b959
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x45d8], esp
push str.A3E44B1D_1AC1_414F_A7D4_0824E0A49F3A
call fcn.00405ba0
mov dword [ebp - 0x461c], eax
call fcn.0041b2f0
add esp, 0x1c
push str.______________________________________DisplayName______________________________________
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x447c]
call fcn.004052f0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x4295], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x447c]
call fcn.00405310
movzx edx, byte [ebp - 0x4295]
cmp edx, 1
jne 0x41bce4
push 0x460ae3
lea eax, [ebp - 0x4294]
push eax
call fcn.00424100
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x41bace
push 0x461058
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x4294]
call fcn.004052f0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0xbb8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x45dc], esp
lea edx, [ebp - 0x4294]
push edx
call fcn.00405060
mov dword [ebp - 0x4620], eax
call fcn.0041aea0
add esp, 0x20
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4480], eax
mov ecx, dword [ebp - 0x4480]
cmp dword [ecx + 0x7c], 0
jne 0x41ba88
push str.______________________________________DellDLG111111111111______________________________________
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x78
call fcn.00410690
mov dword [ebp - 0x45e4], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x45e4], 0
je 0x41ba31
push 0
mov ecx, dword [ebp - 0x45e4]
call fcn.00409740
mov dword [ebp - 0x4624], eax
jmp 0x41ba3b
mov dword [ebp - 0x4624], 0
mov edx, dword [ebp - 0x4624]
mov dword [ebp - 0x45e0], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x45e0]
push eax
lea ecx, [ebp - 0x44fc]
call fcn.00409740
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44fc]
call fcn.00426f03
mov ecx, dword [ebp - 0x4480]
mov dword [ecx + 0x7c], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x44fc]
call fcn.004097f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4424]
call fcn.00405310
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4460]
call fcn.00405310
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4408]
call fcn.00405310
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4444]
call fcn.00405310
jmp 0x41bd25
lea edx, [ebp - 0x402c]
push edx
lea ecx, [ebp - 0x4538]
call fcn.00405ba0
mov byte [ebp - 4], 9
push 0x461120
lea ecx, [ebp - 0x451c]
call fcn.00405ba0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x451c]
call fcn.004052f0
mov dword [ebp - 0x4628], eax
lea ecx, [ebp - 0x4538]
call fcn.004052f0
mov dword [ebp - 0x462c], eax
mov eax, dword [ebp - 0x462c]
mov cl, byte [eax]
mov byte [ebp - 0x462d], cl
mov edx, dword [ebp - 0x4628]
cmp cl, byte [edx]
jne 0x41bb78
cmp byte [ebp - 0x462d], 0
je 0x41bb6c
mov eax, dword [ebp - 0x462c]
mov cl, byte [eax + 1]
mov byte [ebp - 0x462e], cl
mov edx, dword [ebp - 0x4628]
cmp cl, byte [edx + 1]
jne 0x41bb78
add dword [ebp - 0x462c], 2
add dword [ebp - 0x4628], 2
cmp byte [ebp - 0x462e], 0
jne 0x41bb1a
mov dword [ebp - 0x4634], 0
jmp 0x41bb83
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x4634], eax
mov ecx, dword [ebp - 0x4634]
mov dword [ebp - 0x4638], ecx
xor edx, edx
cmp dword [ebp - 0x4638], 0
sete dl
mov byte [ebp - 0x44fd], dl
movzx eax, byte [ebp - 0x44fd]
test eax, eax
je 0x41bcc6
lea ecx, [ebp - 0x43e4]
push ecx
lea ecx, [ebp - 0x4554]
call fcn.00405ba0
mov byte [ebp - 4], 0xb
push str.______________________________________UninstallStringValue______________________________________
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x4554]
call fcn.004052f0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0xbb8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x45e8], esp
lea edx, [ebp - 0x4554]
push edx
call fcn.00405060
mov dword [ebp - 0x463c], eax
call fcn.0041aea0
add esp, 0x20
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4558], eax
mov ecx, dword [ebp - 0x4558]
cmp dword [ecx + 0x7c], 0
jne 0x41bcb7
push str.______________________________________DellDLG22222222222222______________________________________
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x78
call fcn.00410690
mov dword [ebp - 0x45f0], eax
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x45f0], 0
je 0x41bc60
push 0
mov ecx, dword [ebp - 0x45f0]
call fcn.00409740
mov dword [ebp - 0x4640], eax
jmp 0x41bc6a
mov dword [ebp - 0x4640], 0
mov edx, dword [ebp - 0x4640]
mov dword [ebp - 0x45ec], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x45ec]
push eax
lea ecx, [ebp - 0x45d4]
call fcn.00409740
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x45d4]
call fcn.00426f03
mov ecx, dword [ebp - 0x4558]
mov dword [ecx + 0x7c], 1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x45d4]
call fcn.004097f0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4554]
call fcn.00405310
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x451c]
call fcn.00405310
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4538]
call fcn.00405310
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4424]
call fcn.00405310
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4460]
call fcn.00405310
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4408]
call fcn.00405310
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4444]
call fcn.00405310
jmp 0x41b659
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4294]
call fcn.00405310
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.00441f6e
mov esp, ebp
pop ebp
ret