Function at 0x180002af0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
lea r15, [0x1800060c0]
mov rbp, qword [rsp + 0x160]
mov edi, dword [rsp + 0x168]
mov rbx, rcx
mov rsi, rdx
mov r14, r8
mov r12d, r9d
test byte [0x1800060c0], 8
jne 0x180002cc0
mov eax, edi
and eax, 0x40080
cmp eax, 0x80
je 0x180002d4a
test rsi, rsi
je 0x180002eb0
test dil, 0x40
je 0x180002b5c
test rbp, rbp
je 0x180002eb0
test dil, 0x81
je 0x180002c70
mov qword [rsp + 0x70], rsi
lea rax, [rsp + 0x70]
test rbx, rbx
je 0x180002d58
mov ecx, dword [rsp + 0x148]
movq xmm0, qword [rbx + 0x20]
xor edx, edx
movq xmm1, qword [rbx + 0x10]
mov dword [rsp + 0x98], ecx
mov rcx, qword [rsp + 0x150]
movhps xmm0, qword [rsp + 0x140]
movhps xmm1, qword [rbx + 0x18]
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0xa0], rcx
mov ecx, dword [rsp + 0x158]
movups xmmword [rsp + 0x78], xmm1
mov dword [rsp + 0xa8], ecx
test rbp, rbp
je 0x180002bd2
mov edx, dword [rbp]
mov dword [rsp + 0xac], edx
mov rbx, qword [rbx + 8]
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], rax
mov rcx, qword [section..bss]
mov r8, rbx
mov edx, 0x64
lea r9, [sym.CredDialogProc]
call qword [sym.imp.user32.dll_DialogBoxParamW]
test rax, rax
jle 0x180002ec0
cmp rax, 2
je 0x180002fd0
mov eax, dword [rsp + 0xac]
test rbp, rbp
je 0x180002c3e
mov dword [rbp], eax
test eax, eax
je 0x180002c58
test edi, 0x20000
jne 0x180002de0
test dil, 2
je 0x180002fe8
xor eax, eax
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x158]
mov r9, qword [rsp + 0x150]
mov rcx, rsi
mov r8d, dword [rsp + 0x148]
mov rdx, qword [rsp + 0x140]
mov dword [rsp + 0x20], eax
call sym.find_existing_credential
test eax, eax
jne 0x180002c58
mov qword [rsp + 0x70], rsi
lea rax, [rsp + 0x70]
test rbx, rbx
jne 0x180002b79
jmp 0x180002d58
mov rcx, qword [rsp + 0x140]
call sym.wine_dbgstr_wn.constprop.0
mov rcx, rsi
mov r13, rax
call sym.wine_dbgstr_wn.constprop.0
mov edx, dword [rsp + 0x158]
mov dword [rsp + 0x68], edi
lea r9, str.__p___s___p___ld___s___ld___p___ld___p__0x_08lx__n
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x60], rbp
lea r8, str.CredUIPromptForCredentialsW
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0x148]
mov qword [rsp + 0x50], rcx
mov ecx, 3
mov dword [rsp + 0x48], edx
mov rdx, r15
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call sym.wine_dbg_log.constprop.0
mov eax, edi
and eax, 0x40080
cmp eax, 0x80
jne 0x180002b44
mov eax, 0x3ec
jmp 0x180002c5a
mov rcx, qword [rsp + 0x140]
pxor xmm0, xmm0
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0x88], 0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x90], rcx
mov ecx, dword [rsp + 0x148]
mov qword [rsp + 0xa0], rdx
xor edx, edx
mov dword [rsp + 0x98], ecx
mov ecx, dword [rsp + 0x158]
mov dword [rsp + 0xa8], ecx
test rbp, rbp
je 0x180002db3
mov edx, dword [rbp]
mov dword [rsp + 0xac], edx
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 0
jmp 0x180002bfb
lea rcx, [0x180006080]
lea rbx, [0x1800060b0]
xor r15d, r15d
call qword [sym.imp.kernel32.dll_EnterCriticalSection]
mov r14, qword [0x1800060b0]
mov rbp, qword [sym.imp.kernel32.dll_lstrcmpW]
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov r13, qword gs:[0x30]
cmp r14, rbx
jne 0x180002e2c
jmp 0x180003030
mov r14, qword [r14]
cmp r14, rbx
je 0x180002ed8
mov rdx, qword [r14 + 0x10]
mov rcx, rsi
call rbp
test eax, eax
jne 0x180002e20
mov rax, qword [r13 + 0x60]
mov r8, qword [r14 + 0x18]
xor edx, edx
mov rcx, qword [rax + 0x30]
call r12
mov r8, qword [r14 + 0x20]
cmp word [r8], 0
je 0x180002e93
mov rax, r8
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x180002e60
sub rax, r8
sar rax, 1
cdqe
add rax, rax
je 0x180002e93
add rax, r8
nop word [rax + rax]
mov rdx, r8
add r8, 1
mov byte [rdx], 0
cmp r8, rax
jne 0x180002e80
mov r8, qword [r14 + 0x20]
mov rax, qword [r13 + 0x60]
xor edx, edx
mov r15d, 1
mov rcx, qword [rax + 0x30]
call r12
jmp 0x180002e20
mov eax, 0x57
jmp 0x180002c5a
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x68]
jmp 0x180002c5a
test r15d, r15d
je 0x180003030
mov rbp, qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdx, qword [rsp + 0x90]
cmp word [rdx], 0
je 0x1800030d3
mov rax, rdx
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x180002f00
sub rax, rdx
mov rbx, rax
sar rbx, 1
add ebx, 1
movsxd rbx, ebx
add rbx, rbx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
xor edx, edx
mov r8, rbx
mov rcx, qword [rax + 0x30]
call rbp
mov r8, rbx
mov qword [r14 + 0x18], rax
mov rdx, qword [rsp + 0x90]
mov rcx, rax
call sym.memcpy
mov rdx, qword [rsp + 0xa0]
cmp word [rdx], 0
je 0x1800030c9
mov rax, rdx
add rax, 2
cmp word [rax], 0
jne 0x180002f60
sub rax, rdx
mov rbx, rax
sar rbx, 1
add ebx, 1
movsxd rbx, ebx
add rbx, rbx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov r8, rbx
xor edx, edx
shr edi, 0x12
and edi, 1
mov rcx, qword [rax + 0x30]
call rbp
mov r8, rbx
mov qword [r14 + 0x20], rax
mov rdx, qword [rsp + 0xa0]
mov rcx, rax
call sym.memcpy
mov dword [r14 + 0x28], edi
lea rcx, [0x180006080]
call qword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x180002c58
test byte [0x1800060c0], 8
jne 0x180003010
mov eax, 0x4c7
jmp 0x180002c5a
shr edi, 0x12
mov r8, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x140]
mov rcx, rsi
mov r9d, edi
and r9d, 1
call sym.save_credentials
jmp 0x180002c5a
lea r9, str.dialog_cancelled_n
lea r8, str.CredUIPromptForCredentialsW
mov rdx, r15
mov ecx, 3
call sym.wine_dbg_log.constprop.0
jmp 0x180002fd9
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
xor edx, edx
mov rbp, qword [sym.imp.kernel32.dll_HeapAlloc]
mov r8d, 0x30
mov r12d, 2
mov rcx, qword [rax + 0x30]
call rbp
cmp word [rsi], 0
mov r14, rax
mov rax, rsi
je 0x180003082
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x180003068
sub rax, rsi
sar rax, 1
lea r12d, [rax + 1]
movsxd r12, r12d
add r12, r12
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov r8, r12
xor edx, edx
mov rcx, qword [rax + 0x30]
call rbp
mov r8, r12
mov rdx, rsi
mov qword [r14 + 0x10], rax
mov rcx, rax
call sym.memcpy
mov rax, qword [0x1800060b8]
mov qword [r14], rbx
mov qword [r14 + 8], rax
mov qword [rax], r14
mov qword [0x1800060b8], r14
jmp 0x180002ee8
mov ebx, 2
jmp 0x180002f7c
mov ebx, 2
jmp 0x180002f1c