Function at 0x180002fd0
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, 0x1a8
mov rbp, qword [rsp + 0x210]
mov r12, qword [rsp + 0x230]
mov edi, dword [rsp + 0x238]
mov rsi, rcx
mov rbx, rdx
mov r13, r8
mov r14d, r9d
test byte [0x1800070c0], 8
jne 0x1800031a0
mov eax, edi
and eax, 0x40080
cmp eax, 0x80
je 0x18000345f
test rbx, rbx
je 0x1800035f0
test dil, 0x40
je 0x18000303d
test r12, r12
je 0x1800035f0
test dil, 0x81
je 0x180003158
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x70]
test rsi, rsi
je 0x180003470
mov ecx, dword [rsp + 0x218]
movq xmm0, qword [rsi + 0x20]
movq xmm2, rbp
xor edx, edx
movq xmm1, qword [rsi + 0x10]
mov dword [rsp + 0x98], ecx
mov rcx, qword [rsp + 0x220]
punpcklqdq xmm0, xmm2
movhps xmm1, qword [rsi + 0x18]
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0xa0], rcx
mov ecx, dword [rsp + 0x228]
movups xmmword [rsp + 0x78], xmm1
mov dword [rsp + 0xa8], ecx
test r12, r12
je 0x1800030b5
mov edx, dword [r12]
mov dword [rsp + 0xac], edx
mov rsi, qword [rsi + 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, rsi
mov edx, 0x64
lea r9, [sym.CredDialogProc]
call qword [sym.imp.user32.dll_DialogBoxParamW]
test rax, rax
jle 0x180003600
cmp rax, 2
je 0x180003898
mov eax, dword [rsp + 0xac]
test r12, r12
je 0x180003122
mov dword [r12], eax
test eax, eax
je 0x18000313c
test edi, 0x20000
jne 0x180003520
test dil, 2
je 0x1800038b0
xor eax, eax
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x228]
mov r9, qword [rsp + 0x220]
mov rdx, rbp
mov rcx, rbx
mov r8d, dword [rsp + 0x218]
mov dword [rsp + 0x20], eax
call sym.find_existing_credential
test eax, eax
jne 0x18000313c
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x70]
test rsi, rsi
jne 0x18000305a
jmp 0x180003470
lea r15, str._null_
test rbp, rbp
je 0x1800032ce
mov rax, rbp
shr rax, 0x10
je 0x180003508
mov rdx, 0xffffffffffffffff
mov rcx, rbp
lea r15, str._invalid_
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
test eax, eax
jne 0x1800032ce
cmp word [rbp], 0
je 0x1800039c0
xor eax, eax
nop dword [rax]
mov rdx, rax
add rax, 1
cmp word [rbp + rax*2], 0
jne 0x1800031f0
mov r10d, 0x224c
movzx r15d, word [0x1800095d2]
mov r8, rbp
lea rax, [rsp + 0x72]
mov word [rsp + 0x70], r10w
lea r9, [rsp + 0x192]
jmp 0x18000325e
cmp cx, 9
je 0x180003658
cmp cx, 0xa
jne 0x180003740
movzx ecx, word [str._n_r_t__]
add rax, 2
mov word [rax - 2], cx
nop dword [rax + rax]
sub edx, 1
jb 0x1800039b0
cmp r9, rax
jb 0x1800032a0
movzx ecx, word [r8]
add r8, 2
cmp cx, 0xd
je 0x180003630
jbe 0x180003228
cmp cx, 0x22
je 0x180003640
cmp cx, 0x5c
jne 0x180003700
movzx ecx, word [0x1800095d8]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003250
mov byte [rax], 0x22
test edx, edx
je 0x1800039b3
mov r9d, 0x2e2e
mov byte [rax + 3], 0x2e
lea rdx, [rax + 4]
mov word [rax + 1], r9w
mov byte [rdx], 0
lea rcx, [rsp + 0x70]
call sym.__wine_dbg_strdup
mov r15, rax
lea rax, str._null_
test rbx, rbx
je 0x1800033e9
mov rax, rbx
shr rax, 0x10
je 0x1800034f0
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
lea rax, str._invalid_
test edx, edx
jne 0x1800033e9
cmp word [rbx], 0
je 0x1800039e0
xor eax, eax
nop dword [rax + rax]
mov rdx, rax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x180003320
mov ecx, 0x224c
mov r8, rbx
lea rax, [rsp + 0x72]
mov word [rsp + 0x70], cx
lea r9, [rsp + 0x192]
jmp 0x180003386
cmp cx, 9
je 0x180003688
cmp cx, 0xa
jne 0x1800036a0
movzx ecx, word [str._n_r_t__]
add rax, 2
mov word [rax - 2], cx
nop dword [rax + rax]
sub edx, 1
jb 0x1800039a0
cmp r9, rax
jb 0x1800033c0
movzx ecx, word [r8]
add r8, 2
cmp cx, 0xd
je 0x180003670
jbe 0x180003350
cmp cx, 0x22
je 0x180003618
cmp cx, 0x5c
jne 0x180003720
movzx ecx, word [0x1800095d8]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003378
mov byte [rax], 0x22
test edx, edx
je 0x1800039a3
mov byte [rax + 3], 0x2e
mov edx, 0x2e2e
mov word [rax + 1], dx
lea rdx, [rax + 4]
mov byte [rdx], 0
lea rcx, [rsp + 0x70]
call sym.__wine_dbg_strdup
mov ecx, dword [rsp + 0x228]
mov edx, dword [rsp + 0x218]
mov dword [rsp + 0x68], edi
lea r9, str.__p___s___p___ld___s___ld___p___ld___p__0x_08lx__n
mov qword [rsp + 0x60], r12
lea r8, str.CredUIPromptForCredentialsW
mov dword [rsp + 0x58], ecx
mov rcx, qword [rsp + 0x220]
mov dword [rsp + 0x48], edx
lea rdx, [0x1800070c0]
mov qword [rsp + 0x50], rcx
mov ecx, 3
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call sym.wine_dbg_log.constprop.1
mov eax, edi
and eax, 0x40080
cmp eax, 0x80
jne 0x180003025
mov eax, 0x3ec
jmp 0x18000313e
mov ecx, dword [rsp + 0x218]
pxor xmm0, xmm0
mov edx, dword [rsp + 0x228]
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rbp
mov dword [rsp + 0x98], ecx
mov rcx, qword [rsp + 0x220]
mov dword [rsp + 0xa8], edx
xor edx, edx
mov qword [rsp + 0xa0], rcx
movups xmmword [rsp + 0x78], xmm0
test r12, r12
je 0x1800034c4
mov edx, dword [r12]
mov dword [rsp + 0xac], edx
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 0
jmp 0x1800030de
mov edx, ebx
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
jmp 0x1800033e9
mov edx, ebp
lea rcx, str._04x
call sym.wine_dbg_sprintf.constprop.0
mov r15, rax
jmp 0x1800032ce
lea r13, [0x180007080]
lea rsi, [0x1800070b0]
xor r12d, r12d
mov rcx, r13
call qword [sym.imp.kernel32.dll_EnterCriticalSection]
mov r14, qword [0x1800070b0]
mov rbp, qword [sym.imp.kernel32.dll_lstrcmpW]
mov r15, qword gs:[0x30]
cmp r14, rsi
jne 0x18000356c
jmp 0x180003900
mov r14, qword [r14]
cmp r14, rsi
je 0x1800037a0
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
call rbp
test eax, eax
jne 0x180003560
mov rax, qword [r15 + 0x60]
mov r8, qword [r14 + 0x18]
xor edx, edx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [r14 + 0x20]
cmp word [r8], 0
je 0x1800035d3
mov rax, r8
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x1800035a0
sub rax, r8
sar rax, 1
cdqe
add rax, rax
je 0x1800035d3
add rax, r8
nop word [rax + rax]
mov rdx, r8
add r8, 1
mov byte [rdx], 0
cmp r8, rax
jne 0x1800035c0
mov r8, qword [r14 + 0x20]
mov rax, qword [r15 + 0x60]
xor edx, edx
mov r12d, 1
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180003560
mov eax, 0x57
jmp 0x18000313e
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x68]
jmp 0x18000313e
movzx ecx, word [0x1800095d6]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003378
mov word [rax], r15w
add rax, 2
jmp 0x180003250
movzx ecx, word [0x1800095d6]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003250
movzx ecx, word [0x1800095d4]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003250
movzx ecx, word [0x1800095d2]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003378
movzx ecx, word [0x1800095d4]
add rax, 2
mov word [rax - 2], cx
jmp 0x180003378
mov r11d, ecx
lea r10, str.0123456789abcdefCredUIStoreSSOCredA
mov byte [rax], 0x5c
add rax, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 4], r11b
mov r11d, ecx
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 3], r11b
mov r11d, ecx
and ecx, 0xf
shr r11w, 4
movzx ecx, byte [r10 + rcx]
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 1], cl
mov byte [rax - 2], r11b
jmp 0x180003378
lea r10d, [rcx - 0x20]
cmp r10w, 0x5e
ja 0x180003740
mov byte [rax], cl
add rax, 1
jmp 0x180003250
lea r10d, [rcx - 0x20]
cmp r10w, 0x5e
ja 0x1800036a0
mov byte [rax], cl
add rax, 1
jmp 0x180003378
mov r11d, ecx
lea r10, str.0123456789abcdefCredUIStoreSSOCredA
mov byte [rax], 0x5c
add rax, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 4], r11b
mov r11d, ecx
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 3], r11b
mov r11d, ecx
and ecx, 0xf
shr r11w, 4
movzx ecx, byte [r10 + rcx]
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 1], cl
mov byte [rax - 2], r11b
jmp 0x180003250
test r12d, r12d
je 0x180003900
mov rbp, qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdx, qword [rsp + 0x90]
cmp word [rdx], 0
je 0x180003a05
mov rax, rdx
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x1800037c8
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 0x1800039fb
mov rax, rdx
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x180003830
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
mov rcx, r13
call qword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x18000313c
test byte [0x1800070c0], 8
jne 0x1800038d8
mov eax, 0x4c7
jmp 0x18000313e
shr edi, 0x12
mov r8, qword [rsp + 0x220]
mov rdx, rbp
mov rcx, rbx
mov r9d, edi
and r9d, 1
call sym.save_credentials
jmp 0x18000313e
lea r9, str.dialog_cancelled_n
lea r8, str.CredUIPromptForCredentialsW
mov ecx, 3
lea rdx, [0x1800070c0]
call sym.wine_dbg_log.constprop.1
jmp 0x1800038a1
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 [rbx], 0
mov r14, rax
mov rax, rbx
je 0x180003952
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x180003938
sub rax, rbx
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, rbx
mov qword [r14 + 0x10], rax
mov rcx, rax
call sym.memcpy
mov rax, qword [0x1800070b8]
mov qword [r14], rsi
mov qword [r14 + 8], rax
mov qword [rax], r14
mov qword [0x1800070b8], r14
jmp 0x1800037b0
mov byte [rax], 0x22
lea rdx, [rax + 1]
jmp 0x1800033dc
mov byte [rax], 0x22
lea rdx, [rax + 1]
jmp 0x1800032be
mov r11d, 0x224c
mov byte [rsp + 0x72], 0x22
lea rdx, [rsp + 0x73]
mov word [rsp + 0x70], r11w
jmp 0x1800032be
mov r8d, 0x224c
mov byte [rsp + 0x72], 0x22
lea rdx, [rsp + 0x73]
mov word [rsp + 0x70], r8w
jmp 0x1800033dc
mov ebx, 2
jmp 0x18000384c
mov ebx, 2
jmp 0x1800037e4