Function at 0x1400c819b
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, rbx
mov qword [rsp + 0x10], rdx
xchg rbx, rdx
push rdi
mov dword [rsp - 0x24], 0x32459d17
nop
sub rsp, 0x38d27f4c
add rsp, 0x38d27f2c
xchg r9, rdx
mov rdi, r9
xchg r9, rdx
mov rbx, rcx
test rcx, rcx
je 0x1400c85ee
mov dword [rsp - 0x14], ebx
test rdx, rdx
je 0x1400c85ee
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
mov dword [rsp - 0x20], 0x54374e61
jae 0x1400c85ee
lea rax, [rcx*8]
xchg rsi, r13
mov qword [rsp + 0x30], r13
xchg rsi, r13
add qword [rbx], rax
mov rcx, rcx
mov byte [rcx + rbx + 0x50], 0x6c
sub byte [rcx + rbx + 0x50], 0x33
xor byte [rcx + rbx + 0x50], 0x71
xor byte [rcx + rbx + 0x50], 0x52
add byte [rcx + rbx + 0x50], 0x66
mov rax, qword [rbx + 0x48]
inc rax
xchg r9, r9
xchg rsp, rax
mov qword [rbx + 0x48], rsp
xchg rsp, rax
cmp rax, 0x70
xchg rdx, rdx
jbe 0x1400c8295
cmp rax, 0x80
jae 0x1400c8268
mov rcx, rcx
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x6b
xor byte [rax + rbx + 0x50], 0x38
sub byte [rax + rbx + 0x50], 0x10
xor byte [rax + rbx + 0x50], 0x43
xor byte [rax + rbx + 0x50], 0
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x1c], 0x784560d6
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x80
jb 0x1400c822d
mov rdi, rdi
lea rsi, [rbx + 0x50]
xchg rbx, r8
mov rcx, r8
xchg rbx, r8
xchg rdx, r15
mov r15, rsi
xchg rdx, r15
call fcn.1400c6d30
xor eax, eax
mov rdi, rdi
xchg rsp, rax
mov qword [rbx + 0x48], rsp
xchg rsp, rax
jmp 0x1400c82a9
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
mov rsp, rsp
mov byte [rax + rbx + 0x50], 0x7c
xor byte [rax + rbx + 0x50], 0xa
sub byte [rax + rbx + 0x50], 0xf
sub byte [rax + rbx + 0x50], 0x15
sub byte [rax + rbx + 0x50], 0x52
xchg rcx, rax
mov rcx, qword [rbx + 0x48]
xchg rcx, rax
inc rax
xchg rsi, rax
mov qword [rbx + 0x48], rsi
xchg rsi, rax
cmp rax, 0x78
mov dword [rsp - 0x24], ebx
jb 0x1400c82a9
movzx eax, byte [rbx + 7]
xchg rsi, rdx
mov rsi, rdx
xchg rsi, rdx
mov byte [rbx + 0xc8], al
xchg rcx, rcx
xchg rdx, rbx
mov rcx, rdx
xchg rbx, rdx
movzx eax, byte [rbx + 6]
mov r11, r11
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
mov dword [rsp - 0x14], 0x3022ebe8
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov rsi, rsi
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov dword [rsp - 0x40], 0x4a5688bf
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov rbp, rbp
call fcn.1400c6d30
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
mov dword [rsp - 0x44], 0x38cc73cb
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov dword [rsp - 0x3c], 0x75a5eb24
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
mov r13, r13
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
xchg rdi, rdi
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
xchg r11, r11
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
mov rbp, rbp
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
xchg r8, r8
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x1c], edi
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
xchg r8, r8
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov dword [rsp - 0x24], 0x17fa34a4
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov dword [rsp - 0x38], ebp
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
xchg rsi, rsi
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
mov dword [rsp - 0x38], 0x74f8b98e
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov dword [rsp - 0x14], edx
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
mov r11, r11
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
xchg rbp, rbp
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov dword [rsp - 0x2c], ecx
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov r13, r13
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
mov r13, r13
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov dword [rsp - 0x14], esp
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov dword [rsp - 0x2c], 0xb31bab7
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov dword [rsp - 0x20], 0x70e54cf9
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
xchg rbp, rbp
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
mov dword [rsp - 0x30], 0x6989885
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
xchg r12, r12
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov dword [rsp - 0x10], 0x6ad5e868
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
mov dword [rsp - 0x14], edi
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
xchg r10, r10
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
mov dword [rsp - 0x24], edi
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov dword [rsp - 0x14], 0x16cf911b
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov dword [rsp - 0x24], 0x6caa7cd2
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
mov rcx, rcx
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov r15, r15
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov dword [rsp - 0xc], 0x2863035e
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
mov dword [rsp - 0x40], 0x3d77fcb3
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov dword [rsp - 0x24], edi
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov dword [rsp - 0x2c], edi
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
xor eax, eax
mov dword [rsp - 0x1c], edi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xchg rcx, rbx
mov rcx, qword [rsp + 0x38]
xchg rbx, rcx
mov eax, 0x7b7f3f5b
sub eax, 0x27c3e8a6
xor eax, 0x284fefd4
sub eax, 0x7bf4b960
sub rsp, 0xffffffffffffffe0
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret