Function at 0x4f53ce590
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
test byte [rcx + 0x21], 0x10
mov rbp, rdx
mov r12, rcx
mov r13, r8
mov rsi, r9
mov edx, 0x2d
jne 0x4f53ce5be
movsxd rdx, dword [rbp]
mov rax, qword [rbp + 8]
mov r9, qword [sym.msys_gssapi_3.dll_t_gss_krb5_mechanism_oid_desc]
lea rcx, [rsp + 0x40]
lea r8, [0x4f53e7b10]
mov qword [rsp + 0x40], rax
call fcn.4f53c8ab0
test eax, eax
mov ebx, eax
jne 0x4f53ce83e
mov rax, qword [rsp + 0x40]
cmp word [rax], 0
jne 0x4f53ce854
lea rdx, [rax + 2]
mov qword [rsp + 0x40], rdx
cmp word [rax + 2], 0
je 0x4f53ce860
xor edx, edx
cmp word [rax + 2], 0xffff
jne 0x4f53ce854
lea rcx, [rax + 4]
test rsi, rsi
mov qword [rsp + 0x40], rcx
je 0x4f53ce629
mov dword [rsi], edx
cmp word [rax + 4], 0xffff
mov ebx, 0x90000
jne 0x4f53ce83e
add rax, 0x16
mov qword [rsp + 0x40], rax
sub rax, qword [rbp + 8]
test edx, edx
mov rsi, rax
jne 0x4f53ce890
test byte [r12 + 0x21], 0x10
je 0x4f53ce870
mov qword [rsp + 0x48], 0
call fcn.4f53e3a38
mov rbx, rax
lea rdi, [rsp + 0x60]
lea r14, [rsp + 0x58]
call fcn.4f53e3a20
xor r8d, r8d
mov rcx, rbx
mov rdx, rax
call fcn.4f53e3a48
mov rax, qword [rsp + 0x40]
mov rcx, rbx
mov r8d, 8
lea rdx, [rax - 0x18]
call fcn.4f53e3a40
mov r8, qword [rbp]
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
sub r8, rsi
call fcn.4f53e3a40
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.4f53e3a50
mov rcx, rbx
lea rbx, [rsp + 0x70]
call fcn.4f53e3a30
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x58], 0
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
call fcn.4f53e3a78
mov r9, rbx
mov r8d, 0x10
mov rdx, rdi
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.4f53e3a80
mov rax, qword [rsp + 0x40]
mov r8d, 8
mov rdx, rdi
lea rcx, [rax - 8]
call fcn.4f53e3bd0
test eax, eax
jne 0x4f53ce854
lea r14, [rsp + 0xf0]
sub qword [rsp + 0x40], 0x10
mov rcx, r14
call fcn.4f53e3a68
mov rax, qword [rsp + 0x210]
mov r15, qword [rax]
call fcn.4f53e3a28
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rax
mov r9, r15
mov rcx, r14
mov dword [rsp + 0x28], 0
call fcn.4f53e3a58
mov rdx, qword [rsp + 0x40]
mov r9d, 8
mov rcx, r14
mov rdi, rbx
mov r8, rdx
call fcn.4f53e3a60
mov rcx, r14
call fcn.4f53e3a70
xor eax, eax
mov ecx, 0x10
mov rbx, qword [rsp + 0x40]
rep stosq qword [rdi], rax
lea rdx, [rsp + 0x3c]
mov qword [rsp + 0x50], 0
mov rcx, rbx
call fcn.4f53c1210
test byte [r12 + 0x24], 1
lea rcx, [rbx + 4]
mov r8d, 4
jne 0x4f53ce940
lea rdx, [0x4f53e7b18]
call fcn.4f53e3bd0
test eax, eax
jne 0x4f53ce854
mov rcx, qword [r12 + 0x58]
mov edx, dword [rsp + 0x3c]
call fcn.4f53cd7f0
test eax, eax
mov ebx, eax
jne 0x4f53ce83e
mov r8, 0xfffffffffffffff8
sub r8, qword [rsp + 0x48]
add r8, qword [rbp]
sub r8, rsi
mov qword [r13], r8
mov rcx, r8
mov rsi, r8
call fcn.4f53e3d10
test rax, rax
mov qword [r13 + 8], rax
jne 0x4f53ce82a
test rsi, rsi
jne 0x4f53ce951
mov rdi, qword [rsp + 0x40]
mov r8, rsi
mov rcx, rax
lea rdx, [rdi + 0x18]
call fcn.4f53e3d30
mov eax, ebx
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0x60000
jmp 0x4f53ce83e
mov edx, 1
jmp 0x4f53ce619
mov rdx, qword [rbp]
lea r8, [rsp + 0x48]
mov rcx, rbp
sub rdx, rsi
call fcn.4f53c8c00
test eax, eax
mov ebx, eax
je 0x4f53ce666
jmp 0x4f53ce83e
mov rax, qword [rsp + 0x210]
lea rdi, [rsp + 0x50]
lea rdx, [rdi + 8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], rax
mov rax, rdi
nop dword [rax + rax]
xor byte [rax], 0xf0
add rax, 1
cmp rdx, rax
jne 0x4f53ce8c0
lea rbx, [rsp + 0xf0]
mov rcx, rbx
call fcn.4f53e3a68
call fcn.4f53e3a28
lea rdx, [rsp + 0x58]
mov r9, rdi
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdx
mov rdx, rax
call fcn.4f53e3a58
mov rdx, qword [rsp + 0x40]
mov r9, qword [rbp]
mov rcx, rbx
mov r8, rdx
sub r9, rsi
call fcn.4f53e3a60
mov rcx, rbx
call fcn.4f53e3a70
lea rdx, [rsp + 0x70]
mov ecx, 0x10
xor eax, eax
mov rdi, rdx
rep stosq qword [rdi], rax
jmp 0x4f53ce651
lea rdx, [0x4f53e7b13]
call fcn.4f53e3bd0
jmp 0x4f53ce7de
mov ebx, 0xd0000
jmp 0x4f53ce83e