Function at 0x4ce220
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x573fff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
push ebx
lea eax, [esp + 4]
push esi
xor ebx, ebx
push eax
mov esi, ecx
mov ecx, dword [esp + 0x114]
push 0x20019
push ebx
push 0x5d0ad4
push ecx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4ce608
mov ecx, dword [esp + 8]
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [esp + 0x20]
push edi
push edx
lea eax, [esp + 0x30]
push ebx
push eax
push ebx
push str.SFTP2_CipherAlgs
push ecx
call ebp
cmp eax, ebx
jne 0x4ce35d
mov edx, dword [esp + 0x24]
push edx
call fcn.00531c00
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x28]
push ecx
push edi
push str.SFTP2_CipherAlgs
push edx
mov dword [esp + 0x28], eax
call fcn.004c5b40
add esp, 0x14
cmp eax, ebx
jne 0x4ce354
cmp edi, ebx
je 0x4ce354
mov eax, dword [esp + 0x14]
push ebx
push eax
push edi
lea ecx, [esp + 0x64]
call fcn.0053ecfc
push ebx
push 0x1000
lea ecx, [esp + 0x60]
push 1
push ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x120], ebx
call fcn.005369bd
mov edx, dword [esi + 0x24]
lea ecx, [esi + 0x24]
lea eax, [esp + 0x80]
mov byte [esp + 0x110], 1
push eax
call dword [edx + 8]
lea ecx, [esp + 0x80]
call fcn.00536b21
lea ecx, [esp + 0x58]
call fcn.0053ef5c
lea ecx, [esp + 0x80]
mov byte [esp + 0x110], bl
call fcn.00536a99
lea ecx, [esp + 0x58]
mov dword [esp + 0x110], 0xffffffff
call fcn.0053ed75
push edi
call fcn.00531c29
add esp, 4
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0x38]
push 4
push ecx
push str.SFTP2_TripleDES
push edx
call fcn.004c5a40
mov ecx, dword [esp + 0x20]
lea eax, [esi + 0x3c]
push 4
push eax
push str.SFTP2_Blowfish
push ecx
call fcn.004c5a40
mov eax, dword [esp + 0x30]
lea edx, [esi + 0x40]
push 4
push edx
push str.SFTP2_Twofish
push eax
call fcn.004c5a40
mov edx, dword [esp + 0x40]
lea ecx, [esi + 0x44]
push 4
push ecx
push str.SFTP2_ARCFOUR
push edx
call fcn.004c5a40
mov ecx, dword [esp + 0x50]
add esp, 0x40
lea eax, [esi + 0x48]
push 4
push eax
push str.SFTP2_CAST128
push ecx
call fcn.004c5a40
mov eax, dword [esp + 0x20]
lea edx, [esi + 8]
push 4
push edx
push str.SFTP2_UseCompression
push eax
call fcn.004c5a40
mov edx, dword [esp + 0x30]
lea ecx, [esi + 0xc]
push 4
push ecx
push str.SFTP2_AuthByPassword
push edx
call fcn.004c5a40
mov ecx, dword [esp + 0x40]
lea eax, [esi + 0x10]
push 4
push eax
push str.SFTP2_AuthByKey
push ecx
call fcn.004c5a40
mov eax, dword [esp + 0x50]
add esp, 0x40
lea edx, [esi + 0x14]
push edx
push str.SFTP2PublicKey
push eax
call fcn.004c5ab0
mov edx, dword [esp + 0x1c]
lea ecx, [esi + 0x18]
push ecx
push str.SFTP2PrivateKey
push edx
call fcn.004c5ab0
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x1c]
push 4
push eax
push str.UseSFTP2Passphrase
push ecx
call fcn.004c5a40
mov edx, dword [0x5d2d10]
mov dword [esp + 0x40], edx
mov ebx, 2
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x40]
push eax
push str.SFTP2KeyPassphrase
push ecx
mov dword [esp + 0x144], ebx
call fcn.004c5ab0
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x48]
push edx
push eax
call fcn.004c7aa0
add esp, 0x3c
push eax
lea ecx, [esi + 0x20]
mov byte [esp + 0x114], 3
call fcn.00530cc8
lea ecx, [esp + 0x14]
mov byte [esp + 0x110], bl
call fcn.00530b8f
or ebx, 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x110], ebx
call fcn.00530b8f
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push 0
push edx
push 0
push str.SFTP2_MACAlgs
push eax
call ebp
test eax, eax
jne 0x4ce5a4
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00531c00
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov edi, eax
lea eax, [esp + 0x20]
push eax
push edi
push str.SFTP2_MACAlgs
push ecx
mov dword [esp + 0x30], edx
call fcn.004c5b40
add esp, 0x14
test eax, eax
jne 0x4ce59b
test edi, edi
je 0x4ce59b
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x3c]
call fcn.0053ecfc
push 0
push 0x1000
lea eax, [esp + 0x38]
push 1
push eax
lea ecx, [esp + 0xd4]
mov dword [esp + 0x120], 4
call fcn.005369bd
mov edx, dword [esi + 0x4c]
lea ecx, [esi + 0x4c]
lea eax, [esp + 0xc4]
mov byte [esp + 0x110], 5
push eax
call dword [edx + 8]
lea ecx, [esp + 0xc4]
call fcn.00536b21
lea ecx, [esp + 0x30]
call fcn.0053ef5c
lea ecx, [esp + 0xc4]
mov byte [esp + 0x110], 4
call fcn.00536a99
lea ecx, [esp + 0x30]
mov dword [esp + 0x110], ebx
call fcn.0053ed75
push edi
call fcn.00531c29
add esp, 4
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0x60]
push 4
push ecx
push str.SFTP2_MD5
push edx
call fcn.004c5a40
mov ecx, dword [esp + 0x20]
lea eax, [esi + 0x64]
push 4
push eax
push str.SFTP2_SHA1
push ecx
call fcn.004c5a40
mov eax, dword [esp + 0x30]
lea edx, [esi + 0x6c]
push 4
push edx
push str.SFTP2_MD5_96
push eax
call fcn.004c5a40
mov ecx, dword [esp + 0x40]
add esi, 0x68
push 4
push esi
push str.SFTP2_SHA1_96
push ecx
call fcn.004c5a40
mov edx, dword [esp + 0x50]
add esp, 0x40
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop ebp
mov ecx, dword [esp + 0x100]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x104
ret 4