Function at 0x42cbe0
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov edx, 8
mov dword [ebp - 0x18], ecx
push esi
push edi
push 0
lea ecx, [edx - 7]
call fcn.0048ffe0
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov eax, dword [0x4ff964]
add esp, 4
mov dword [ebp - 8], esi
test eax, eax
jne 0x42cc25
mov ecx, str.kernel32.dll
call fcn.0048fb20
mov dword [0x4ff964], eax
test eax, eax
je 0x42cc2d
push str.AddDllDirectory
push eax
call ebx
mov edx, 0x64
mov dword [0x4ff958], eax
push 0
lea ecx, [edx - 0x61]
call fcn.0048ffe0
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0xc]
mov dword [esi + 4], 0
xor edi, edi
push eax
push str.SOFTWAREMITKerberos
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x42ce2f
lea eax, [ebp - 0x10]
push eax
push edi
lea eax, [ebp - 4]
push eax
push edi
push str.InstallDir
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x42cd7f
cmp dword [ebp - 4], 1
jne 0x42cd7f
mov ecx, dword [ebp - 0x10]
lea edx, [edi + 1]
push eax
lea ecx, [ecx + 0x14]
call fcn.0048ffe0
add esp, 4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x10]
push ecx
push eax
lea eax, [ebp - 4]
push eax
push edi
push str.InstallDir
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x42cd77
cmp dword [ebp - 4], 1
jne 0x42cd77
mov edi, dword [ebp - 0x14]
lea ecx, [edi - 1]
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x42cce0
cmp dword [0x4ff958], 0
mov eax, dword [str._bin]
mov dword [ecx], eax
mov al, byte [0x4e00f8]
mov byte [ecx + 4], al
je 0x42cd20
push edi
xor ecx, ecx
call fcn.004903e0
add esp, 4
mov esi, eax
push esi
call dword [0x4ff958]
mov ecx, esi
call fcn.00490070
mov esi, dword [ebp - 8]
lea ecx, [edi - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x42cd23
mov eax, dword [str.gssapi32.dll]
mov dword [ecx], eax
mov eax, dword [0x4e0100]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0104]
push 0xd00
mov dword [ecx + 8], eax
mov ax, word [0x4e0108]
push 0
push edi
mov word [ecx + 0xc], ax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
mov ecx, edi
call fcn.0042cb90
test al, al
je 0x42cd70
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, edi
call fcn.0042cbc0
mov ecx, dword [ebp - 0x14]
call fcn.00490070
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x42ce2f
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 8]
imul esi, eax, 0x64
inc eax
push str.gss_delete_sec_context
push edi
mov dword [ecx + 4], eax
add esi, dword [ecx]
mov dword [esi], 0
mov dword [esi + 4], str.Using_GSSAPI_from_GSSAPI32.DLL
mov dword [esi + 0x60], edi
call ebx
push str.gss_display_status
push edi
mov dword [esi + 0x34], eax
call ebx
push str.gss_get_mic
push edi
mov dword [esi + 0x38], eax
call ebx
push str.gss_verify_mic
push edi
mov dword [esi + 0x3c], eax
call ebx
push str.gss_import_name
push edi
mov dword [esi + 0x40], eax
call ebx
push str.gss_init_sec_context
push edi
mov dword [esi + 0x44], eax
call ebx
push str.gss_release_buffer
push edi
mov dword [esi + 0x48], eax
call ebx
push str.gss_release_cred
push edi
mov dword [esi + 0x4c], eax
call ebx
push str.gss_release_name
push edi
mov dword [esi + 0x50], eax
call ebx
push str.gss_acquire_cred
push edi
mov dword [esi + 0x54], eax
call ebx
push str.gss_inquire_cred_by_mech
push edi
mov dword [esi + 0x58], eax
call ebx
mov ecx, esi
mov dword [esi + 0x5c], eax
call fcn.004455b0
mov ecx, str.secur32.dll
call fcn.0048fb20
mov edi, dword [ebp - 8]
mov dword [ebp - 4], eax
test eax, eax
je 0x42cee0
mov ecx, dword [edi + 4]
imul esi, ecx, 0x64
inc ecx
mov dword [edi + 4], ecx
push str.AcquireCredentialsHandleA
push eax
add esi, dword [edi]
mov dword [esi], 1
mov dword [esi + 4], str.Using_SSPI_from_SECUR32.DLL
mov dword [esi + 0x60], eax
call ebx
push str.InitializeSecurityContextA
push dword [ebp - 4]
mov dword [0x4ff95c], eax
call ebx
push str.FreeContextBuffer
push dword [ebp - 4]
mov dword [0x4ff974], eax
call ebx
push str.FreeCredentialsHandle
push dword [ebp - 4]
mov dword [0x4ff954], eax
call ebx
push str.DeleteSecurityContext
push dword [ebp - 4]
mov dword [0x4ff96c], eax
call ebx
push str.QueryContextAttributesA
push dword [ebp - 4]
mov dword [0x4ff978], eax
call ebx
push str.MakeSignature
push dword [ebp - 4]
mov dword [0x4ff970], eax
call ebx
push str.VerifySignature
push dword [ebp - 4]
mov dword [0x4ff97c], eax
call ebx
mov ecx, esi
mov dword [0x4ff968], eax
call fcn.0042d770
mov ecx, dword [ebp - 0x18]
mov edx, 0x32
call fcn.0048dd00
mov edx, dword [eax]
mov dword [ebp - 0x14], edx
cmp byte [edx], 0
je 0x42d046
cmp dword [0x4ff958], 0
je 0x42cf79
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cf10
sub ecx, esi
test ecx, ecx
jle 0x42cf79
nop dword [eax]
mov al, byte [edx + ecx - 1]
cmp al, 0x3a
je 0x42cf37
cmp al, 0x5c
je 0x42cf33
dec ecx
test ecx, ecx
jg 0x42cf20
jmp 0x42cf79
test ecx, ecx
je 0x42cf79
cmp byte [ecx + edx - 1], 0x5c
je 0x42cf43
dec ecx
test ecx, ecx
jle 0x42cf79
push edx
push ecx
push 0x4e02e4
call fcn.00490340
add esp, 0xc
mov edi, eax
xor ecx, ecx
push edi
call fcn.004903e0
add esp, 4
mov esi, eax
push esi
call dword [0x4ff958]
mov ecx, esi
call fcn.00490070
mov ecx, edi
call fcn.00490070
mov edx, dword [ebp - 0x14]
push 0xd00
push 0
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
mov eax, dword [ebp - 8]
test edi, edi
je 0x42d048
mov ecx, dword [eax + 4]
push dword [ebp - 0x14]
imul esi, ecx, 0x64
inc ecx
mov dword [eax + 4], ecx
push str.Using_GSSAPI_from_user_specified_library__s
add esi, dword [eax]
mov dword [esi], 2
call fcn.00490340
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x60], edi
push str.gss_delete_sec_context
push edi
call ebx
push str.gss_display_status
push edi
mov dword [esi + 0x34], eax
call ebx
push str.gss_get_mic
push edi
mov dword [esi + 0x38], eax
call ebx
push str.gss_verify_mic
push edi
mov dword [esi + 0x3c], eax
call ebx
push str.gss_import_name
push edi
mov dword [esi + 0x40], eax
call ebx
push str.gss_init_sec_context
push edi
mov dword [esi + 0x44], eax
call ebx
push str.gss_release_buffer
push edi
mov dword [esi + 0x48], eax
call ebx
push str.gss_release_cred
push edi
mov dword [esi + 0x4c], eax
call ebx
push str.gss_release_name
push edi
mov dword [esi + 0x50], eax
call ebx
push str.gss_acquire_cred
push edi
mov dword [esi + 0x54], eax
call ebx
push str.gss_inquire_cred_by_mech
push edi
mov dword [esi + 0x58], eax
call ebx
mov ecx, esi
mov dword [esi + 0x5c], eax
call fcn.004455b0
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret