Function at 0x14000e870
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1400b59e8]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r15d, dword [rsp + 0xf0]
mov r14, r9
mov dword [rsp + 0x40], r15d
mov r13, r8
mov r12, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r8, qword [rbp + 0x20]
mov rcx, rax
sub rcx, qword [0x1400c15c0]
movabs rax, 0x624dd2f1a9fbe77
mul rcx
mov r9, qword [r8 + 0x1d0]
lea rax, [rsp + 0x48]
mov r8, qword [r8 + 0x198]
sub rcx, rdx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x60]
shr rcx, 1
add rcx, rdx
mov qword [rsp + 0x28], r12
mov rdx, qword [rbp + 0x58]
shr rcx, 9
mov qword [rsp + 0x20], rax
call fcn.14000ce70
lea rcx, [rsp + 0x48]
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14000e910
cmp rax, 0x81
jae 0x14000ec25
mov r9, qword [rbp + 0x20]
mov r10d, dword [r9 + 0x1d8]
test r10d, r10d
je 0x14000ec25
movzx eax, byte [rsp + 0x48]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x98], rbx
xor ebx, ebx
mov qword [rsp + 0x90], rsi
mov r8d, ebx
mov qword [rsp + 0x88], rdi
test al, al
je 0x14000e992
nop dword [rax]
nop dword [rax + rax]
movsx eax, al
lea rdx, [rdx + 1]
mov ecx, r8d
shr ecx, 0x18
xor ecx, eax
mov eax, r8d
shl eax, 8
mov r8d, ecx
or r8d, eax
movzx eax, byte [rdx]
test al, al
jne 0x14000e970
xor edx, edx
lea rsi, [r9 + 0x1a8]
mov eax, r8d
div r10d
mov ecx, edx
imul rdi, rcx, 0x98
mov rcx, rsi
add rdi, qword [r9 + 0x1a0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x48]
mov r8, rdi
sub r8, rcx
lea rdx, [rsp + 0x48]
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [r8 + rdx + 0x10], al
lea rdx, [rdx + 1]
test al, al
jne 0x14000e9d0
mov rcx, rsi
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x1400ba268]
test r15d, r15d
lea rax, [0x1400c1566]
mov r9, r12
cmovne rax, rcx
lea r8, [0x1400ba178]
mov qword [rsp + 0x30], rax
xor edx, edx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], r13
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.140001e50
mov edi, eax
test eax, eax
jle 0x14000ec0e
inc eax
mov ecx, 1
movsxd r15, eax
mov rdx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rsi, rax
test rax, rax
jne 0x14000ea99
mov rcx, qword [rbp + 0x20]
lea rdx, str.Failed_to_allocate_memory_for_auth_response_header_n
call fcn.14000f5a0
xor eax, eax
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140087840
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dword [rsp + 0x40], ebx
lea rcx, str._stale_true_
lea rax, [0x1400c1567]
mov r9, r12
cmovne rax, rcx
lea r8, str.Digest_realm__s__qop_auth__nonce__s__opaque__s__s
mov qword [rsp + 0x30], rax
mov rdx, r15
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], r13
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140001e50
cmp eax, edi
jne 0x14000ebe9
test r14, r14
je 0x14000ebe9
cmp byte [str.WWW_Authenticate], bl
je 0x14000ebe9
cmp byte [rsi], bl
je 0x14000ebe9
mov edx, 9
lea rcx, str.WWW_Authenticate
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea edx, [rax + 0xd]
lea rcx, str.WWW_Authenticate
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea edx, [rax + 0xa]
lea rcx, str.WWW_Authenticate
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea edx, [rax + 9]
mov rcx, rsi
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea edx, [rax + 0xd]
mov rcx, rsi
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea edx, [rax + 0xa]
mov rcx, rsi
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x14000ebe9
lea ecx, [rax + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
je 0x14000ebe9
lea rcx, str.WWW_Authenticate
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rdi + 8], rax
test rax, rax
jne 0x14000ebad
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000ebe9
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x14000ebd4
mov rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000ebe9
mov dword [rdi + 0x18], 1
mov ebx, 1
mov rax, qword [r14]
mov qword [rdi], rax
mov qword [r14], rdi
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp ebx, 1
jne 0x14000ec0e
mov r8, r14
mov edx, 0x191
mov rcx, rbp
call fcn.14000af10
mov ebx, eax
jmp 0x14000ea63
mov rcx, qword [rbp + 0x20]
lea rdx, str.Failed_to_add_Digest_auth_header_n
call fcn.14000f5a0
mov eax, ebx
jmp 0x14000ea63
mov rcx, qword [rbp + 0x20]
lea rdx, str.Could_not_register_nonce__is_the_nonce_array_size_zero__._n
call fcn.14000f5a0
xor eax, eax
jmp 0x14000ea7b