Function at 0x41ff57
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2c24
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, 0x400
push ebx
push esi
push edi
mov dword [ebp - 0x2c24], ecx
mov ecx, dword [ebp + 0xc]
push ecx
push eax
push 0x6c643c
mov dword [ebp - 0x2c1c], eax
lea eax, [ebp - 0x2bf8]
push edx
push eax
mov dword [ebp - 0x2c18], ecx
mov dword [ebp - 0x2c10], edx
mov dword [ebp - 0x2c0c], edx
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x2bfc]
xor ebx, ebx
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x2bf8]
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x420230
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x2c14]
push eax
lea eax, [ebp - 0x2c08]
mov dword [ebp - 0x2c14], 4
push eax
lea eax, [ebp - 0x2c00]
mov dword [ebp - 0x2c08], ebx
push eax
push ebx
push str.SiteServers
push dword [ebp - 0x2bfc]
call edi
test eax, eax
je 0x420028
push dword [ebp - 0x2bfc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x420230
cmp dword [ebp - 0x2c08], ebx
mov esi, ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jbe 0x420228
push esi
push str.SiteServer__d
lea eax, [ebp - 0x70]
push 0x64
push eax
call fcn.00402e0a
lea eax, [ebp - 0x70]
mov byte [ebp - 0x1870], 0
push eax
mov ecx, 0x400
lea eax, [ebp - 0x470]
push str._sHost
push ecx
push eax
mov dword [ebp - 0x2c0c], ecx
call fcn.00402e0a
add esp, 0x20
lea eax, [ebp - 0x2c0c]
push eax
lea eax, [ebp - 0x1870]
push eax
lea eax, [ebp - 0x2c00]
push eax
push 0
lea eax, [ebp - 0x470]
push eax
push dword [ebp - 0x2bfc]
call edi
test eax, eax
jne 0x42021b
push dword [ebp - 0x2c18]
lea eax, [ebp - 0x2bf8]
push dword [ebp - 0x2c1c]
push str._s_sKeychain
push 0x400
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x2c04]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x2bf8]
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x420228
mov byte [ebp - 0xc70], al
mov ecx, 0x400
mov byte [ebp - 0x870], al
mov byte [ebp - 0x1070], al
mov byte [ebp - 0x1470], al
lea eax, [ebp - 0x70]
push eax
push str._s_User
push ecx
lea eax, [ebp - 0x470]
mov dword [ebp - 0x2c20], ecx
push eax
call fcn.00402e0a
add esp, 0x10
lea eax, [ebp - 0x2c20]
push eax
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x2c00]
push eax
push 0
lea eax, [ebp - 0x470]
push eax
push dword [ebp - 0x2c04]
call edi
lea eax, [ebp - 0x70]
mov ecx, 0x400
push eax
push str._s_User_PW
push ecx
lea eax, [ebp - 0x470]
mov dword [ebp - 0x2c10], ecx
push eax
call fcn.00402e0a
add esp, 0x10
lea eax, [ebp - 0x2c10]
push eax
lea eax, [ebp - 0xc70]
push eax
lea eax, [ebp - 0x2c00]
push eax
push 0
lea eax, [ebp - 0x470]
push eax
push dword [ebp - 0x2c04]
call edi
push dword [ebp - 0x2c04]
call ebx
lea eax, [ebp - 0x870]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x42021b
lea eax, [ebp - 0xc70]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x42021b
lea edx, [ebp - 0x1470]
lea ecx, [ebp - 0x870]
call fcn.0041feb0
lea edx, [ebp - 0x1070]
lea ecx, [ebp - 0xc70]
call fcn.0041feb0
push 0xffffffffffffffff
mov ecx, 0x6c5bb9
lea eax, [ebp - 0x1070]
push ecx
push eax
lea eax, [ebp - 0x1470]
push eax
lea eax, [ebp - 0x1870]
push eax
push ecx
mov ecx, dword [ebp - 0x2c24]
push 0x131
push 4
call fcn.0043ee6b
inc esi
cmp esi, dword [ebp - 0x2c08]
jb 0x42003c
push dword [ebp - 0x2bfc]
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 8