Function at 0x4f53cf7c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
test byte [rdx + 0x21], 0x10
mov rsi, qword [rsp + 0x240]
mov r13, rcx
mov rdi, rdx
mov r14, r8
mov r12d, r9d
mov rbp, qword [rsp + 0x250]
mov r15, qword [rsi]
je 0x4f53cfb70
mov r9, qword [sym.msys_gssapi_3.dll_t_gss_krb5_mechanism_oid_desc]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x78]
mov ecx, 0x1e
mov qword [rsp + 0x70], 0x1e
xor ebx, ebx
call fcn.4f53c9190
mov rcx, qword [rsp + 0x78]
lea rax, [r15 + 8]
mov qword [rsp + 0x38], rax
add rcx, r15
mov qword [rsp + 0x78], rcx
mov qword [rbp], rcx
call fcn.4f53e3d10
test rax, rax
mov qword [rbp + 8], rax
je 0x4f53cfbe0
mov r9, qword [sym.msys_gssapi_3.dll_t_gss_krb5_mechanism_oid_desc]
mov rdx, qword [rsp + 0x70]
lea r8, [0x4f53e7b90]
mov rcx, rax
call fcn.4f53c9250
mov r15, rax
movzx eax, word [0x4f53e7b93]
test r12d, r12d
mov edx, 0xffffffff
lea rbp, [r15 + 0x16]
mov qword [r15 + 6], 0
mov word [r15 + 4], dx
mov qword [r15 + 0xe], 0
mov rcx, rbp
mov word [r15], ax
cmove eax, edx
mov edx, 8
mov word [r15 + 2], ax
lea rax, [r15 + 6]
mov qword [rsp + 0x48], rax
call fcn.4f53e3720
mov rdx, qword [rsi + 8]
mov r8, qword [rsi]
lea rcx, [r15 + 0x1e]
call fcn.4f53e3d30
mov rax, qword [rsi]
movzx ecx, bl
movabs rdx, 0x101010101010101
imul rcx, rdx
cmp ebx, 8
lea r8, [rbp + rax + 8]
mov eax, ebx
jb 0x4f53cfbb4
lea rdx, [r8 + 8]
mov eax, ebx
mov qword [r8], rcx
mov qword [r8 + rax - 8], rcx
and rdx, 0xfffffffffffffff8
sub r8, rdx
lea eax, [rbx + r8]
and eax, 0xfffffff8
cmp eax, 8
jb 0x4f53cf921
and eax, 0xfffffff8
xor r8d, r8d
mov r9d, r8d
add r8d, 8
cmp r8d, eax
mov qword [rdx + r9], rcx
jb 0x4f53cf911
call fcn.4f53e3a38
mov rbx, rax
call fcn.4f53e3a20
xor r8d, r8d
mov rcx, rbx
mov rdx, rax
call fcn.4f53e3a48
lea rdx, [r15 - 2]
mov rcx, rbx
mov r8d, 8
call fcn.4f53e3a40
mov r8, qword [rsp + 0x38]
mov rcx, rbx
mov rdx, rbp
call fcn.4f53e3a40
lea r11, [rsp + 0x90]
xor r8d, r8d
mov rcx, rbx
mov rdx, r11
mov qword [rsp + 0x50], r11
call fcn.4f53e3a50
mov rcx, rbx
lea rbx, [rsp + 0xa0]
call fcn.4f53e3a30
mov rsi, qword [rsp + 0x258]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x88], 0
mov rdx, rbx
mov qword [rsp + 0x40], rax
mov rax, qword [rsi]
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
call fcn.4f53e3a78
mov r11, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov r9, rbx
mov r8d, 0x10
mov rdx, r11
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.4f53e3a80
mov rax, qword [rsp + 0x90]
lea r11, [r15 + 0xe]
lea r8, [rsp + 0x6c]
mov rcx, r14
mov qword [rsp + 0x58], r11
mov qword [r15 + 0xe], rax
mov rdx, qword [rdi]
call fcn.4f53e3970
mov eax, dword [rsp + 0x6c]
mov edx, eax
mov byte [r15 + 6], al
movzx ebx, ah
sar edx, 0x10
shr eax, 0x18
mov byte [r15 + 7], bl
mov byte [r15 + 8], dl
mov byte [r15 + 9], al
lea rbx, [rsp + 0x120]
mov eax, dword [rdi + 0x24]
mov rcx, rbx
and eax, 1
cmp eax, 1
sbb eax, eax
mov dword [r15 + 0xa], eax
call fcn.4f53e3a68
mov rax, qword [rsp + 0x258]
mov r9, qword [rax]
mov qword [rsp + 0x50], r9
call fcn.4f53e3a28
mov r11, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r11
call fcn.4f53e3a58
mov rdx, qword [rsp + 0x48]
mov r9d, 8
mov rcx, rbx
mov r8, rdx
call fcn.4f53e3a60
mov rcx, rbx
call fcn.4f53e3a70
mov eax, dword [rsp + 0x6c]
mov rdx, qword [rdi]
mov rcx, r14
lea r8d, [rax + 1]
mov dword [rsp + 0x6c], r8d
call fcn.4f53e3928
test r12d, r12d
je 0x4f53cfb3a
mov rax, qword [rsp + 0x258]
lea rdx, [rsi + 8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, rsi
xor byte [rax], 0xf0
add rax, 1
cmp rax, rdx
jne 0x4f53cfae3
mov rcx, rbx
call fcn.4f53e3a68
call fcn.4f53e3a28
mov rdi, qword [rsp + 0x40]
mov r9, rsi
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rdi
call fcn.4f53e3a58
mov r9, qword [rsp + 0x38]
mov rcx, rbx
mov r8, rbp
mov rdx, rbp
call fcn.4f53e3a60
mov rcx, rbx
call fcn.4f53e3a70
cmp qword [rsp + 0x248], 0
je 0x4f53cfb50
mov rax, qword [rsp + 0x248]
mov dword [rax], r12d
mov dword [r13], 0
xor eax, eax
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, r15
mov ebx, 8
mov r9, qword [sym.msys_gssapi_3.dll_t_gss_krb5_mechanism_oid_desc]
and eax, 7
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x78]
sub rbx, rax
lea rcx, [rbx + r15]
lea rax, [rcx + 8]
add rcx, 0x1e
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x38], rax
call fcn.4f53c9190
mov rcx, qword [rsp + 0x78]
jmp 0x4f53cf838
and ebx, 4
jne 0x4f53cfc00
test eax, eax
je 0x4f53cf921
test al, 2
mov byte [r8], cl
je 0x4f53cf921
mov edx, eax
mov word [r8 + rdx - 2], cx
jmp 0x4f53cf921
mov qword [rbp], 0
mov eax, 0xd0000
mov dword [r13], 0xc
jmp 0x4f53cfb5a
mov edx, eax
mov dword [r8], ecx
mov dword [r8 + rdx - 4], ecx
jmp 0x4f53cf921