Function at 0x484570
Capabilities:
Impersonate user
Prompt user for credentials

Disassembly:
mov eax, 0x1044
call fcn.0051f360
mov eax, dword [0x62d414]
xor eax, esp
mov dword [esp + 0x1040], eax
push ebx
xor ebx, ebx
push 0x404
lea eax, [esp + 0x2d]
push ebx
push eax
mov dword [esp + 0x18], ebx
mov byte [esp + 0x34], bl
call sub.MSVCR90.dll_memset
push 0x404
lea ecx, [esp + 0x645]
push ebx
push ecx
mov byte [esp + 0x64c], bl
call sub.MSVCR90.dll_memset
push 0x200
lea eax, [esp + 0xa5a]
xor edx, edx
push ebx
push eax
mov word [esp + 0xa60], dx
call sub.MSVCR90.dll_memset
add esp, 0x24
mov dword [esp + 4], ebx
mov dword [esp + 0x14], 0x14
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], str.Enter_key_file_access_credential:
mov dword [esp + 0x20], str.Key_File_Access_Dialog_Box
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], ebx
mov ecx, 0x404
lea eax, [esp + 0xc40]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484611
mov ecx, 0x202
lea eax, [esp + 0x430]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484625
push 0x40082
lea ecx, [esp + 0x14]
push ecx
push 0x101
lea edx, [esp + 0x43c]
push edx
push 0x202
lea eax, [esp + 0xc54]
push eax
push ebx
push ebx
push str.TheServer
lea ecx, [esp + 0x38]
push ecx
call dword [sym.imp.credui.dll_CredUIPromptForCredentialsW]
test eax, eax
lea eax, [esp + 0xc40]
je 0x4846a7
mov ecx, 0x404
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484673
mov ecx, 0x202
lea eax, [esp + 0x430]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484687
xor al, al
pop ebx
mov ecx, dword [esp + 0x1040]
xor ecx, esp
call fcn.0051ed00
add esp, 0x1044
ret
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4846b0
sub eax, edx
sar eax, 1
inc eax
push eax
lea edx, [esp + 0xc44]
push edx
push 0x405
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR90.dll_wcstombs_s]
lea eax, [esp + 0x3c]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4846e8
sub eax, edx
push esi
mov dword [esp + 8], eax
mov esi, ebx
mov cl, 0x5c
je 0x48470b
lea esp, [esp]
cmp byte [esp + esi + 0x2c], cl
je 0x48470b
inc esi
cmp esi, eax
jb 0x484700
cmp eax, ebx
jne 0x48471f
mov byte [esp + 0x2c], bl
mov byte [esp + 0x638], bl
jmp 0x4847b3
cmp esi, ebx
jne 0x48474a
cmp byte [esp + 0x2c], cl
jne 0x48474a
lea edx, [esp + 0x2d]
push edx
lea eax, [esp + 0x63c]
push 0x405
push eax
mov byte [esp + 0x38], bl
call dword [sym.imp.MSVCR90.dll_strcpy_s]
add esp, 0xc
jmp 0x4847b3
lea edx, [eax - 1]
cmp esi, edx
jne 0x484764
cmp byte [esp + esi + 0x2c], cl
jne 0x484764
mov byte [esp + eax + 0x2b], bl
mov byte [esp + 0x638], bl
jmp 0x4847b3
cmp esi, eax
jne 0x484789
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x63c]
push 0x405
push ecx
call dword [sym.imp.MSVCR90.dll_strcpy_s]
add esp, 0xc
mov byte [esp + 0x2c], bl
jmp 0x4847b3
lea ecx, [esi + 1]
inc eax
cmp ecx, eax
jae 0x4847af
push edi
mov edi, ecx
sub eax, ecx
push eax
lea edx, [esp + ecx + 0x34]
sub edi, esi
push edx
lea edi, [esp + edi + 0x643]
push edi
call sub.MSVCR90.dll_memcpy
add esp, 0xc
pop edi
mov byte [esp + esi + 0x2c], bl
mov esi, dword [sym.imp.MSVCR90.dll_mbstowcs_s]
push ebx
lea edx, [esp + 0x30]
push edx
push ebx
lea eax, [esp + 0x14]
push ebx
push eax
call esi
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x44]
push ecx
inc eax
push eax
lea edx, [esp + 0xa60]
push edx
lea eax, [esp + 0x30]
push eax
call esi
push ebx
lea ecx, [esp + 0x664]
push ecx
push ebx
lea edx, [esp + 0x3c]
push ebx
push edx
call esi
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x678]
push ecx
inc eax
push eax
lea edx, [esp + 0xc8c]
push edx
lea eax, [esp + 0x58]
push eax
call esi
add esp, 0x50
lea ecx, [esp + 0x10]
push ecx
push ebx
push 2
lea edx, [esp + 0x440]
push edx
lea eax, [esp + 0xa50]
push eax
lea ecx, [esp + 0xc58]
push ecx
call dword [sym.imp.ADVAPI32.dll_LogonUserW]
pop esi
test eax, eax
jne 0x484884
mov ecx, 4
lea eax, [esp + 0x430]
lea ecx, [ecx]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484850
mov ecx, 0x202
lea eax, [esp + 0x430]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x484864
xor al, al
pop ebx
mov ecx, dword [esp + 0x1040]
xor ecx, esp
call fcn.0051ed00
add esp, 0x1044
ret
mov edx, dword [esp + 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
mov ecx, 4
lea eax, [esp + 0x430]
jmp 0x4848a0
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x4848a0
mov ecx, 0x202
lea eax, [esp + 0x430]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x4848b4
mov ecx, dword [esp + 0x1044]
pop ebx
xor ecx, esp
mov al, 1
call fcn.0051ed00
add esp, 0x1044
ret