Function at 0x1404dcc50
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rdx
mov qword [rsp + 8], rdx
xchg rdx, rbx
xchg rsi, rbp
mov qword [rsp + 0x10], rbp
xchg rbp, rsi
xchg r13, rdi
mov qword [rsp + 0x18], r13
xchg r13, rdi
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], r14
sub rsp, 8
push rbx
mov qword [rsp], r15
lea rbp, [rsp - 0x3f]
mov dword [rsp - 0xc], 0x3d109a8d
sub rsp, 0xe77c998
add rsp, 0xe77c908
xchg r8, r11
mov r8, r11
xchg r8, r11
xchg rdx, r14
mov rdx, r14
xchg r14, rdx
mov rbx, rcx
movabs r15, 0x695a7238405abfb4
sub r15, 0x3b078dac
add r15, 0x4c1e4b66
xor r15, 0x35bd56a5
cmp r9d, 0x60001
jne 0x1404dcff4
xor eax, eax
mov dword [rsp - 0x44], edx
mov dword [rbp + 7], 0x679c1d96
xor dword [rbp + 7], 0x4ae6ae3
sub dword [rbp + 7], 0x23188226
xor dword [rbp + 7], 0x493f3654
xor dword [rbp + 7], 0x2373715f
lea r10, [rbp + 0x31]
mov dword [rbp + 0x13], eax
xchg r10, r10
neg r10
mov dword [rbp + 0xb], 0x4d4d29d9
add dword [rbp + 0xb], 0x2074bbc9
xor dword [rbp + 0xb], 0x6db86bc2
xor dword [rbp + 0xb], 0x2a612634
mov dword [rbp + 0xf], 0x7dadc21e
sub dword [rbp + 0xf], 0x636f65aa
xor dword [rbp + 0xf], 0x1fbf5eb
xor dword [rbp + 0xf], 0x4118e57f
add dword [rbp + 0xf], 0x76aa81b6
lea r8, [rbp + 9]
mov dword [rsp - 0x20], 0x3196a831
mov qword [rbp + 0x17], 0x2daf6e6a
sub qword [rbp + 0x17], 0x1f15e8b6
add qword [rbp + 0x17], 0x4e27113
xor qword [rbp + 0x17], 0x29070da8
sub qword [rbp + 0x17], 0x3a7ceb70
lea rdi, [rbp + 0x31]
xchg rdi, rdi
lea edx, [r10 + rdi]
mov eax, 0x5a51a234
sub eax, 0x32e6c8ee
sub eax, 0x2053c123
xor eax, 0x77ae5cdd
sub eax, 0x2d8614f9
mov ecx, edx
lea rdi, [rdi + 6]
mov rdx, rdx
rol eax, cl
lea ecx, [rdx + 1]
xor al, byte [r8 - 2]
xchg rdi, rdi
lea r8, [r8 + 6]
mov byte [rdi - 8], al
mov eax, 0xd55ade0
add eax, 0x45688c02
sub eax, 0x167e9dc4
add eax, 0x6f393e7
rol eax, cl
lea ecx, [rdx + 2]
xchg r14, r14
xor al, byte [r8 - 7]
mov byte [rdi - 7], al
mov eax, 0x8552a95
sub eax, 0x8223477
xor eax, 0x43e0c08c
add eax, 0x1bba09c6
xor eax, 0x1cbf705d
rol eax, cl
mov r15, r15
lea ecx, [rdx + 3]
xor al, byte [r8 - 6]
mov byte [rdi - 6], al
xchg r9, r9
mov eax, 0x722d858f
sub eax, 0x32b08626
sub eax, 0xd8b4b95
xor eax, 0x72c283d1
rol eax, cl
lea ecx, [rdx + 4]
xor al, byte [r8 - 5]
xchg r13, r13
mov byte [rdi - 5], al
mov eax, 0x557cc30a
sub eax, 0x43e90d48
sub eax, 0xb7057cb
add eax, 0x3d0fd20e
rol eax, cl
lea ecx, [rdx + 5]
mov dword [rsp - 0x34], 0x318ce551
xor al, byte [r8 - 4]
mov byte [rdi - 4], al
mov eax, 0x696cb058
sub eax, 0x5cffb4a3
add eax, 0x6f592819
sub eax, 0x29c9ac2f
xor eax, 0x12cf479a
rol eax, cl
xor al, byte [r8 - 3]
mov byte [rdi - 3], al
mov rdx, rdx
lea rax, [r10 + rdi]
cmp rax, 0xc
jb 0x1404dcd95
mov r9d, 0x5545ba78
xor r9d, 0x17938110
sub r9d, 0x1570b932
sub r9d, 0x2d657237
mov qword [rsp + 0x20], 0x3f735645
xor qword [rsp + 0x20], 0x4577a75d
xor qword [rsp + 0x20], 0x2729e04b
sub qword [rsp + 0x20], 0x3826108f
sub qword [rsp + 0x20], 0x250700b8
lea r8, [rbp + 0x2f]
mov dword [rsp - 0x10], ecx
xchg rdx, rcx
mov rcx, r11
xchg rdx, rcx
mov rcx, r14
mov dword [rsp - 0x1c], esi
call fcn.1400b1f80
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
lea rdi, [rbp + 0x2f]
xor eax, eax
mov dword [rsp - 0x18], 0x4083c936
mov ecx, 0x70cf04d6
sub ecx, 0x2f8098d9
add ecx, 0x1cf80b0e
add ecx, 0x13eb6a96
xor ecx, 0x7231e1ad
rep stosb byte [rdi], al
mov dword [rsp - 0x30], esp
test rdx, rdx
je 0x1404dd2f2
lea rdi, [rdx + 0xc]
mov dword [rsp - 0x18], 0x302355dd
xchg r15, rdi
mov rcx, r15
xchg r15, rdi
lea rdx, [rbp + 7]
mov rdx, rdx
call fcn.1400b05f0
test dword [rbp + 0x28], 0x1000
jne 0x1404dd2f2
cmp byte [rbp + 0x12], 0xe8
mov rdx, rdx
jne 0x1404dd2f2
mov rdx, rdi
mov rcx, r14
mov dword [rsp - 0x18], 0x16d9b0aa
call fcn.14009d9a0
movzx edx, byte [rbp + 7]
add edx, dword [rbp + 0x1c]
mov dword [rsp - 0x40], esi
add edx, eax
mov rax, qword [rbx + 8]
xor rax, r15
add rdx, rax
mov r11, r11
xor rdx, r15
mov qword [rbx + 0x20], rdx
cmp qword [rbx + 0x20], r15
setne al
xchg rsi, rsi
lea r11, [rsp + 0x90]
xchg rbp, rbx
mov rbp, qword [r11 + 0x20]
xchg rbp, rbx
mov rsi, qword [r11 + 0x28]
mov dword [rsp - 0x40], esp
xchg r10, rdi
mov r10, qword [r11 + 0x30]
xchg r10, rdi
xchg rsp, r11
mov r11, rsp
xchg r11, rsp
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop r14
pop rbp
ret
cmp r9d, 0xa0000
jne 0x1404dcfaf
mov eax, dword [rbp + 0x7f]
mov dword [rsp - 0x44], esi
mov ecx, 0x2eb34ee
add ecx, 0x138463a5
xor ecx, 0x145b9f91
sub ecx, 0x233a172
shr eax, 1
shr eax, 0xb
shr eax, 1
shr eax, 2
shr eax, 1
cmp ax, cx
mov r8, r8
jb 0x1404dcfaf
xor eax, eax
mov dword [rbp - 0x21], 0x73f22dc2
sub dword [rbp - 0x21], 0x4d2c6cdf
add dword [rbp - 0x21], 0x2472f5bf
xor dword [rbp - 0x21], 0x612dbc4f
lea r10, [rbp + 9]
mov r13, r13
mov dword [rbp - 6], eax
mov byte [rbp - 2], al
lea r8, [rbp - 0x1f]
neg r10
mov dword [rsp - 0x44], esp
mov dword [rbp - 0x1d], 0x5e2a2145
sub dword [rbp - 0x1d], 0x151c631a
sub dword [rbp - 0x1d], 0x32512c90
xor dword [rbp - 0x1d], 0xfb2c0acf
mov dword [rbp - 0x19], 0x1621e9c
add dword [rbp - 0x19], 0x707e78da
sub dword [rbp - 0x19], 0x38f62f71
sub dword [rbp - 0x19], 0x2ffca96f
add dword [rbp - 0x19], 0x103b1c38
lea rdi, [rbp + 9]
mov dword [rsp - 0xc], ebx
mov dword [rbp - 0x15], 0x51ba1ce7
sub dword [rbp - 0x15], 0x1fccd4f5
add dword [rbp - 0x15], 0x75a928a
add dword [rbp - 0x15], 0x466330b8
xor dword [rbp - 0x15], 0xe63ce64e
mov dword [rbp - 0x11], 0x58042e74
sub dword [rbp - 0x11], 0x4089d824
add dword [rbp - 0x11], 0x50f3d718
sub dword [rbp - 0x11], 0x4a65547a
xor dword [rbp - 0x11], 0x87af3594
mov dword [rbp - 0xd], 0x46fd43a9
sub dword [rbp - 0xd], 0xdd6fad3
sub dword [rbp - 0xd], 0x9b9a017
add dword [rbp - 0xd], 0x21a3d656
xor dword [rbp - 0xd], 0xc9af926f
mov word [rbp - 9], 0x31be
add word [rbp - 9], 0x2081
xor word [rbp - 9], 0x393c
add word [rbp - 9], 0x8076
mov byte [rbp - 7], 0x58
sub byte [rbp - 7], 0x26
xor byte [rbp - 7], 0x78
xor byte [rbp - 7], 0x17
add byte [rbp - 7], 0x5e
mov qword [rbp - 1], 0x4c76deca
xor qword [rbp - 1], 0xd699dec
sub qword [rbp - 1], 0x282b51f3
sub qword [rbp - 1], 0x117c7952
nop
lea edx, [rdi + r10]
mov dword [rsp - 0x28], ebp
mov eax, 0x46f085c5
xor eax, 0x5eb2059b
add eax, 0x451aa530
sub eax, 0x1a29f589
mov ecx, edx
mov dword [rsp - 0x10], 0x7de00f5e
lea rdi, [rdi + 3]
rol eax, cl
lea ecx, [rdx + 1]
mov dword [rsp - 0x44], ecx
xor al, byte [r8 - 2]
lea r8, [r8 + 3]
mov byte [rdi - 5], al
mov rcx, rcx
mov eax, 0x4ed359f4
sub eax, 0x32944af0
xor eax, 0x3aff5fde
sub eax, 0x5d66400
add eax, 0x2249432b
rol eax, cl
lea ecx, [rdx + 2]
mov rdx, rdx
xor al, byte [r8 - 4]
mov byte [rdi - 4], al
mov eax, 0x3319d83e
xor eax, 0x3423fdbf
xor eax, 0x392c6fb5
sub eax, 0x3bf966b7
add eax, 0x41164c88
rol eax, cl
xor al, byte [r8 - 3]
xchg r12, r12
mov byte [rdi - 3], al
lea rax, [r10 + rdi]
cmp rax, 0x1b
jb 0x1404dd16a
mov dword [rsp - 0x2c], 0x2a361b58
mov r9d, 0x1f04ec6
xor r9d, 0x3bec3d87
add r9d, 0x18a57b8d
sub r9d, 0x2f36a24c
sub r9d, 0x1c13d4a1
mov qword [rsp + 0x20], 0x3f3bef8e
sub qword [rsp + 0x20], 0x26b1579b
xor qword [rsp + 0x20], 0x17212bef
add qword [rsp + 0x20], 0x143d1439
xor qword [rsp + 0x20], 0x23e8d04e
lea r8, [rbp + 7]
mov rdx, r11
mov r13, r13
mov rcx, r14
call fcn.1400b1f80
xchg rdx, rax
mov rsi, rdx
xchg rdx, rax
lea rdi, [rbp + 7]
xor eax, eax
mov dword [rsp - 0x34], 0x46cc38da
mov ecx, 0x3f279a24
xor ecx, 0x1f170a8f
add ecx, 0x52afb08f
sub ecx, 0x72e0411f
rep stosb byte [rdi], al
test rsi, rsi
mov r11, r11
je 0x1404dd2f2
lea rdx, [rbp - 0x21]
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
call fcn.1400b05f0
test dword [rbp], 0x1000
mov dword [rsp - 0x2c], edx
jne 0x1404dd2f2
xchg rsi, rdx
mov rsi, rdx
xchg rsi, rdx
xchg rcx, r14
mov r14, rcx
xchg rcx, r14
call fcn.14009d9a0
mov rdi, rdi
movzx edx, byte [rbp - 0x21]
add edx, dword [rbp - 0xc]
jmp 0x1404dcf99
xor al, al
xchg rdx, rdx
jmp 0x1404dcfb9