Function at 0x409940
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x4d0
push ebx
push edi
xor ebx, ebx
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xd9]
mov byte [esp + 0xd8], bl
mov byte [esp + 0x10], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x31
xor eax, eax
lea edi, [esp + 0x11]
mov dword [esp + 0xc], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0xc]
mov dword [esp + 8], ebx
push eax
push 0x20019
push ebx
push str.SOFTWARESangforSSLSangforCSClient
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
je 0x4099bd
push eax
push str.SOFTWARESangforSSLSangforCSClient
push str.RegOpenKeyEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
xor eax, eax
pop edi
pop ebx
add esp, 0x4d0
ret
mov eax, dword [esp + 0xc]
lea ecx, [esp + 8]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [esp + 0xdc]
push ecx
push edx
push ebx
push ebx
push str.LoginUrl
push eax
mov dword [esp + 0x24], 0x400
call esi
cmp eax, ebx
je 0x409a03
push eax
push str.LoginUrl
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
jmp 0x409bb6
mov ecx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x4e4]
lea edx, [esp + 0xe0]
push ecx
push edx
push ebp
call dword [sym.imp.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x500]
mov edx, dword [esp + 0x20]
add esp, 0xc
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
push ecx
push ebx
push ebx
push str.EnableShortCut
push edx
call esi
cmp eax, ebx
je 0x409a5c
push eax
push str.EnableShortCut
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
mov ecx, dword [esp + 0x4f8]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push ecx
push ebx
push ebx
push str.MinimizeWindow
push edx
call esi
cmp eax, ebx
je 0x409a8e
push eax
push str.MinimizeWindow
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
mov ecx, dword [esp + 0x4f0]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push ecx
push ebx
push ebx
push str.EnableAutoLogin
push edx
call esi
cmp eax, ebx
je 0x409ac0
push eax
push str.EnableAutoLogin
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
mov ecx, dword [esp + 0x4fc]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push ecx
push ebx
push ebx
push str.EnableAutoRelogin
push edx
call esi
cmp eax, ebx
je 0x409af2
push eax
push str.EnableAutoRelogin
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
mov ecx, dword [esp + 0x500]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push ecx
push ebx
push ebx
push str.AutoStartLogin
push edx
call esi
cmp eax, ebx
je 0x409b24
push eax
push str.AutoStartLogin
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
push ecx
push ebx
push ebx
push str.UserInfo
push edx
mov dword [esp + 0x28], 0xc8
call esi
mov esi, dword [esp + 0x4e8]
cmp eax, ebx
je 0x409b64
push eax
push str.UserInfo
push str.RegQueryValueEx_failed__key___s__err___d
call fcn.00411930
add esp, 0xc
jmp 0x409b94
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x10]
push 0x63
push eax
push 0x63
push esi
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00409050
add esp, 0x18
test eax, eax
jne 0x409b94
push str.DecryptUserInfo_failed_
call fcn.00411930
add esp, 4
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
push str._GetAutoLogin__url_s_len_d__name_s
call fcn.00411930
add esp, 0x10
mov ebx, 1
pop ebp
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov eax, ebx
pop edi
pop ebx
add esp, 0x4d0
ret