Function at 0x140544c90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x128
mov r14d, dword [rcx + 0xd0]
mov rbx, qword [rsp + 0x190]
mov eax, edx
mov edi, r8d
mov ebp, r9d
cdq
idiv r9d
test r14d, r14d
jle 0x140544d75
test eax, eax
mov r8d, dword [rcx + 0xc8]
mov rsi, rcx
mov ecx, eax
setg r9b
mov edx, r14d
mov r12, rbx
mov eax, r14d
xor r13d, r13d
mov r14d, edi
mov ebx, ebp
mov edi, ecx
cmp r14d, r13d
jle 0x140544d68
mov ebp, 1
test r9b, r9b
je 0x140544d68
nop dword [rax + rax]
lea rcx, [0x1406151fc]
movsxd rcx, dword [rcx + rbp*4]
mov rcx, qword [rsi + rcx*8]
test ebx, ebx
jle 0x140544d53
lea r10d, [r13 + 1]
cmp r14d, r13d
jle 0x140544da0
mov r15d, r13d
mov r11d, r14d
add r13d, ebx
sub r11d, r15d
add r11, r12
jmp 0x140544d41
add r10d, 1
cmp r12, r11
je 0x140544da0
add r12, 1
mov byte [r12 - 1], cl
sar rcx, 8
cmp r10d, r13d
jne 0x140544d38
cmp edi, ebp
setg r10b
cmp r13d, r14d
setl cl
add rbp, 1
test r10b, cl
jne 0x140544d00
sub edx, r8d
test edx, edx
jg 0x140544da5
mov r14d, eax
mov rbx, r12
mov ecx, r14d
and ecx, 7
je 0x140544d8a
mov eax, 1
shl eax, cl
sub eax, 1
and byte [rbx - 1], al
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, r10d
jmp 0x140544d53
movsxd rcx, dword [rsi + 0xec]
mov rbp, qword [rsi + 0xe0]
cmp ecx, 0x18
je 0x140544e32
test ecx, ecx
jle 0x140544cec
lea r15, [0x140615140]
mov dword [rsp + 0x30], eax
movsxd rbp, ebp
mov dword [rsp + 0x38], r8d
lea rcx, [r15 + rcx*8]
mov byte [rsp + 0x40], r9b
mov dword [rsp + 0x28], r13d
mov r13, rcx
mov dword [rsp + 0x188], ebx
mov rbx, r15
mov r15d, edx
nop dword [rax]
mov rdx, qword [rbx]
mov rcx, rsi
add rbx, 8
and rdx, rbp
call fcn.140544480
cmp rbx, r13
jne 0x140544df8
mov r13d, dword [rsp + 0x28]
mov eax, dword [rsp + 0x30]
mov edx, r15d
mov r8d, dword [rsp + 0x38]
movzx r9d, byte [rsp + 0x40]
mov ebx, dword [rsp + 0x188]
jmp 0x140544cec
mov rcx, qword [rsi + 8]
mov r11, qword [rsi + 0x68]
mov r10, qword [rsi + 0x80]
mov rbp, qword [rsi]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0xc0], r11
mov r11, qword [rsi + 0x70]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0xc8], r11
mov r11, qword [rsi + 0x78]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsi + 0x28]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsi + 0x30]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsi + 0x38]
mov qword [rsp + 0x98], rcx
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsi + 0x48]
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rsi + 0x50]
mov qword [rsp + 0xb0], rcx
mov rcx, qword [rsi + 0x58]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsi + 0x60]
mov r15, qword [rsi + 0x88]
mov r10, qword [rsi + 0xb0]
mov dword [rsp + 0x10c], eax
mov r11, qword [rsi + 0x90]
mov dword [rsp + 0x110], edx
mov qword [rsp + 0xd8], r10
mov r10, qword [rsi + 0xb8]
mov qword [rsp + 0x38], r15
mov r15, qword [rsi + 0x98]
mov qword [rsp + 0x48], r10
mov r10, qword [rsi + 0xc0]
mov qword [rsp + 0x40], r11
mov r11, qword [rsi + 0xa0]
mov qword [rsp + 0xd0], r15
mov r15, qword [rsi + 0xa8]
mov qword [rsp + 0xe0], r10
lea r10, [0x140615140]
mov dword [rsp + 0x114], r8d
mov dword [rsp + 0x11c], edi
mov qword [rsp + 0xf8], r10
mov r10, r11
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x108], r13d
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x170], rsi
mov rsi, qword [rsp + 0x38]
mov dword [rsp + 0x188], ebx
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x190], r12
mov r12, qword [rsp + 0x28]
mov byte [rsp + 0x11b], r9b
mov r9, r15
mov dword [rsp + 0x180], r14d
mov r14, rcx
nop dword [rax]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
xor rcx, rbp
mov r8, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
xor rcx, rax
mov rax, qword [rsp + 0xa8]
xor rcx, rdi
mov rdi, qword [rsp + 0x88]
xor rcx, rdx
mov rdx, qword [rsp + 0x90]
xor rdi, rdx
mov rdx, qword [rsp + 0xb8]
xor rdi, r8
mov r8, qword [rsp + 0xc0]
xor rdi, r15
mov r15, qword [rsp + 0xc8]
xor rdi, rax
mov rax, qword [rsp + 0xb0]
xor rax, rdx
mov rdx, r10
xor rax, r14
xor rdx, r9
xor rax, r8
mov r8, qword [rsp + 0xd0]
xor rax, r15
mov r15, r12
xor r15, r13
xor r15, rsi
xor r15, rbx
xor r15, r8
mov r8, qword [rsp + 0xd8]
xor rdx, r8
mov r8, qword [rsp + 0xe0]
xor rdx, r11
xor rdx, r8
mov r8, rdi
rol r8, 1
xor r8, rdx
rol rdx, 1
xor rdx, rax
rol rax, 1
xor rbp, r8
xor rax, rcx
rol rcx, 1
xor r12, rdx
mov qword [rsp + 0x100], rbp
xor rcx, r15
rol r15, 1
xor r15, rdi
mov rdi, r12
mov r12, qword [rsp + 0x90]
rol rdi, 0x1c
xor r9, rcx
xor r10, rcx
xor r13, rdx
rol r9, 0x14
rol r10, 0x1b
xor r12, rax
xor r14, r15
mov qword [rsp + 0x40], r9
ror r12, 0x14
xor rbx, rdx
ror r13, 9
mov r9, qword [rsp + 0xb8]
mov qword [rsp + 0xe8], rdi
ror r14, 0x15
mov qword [rsp + 0x30], r10
mov rdi, qword [rsp + 0x88]
xor r9, r15
mov r10, qword [rsp + 0xb0]
mov qword [rsp + 0x58], r13
mov r13, rsi
rol r9, 6
xor rdi, rax
mov qword [rsp + 0x60], r14
xor r13, rdx
mov qword [rsp + 0x48], r9
mov r9, qword [rsp + 0x68]
xor r10, r15
rol rdi, 1
ror r10, 2
mov qword [rsp + 0x28], rdi
mov rdi, rbx
rol r13, 0x19
xor r9, r8
mov qword [rsp + 0x38], r10
rol rdi, 0x15
ror r9, 0x1c
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0x50], r9
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
xor r14, r8
xor rbx, rax
mov r10, qword [rsp + 0x78]
xor r12, rax
rol r14, 3
mov rsi, rbx
mov rbx, r11
xor rbp, rcx
rol r12, 0xa
ror rsi, 0x13
xor rbx, rcx
ror rbp, 0x19
mov r11, qword [rsp + 0xc0]
mov qword [rsp + 0xb8], rsi
mov rsi, qword [rsp + 0x80]
rol rbx, 8
xor rcx, r9
mov r9, qword [rsp + 0xc8]
xor r10, r8
xor r11, r15
rol rcx, 0xe
rol r11, 0xf
xor r8, rsi
mov rsi, qword [rsp + 0xd0]
ror r10, 0x17
xor r15, r9
rol r8, 0x12
xor rdx, rsi
mov r9, r15
mov rsi, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x40]
ror rdx, 8
ror r9, 3
xor rax, rsi
not r15
mov rsi, qword [rsp + 0xe8]
and r15, r14
rol rax, 2
xor rsi, r15
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0x28]
not r15
and r15, r13
xor rsi, r15
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x70], rsi
mov rsi, qword [rsp + 0x30]
not r15
and r15, r12
xor rsi, r15
mov qword [rsp + 0x78], rsi
mov rsi, qword [rsp + 0x58]
not rsi
mov r15, rsi
mov rsi, qword [rsp + 0x38]
and r15, rbp
xor rsi, r15
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x80], rsi
mov rsi, qword [rsp + 0xf0]
not r15
and r15, rdi
xor rsi, r15
mov r15, r14
mov qword [rsp + 0x88], rsi
mov rsi, qword [rsp + 0x40]
not r15
and r15, qword [rsp + 0xb8]
xor rsi, r15
mov r15, r13
mov qword [rsp + 0x90], rsi
not r15
mov rsi, qword [rsp + 0x48]
and r15, rbx
xor rsi, r15
mov r15, r12
mov qword [rsp + 0x98], rsi
not r15
mov rsi, qword [rsp + 0x50]
and r15, r11
xor rsi, r15
mov r15, rbp
mov qword [rsp + 0xa0], rsi
not r15
mov rsi, qword [rsp + 0x58]
and r15, r10
xor rsi, r15
mov r15, rdi
mov qword [rsp + 0xa8], rsi
not r15
mov rsi, qword [rsp + 0x60]
and r15, rcx
xor rsi, r15
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rsp + 0xb8]
mov r15, rsi
not r15
and r15, r9
xor r15, r14
mov r14, rbx
not r14
mov qword [rsp + 0xb8], r15
mov r15, qword [rsp + 0x100]
and r14, r8
xor r14, r13
mov r13, r11
not r13
and r13, rdx
xor r13, r12
mov r12, r10
not r12
mov qword [rsp + 0xc0], r13
and r12, rax
xor r12, rbp
mov qword [rsp + 0xc8], r12
mov r12, rcx
not r12
mov rbp, r12
and rbp, r15
mov r12, rbp
mov rbp, qword [rsp + 0xe8]
xor r12, rdi
mov rdi, r9
not rdi
and rdi, rbp
mov r13, rdi
mov rdi, r8
xor r13, rsi
mov rsi, qword [rsp + 0x28]
not rdi
and rsi, rdi
mov rdi, r15
xor rsi, rbx
mov rbx, rdx
not rbx
and rbx, qword [rsp + 0x30]
xor rbx, r11
mov r11, rax
not r11
and r11, qword [rsp + 0x38]
xor r11, r10
mov r10, r15
mov r15, qword [rsp + 0xf0]
not r10
mov qword [rsp + 0xd0], r11
and r10, r15
not r15
xor r10, rcx
mov rcx, rbp
mov rbp, qword [rsp + 0x60]
not rcx
and rcx, qword [rsp + 0x40]
xor r9, rcx
mov rcx, qword [rsp + 0x28]
and rbp, r15
not rcx
and rcx, qword [rsp + 0x48]
xor rcx, r8
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rsp + 0x30]
not rcx
and rcx, qword [rsp + 0x50]
xor rcx, rdx
mov rdx, qword [rsp + 0x38]
mov r11, rcx
not rdx
and rdx, qword [rsp + 0x58]
xor rdx, rax
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rdx]
xor rax, rdi
add rdx, 8
xor rbp, rax
lea rax, [0x140615200]
mov qword [rsp + 0xf8], rdx
cmp rdx, rax
jne 0x140544fc0
mov qword [rsp + 0x38], rsi
mov rsi, qword [rsp + 0x170]
mov r15, r9
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x50], r14
mov eax, dword [rsp + 0x10c]
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x28], r12
mov edx, dword [rsp + 0x110]
mov qword [rsi + 0x10], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x30], r13
mov edi, dword [rsp + 0x11c]
mov qword [rsi + 0x18], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x40], rbx
mov ebx, dword [rsp + 0x188]
mov qword [rsi + 0x20], rcx
mov rcx, qword [rsp + 0x88]
mov r13d, dword [rsp + 0x108]
mov r8d, dword [rsp + 0x114]
mov qword [rsi + 0x28], rcx
mov rcx, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x180]
mov r12, qword [rsp + 0x190]
movzx r9d, byte [rsp + 0x11b]
mov qword [rsi + 0x30], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsi + 0x38], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsi + 0x40], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsi + 0xa0], r10
mov qword [rsi + 0x48], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsi + 0xa8], r15
mov qword [rsi + 0x50], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rsi + 0xb8], r11
mov qword [rsi + 0x58], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rbp
mov qword [rsi + 0x60], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsi + 0x68], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsi + 0x70], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsi + 0x78], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsi + 0x80], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsi + 0x88], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsi + 0x90], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsi + 0x98], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsi + 0xb0], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsi + 0xc0], rcx
jmp 0x140544cec