Function at 0x439820
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6d29cc
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x10a8
call fcn.0067c520
mov eax, dword [0x82d084]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
lea ecx, [ebp - 0x1070]
push 0x22
xor eax, eax
mov dword [ebp - 0x1080], esi
push str.SoftwareClientsStartMenuInternet
mov dword [ebp - 0x1034], 0
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1060], 0
mov dword [ebp - 0x105c], 7
mov word [ebp - 0x1070], ax
call fcn.0042fe00
lea ecx, [ebp - 0x1074]
mov dword [ebp - 4], 0
cmp dword [ebp - 0x105c], 8
lea eax, [ebp - 0x1070]
push ecx
cmovae eax, dword [ebp - 0x1070]
push 0x20019
push 0
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x439cab
push eax
push eax
push eax
push eax
push eax
push eax
push eax
lea eax, [ebp - 0x103c]
mov dword [ebp - 0x1034], 0x800
push eax
push 0
push 0
push 0
push dword [ebp - 0x1074]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x439ca3
xor edi, edi
cmp dword [ebp - 0x103c], edi
jbe 0x439ca3
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1034]
mov dword [ebp - 0x1034], 0x800
push eax
lea eax, [ebp - 0x818]
push eax
push edi
push dword [ebp - 0x1074]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x439c96
lea ecx, [ebp - 0x818]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x101c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x1030], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x439985
sub ecx, edx
lea eax, [ebp - 0x818]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1030]
call fcn.0042fe00
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1030]
cmp dword [ebp - 0x101c], 8
cmovae eax, dword [ebp - 0x1030]
push eax
push str.subKey_is__s
push 0x75b10c
push 0x75b10c
push str.checkRegistryEntry
push str.WAMB
push 0xa
call fcn.0043b0f0
push 0x761550
lea edx, [ebp - 0x1070]
lea ecx, [ebp - 0x10b8]
call fcn.00439dd0
add esp, 0x20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1030]
cmp dword [ebp - 0x101c], 8
push dword [ebp - 0x1020]
cmovae ecx, dword [ebp - 0x1030]
push ecx
mov ecx, eax
call fcn.0042ff20
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1050], xmm0
movups xmmword [ebp - 0x10a0], xmm0
movq xmm0, qword [eax + 0x10]
mov word [eax], cx
lea ecx, [ebp - 0x1030]
movq qword [ebp - 0x1088], xmm0
movq qword [ebp - 0x1090], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
call fcn.0042fd70
movups xmm0, xmmword [ebp - 0x1050]
xor eax, eax
mov dword [ebp - 0x1090], 0
lea ecx, [ebp - 0x10a0]
mov dword [ebp - 0x108c], 7
movups xmmword [ebp - 0x1030], xmm0
mov word [ebp - 0x10a0], ax
movq xmm0, qword [ebp - 0x1088]
movq qword [ebp - 0x1020], xmm0
call fcn.0042fd70
lea ecx, [ebp - 0x10b8]
mov byte [ebp - 4], 1
call fcn.0042fd70
cmp dword [ebp - 0x101c], 8
lea ecx, [ebp - 0x1078]
push ecx
push 0x20019
lea eax, [ebp - 0x1030]
cmovae eax, dword [ebp - 0x1030]
push 0
push eax
push dword [ebp - 0x1080]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x439c87
cmp dword [ebp - 0x101c], 8
lea ecx, [ebp - 0x1038]
push ecx
lea ecx, [ebp - 0x1018]
mov dword [ebp - 0x1038], 0x800
push ecx
push 0
push 0xffff
lea eax, [ebp - 0x1030]
cmovae eax, dword [ebp - 0x1030]
push 0
push eax
push dword [ebp - 0x1080]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x439c7f
lea ecx, [ebp - 0x1018]
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1044], 7
lea edx, [ecx + 2]
mov word [ebp - 0x1058], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x439b60
sub ecx, edx
lea eax, [ebp - 0x1018]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1058]
call fcn.0042fe00
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1058]
cmp dword [ebp - 0x1044], 8
lea eax, [ebp - 0x1030]
cmovae ecx, dword [ebp - 0x1058]
cmp dword [ebp - 0x101c], 8
push ecx
cmovae eax, dword [ebp - 0x1030]
push eax
push str.Default_value_of_subKey__s_is__s
push 0x75b10c
push 0x75b10c
push str.checkRegistryEntry
push str.WAMB
push 0xa
call fcn.0043b0f0
mov ecx, dword [ebx + 0xc]
add esp, 0x20
mov eax, ecx
cmp dword [ecx + 0x14], 8
jb 0x439be0
mov eax, dword [ecx]
cmp dword [ebp - 0x1044], 8
lea esi, [ebp - 0x1058]
mov edx, dword [ebp - 0x1048]
cmovae esi, dword [ebp - 0x1058]
cmp edx, dword [ecx + 0x10]
jne 0x439c6e
test edx, edx
je 0x439c16
sub esi, eax
mov cx, word [esi + eax]
cmp cx, word [eax]
jne 0x439c6e
add eax, 2
sub edx, 1
jne 0x439c05
push str.Successfully_found_registry_entry_for_webSSO_browser
push 0x75b10c
push 0x75b10c
push str.checkRegistryEntry
push str.WAMB
push 0x1e
call fcn.0043b0f0
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esp, 0x18
push dword [ebp - 0x1078]
call esi
push dword [ebp - 0x1074]
call esi
lea ecx, [ebp - 0x1058]
call fcn.0042fd70
lea ecx, [ebp - 0x1030]
call fcn.0042fd70
mov byte [ebp - 0x1079], 1
jmp 0x439cb2
lea ecx, [ebp - 0x1058]
call fcn.0042fd70
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x1078]
call esi
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 0
call fcn.0042fd70
inc edi
cmp edi, dword [ebp - 0x103c]
jb 0x439930
push dword [ebp - 0x1074]
call esi
mov byte [ebp - 0x1079], 0
lea ecx, [ebp - 0x1070]
call fcn.0042fd70
mov al, byte [ebp - 0x1079]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0067ba01
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8