Function at 0x14049a690
Capabilities:
Encode data using xor

Disassembly:
xchg r13, rbx
mov qword [rsp + 0x10], r13
xchg rbx, r13
mov qword [rsp + 0x18], rsi
mov dword [rsp - 0x34], 0x3f3355
mov qword [rsp + 0x20], rdi
push rbp
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
mov dword [rsp - 0x28], 0x5e45d423
xchg rsp, r12
mov rbp, r12
xchg rsp, r12
add rsp, 0xffffffffffffff80
mov dword [rsp - 0x2c], ecx
xor ebx, ebx
xchg rsi, rcx
mov rcx, rsi
xchg rcx, rsi
cmp qword [rcx + 0x20], rbx
mov dword [rsp - 0x34], 0x1081a1ba
jne 0x14049a89a
mov eax, 0x62d82ad6
xor eax, 0x1dbcc7b5
sub eax, 0x3b71939b
sub eax, 0x43f358ed
mov dword [rbp - 0x60], 0x1fd3c8e9
sub dword [rbp - 0x60], 0x10e0b309
add dword [rbp - 0x60], 0x55336845
sub dword [rbp - 0x60], 0x63f67d2d
mov word [rbp - 0x50], ax
mov dword [rsp - 0x34], ecx
mov dword [rbp - 0x5c], 0x485cc8e4
sub dword [rbp - 0x5c], 0x4e7fd2b
sub dword [rbp - 0x5c], 0x30d76109
xor dword [rbp - 0x5c], 0x33d6e17e
xor dword [rbp - 0x5c], 0x21028b33
mov dword [rbp - 0x58], 0x77f010ec
sub dword [rbp - 0x58], 0x67c46823
add dword [rbp - 0x58], 0x17c43be8
sub dword [rbp - 0x58], 0x277de42c
mov dword [rbp - 0x54], 0x7b3e2e4a
xor dword [rbp - 0x54], 0x164ebde8
xor dword [rbp - 0x54], 0x41018130
xor dword [rbp - 0x54], 0x2c67126e
mov qword [rbp + 0x30], rbx
xchg rsi, rax
mov rsi, qword [rbp + 0x30]
xchg rsi, rax
nop
mov r13, r13
xchg r15, rcx
mov r15, qword [rbp + 0x30]
xchg rcx, r15
xchg rbx, rax
mov rbx, qword [rbp + 0x30]
xchg rbx, rax
and cl, 3
xchg r10, r10
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rbp + rax*2 - 0x60]
mov dword [rsp - 0xc], edi
mov eax, 0x28c7d768
sub eax, 0x190231e8
add eax, 0x3fd610ba
xor eax, 0x68eadcfb
add eax, 0x5326f1f6
shr eax, cl
movzx ecx, al
xchg r13, rax
mov r13, qword [rbp + 0x30]
xchg r13, rax
xor cx, dx
mov word [rbp + rax*2 - 0x4e], cx
mov dword [rsp - 0xc], 0xab15b08
mov rax, qword [rbp + 0x30]
inc rax
xchg r14, rax
mov qword [rbp + 0x30], r14
xchg r14, rax
xchg rcx, rax
mov rcx, qword [rbp + 0x30]
xchg rcx, rax
cmp rax, 9
mov rsi, rsi
jb 0x14049a7a8
xor edx, edx
mov word [rbp - 0x3c], bx
lea rcx, [rbp - 0x4e]
mov dword [rsp - 0x38], 0x434f5d76
call fcn.14009cac0
mov r8, rax
mov qword [rsi + 0x20], rax
xor eax, eax
mov dword [rsp - 0x14], ecx
lea rdi, [rbp - 0x4e]
mov ecx, 0x792edddd
sub ecx, 0x55e53256
xor ecx, 0x2e3a724c
sub ecx, 0xd73d9c2
rep stosb byte [rdi], al
mov dword [rsp - 0x10], 0x71117b7
test r8, r8
je 0x14049acb9
lea rdx, [rsi + 0x30]
mov r13, r13
mov rcx, r8
call fcn.14049ad20
test al, al
mov dword [rsp - 0x3c], 0x525afe37
je 0x14049acb9
cmp qword [rsi + 0x28], rbx
jne 0x14049acc0
xchg rsi, rsi
mov dword [rbp - 0x3a], 0x28764577
xor dword [rbp - 0x3a], 0x7a02c01a
add dword [rbp - 0x3a], 0x51a73b1
sub dword [rbp - 0x3a], 0x174debd7
xor dword [rbp - 0x3a], 0x40710dbf
mov dword [rbp - 0x36], 0x4ca3379b
add dword [rbp - 0x36], 0x216fcd7c
sub dword [rbp - 0x36], 0x6b827477
sub dword [rbp - 0x36], 0x2558fa3
mov dword [rbp - 0x32], 0x3ddb898f
sub dword [rbp - 0x32], 0x1e991bcc
xor dword [rbp - 0x32], 0x1fb844b8
add dword [rbp - 0x32], 0x6c511fdc
sub dword [rbp - 0x32], 0x6d234895
mov dword [rbp - 0x2e], 0x513c722
xor dword [rbp - 0x2e], 0x246f75e8
add dword [rbp - 0x2e], 0x610a66d
xor dword [rbp - 0x2e], 0x27c5599c
mov dword [rbp - 0x2a], 0xfe4ff5a
xor dword [rbp - 0x2a], 0x524671cb
sub dword [rbp - 0x2a], 0x41fc93f7
xor dword [rbp - 0x2a], 0x2194c916
sub dword [rbp - 0x2a], 0x39f932f3
mov dword [rbp - 0x26], 0x7d0b9594
xor dword [rbp - 0x26], 0x301acb62
xor dword [rbp - 0x26], 0x35324cd8
sub dword [rbp - 0x26], 0x184c4f1
xor dword [rbp - 0x26], 0x76884dc9
xchg rbx, rcx
mov qword [rbp + 0x30], rcx
xchg rcx, rbx
xchg rdx, rax
mov rdx, qword [rbp + 0x30]
xchg rdx, rax
nop word [rax + rax]
mov rcx, rcx
xchg rcx, rdi
mov rdi, qword [rbp + 0x30]
xchg rdi, rcx
xchg rsp, rax
mov rsp, qword [rbp + 0x30]
xchg rsp, rax
and cl, 3
mov r15, r15
shl cl, 1
shl cl, 2
movzx edx, word [rbp + rax*2 - 0x3a]
mov dword [rsp - 0x30], 0x8825740
mov eax, 0x43abbd00
xor eax, 0x6e4c8c56
sub eax, 0xdad46f5
add eax, 0x5a5e7256
shr eax, cl
movzx ecx, al
mov r10, r10
xchg rdx, rax
mov rdx, qword [rbp + 0x30]
xchg rdx, rax
xor cx, dx
mov dword [rsp - 0x38], 0x332501dc
mov word [rbp + rax*2 - 0x22], cx
xchg r11, rax
mov r11, qword [rbp + 0x30]
xchg r11, rax
inc rax
xchg rsi, rax
mov qword [rbp + 0x30], rsi
xchg rsi, rax
mov rax, qword [rbp + 0x30]
cmp rax, 0xc
xchg r13, r13
jb 0x14049a986
xor edx, edx
mov word [rbp - 0xa], bx
lea rcx, [rbp - 0x22]
mov dword [rsp - 0x14], 0x5fd80200
call fcn.14009cac0
xchg r9, rax
mov r14, r9
xchg r9, rax
xchg r10, rax
mov qword [rsi + 0x28], r10
xchg r10, rax
xor eax, eax
lea rdi, [rbp - 0x22]
xchg rcx, rcx
mov ecx, 0x1af111be
add ecx, 0x3234b77c
add ecx, 0x6e90077
sub ecx, 0x540ec9a5
rep stosb byte [rdi], al
test r14, r14
je 0x14049acb9
mov rcx, rcx
mov edx, 0x2d1bd09f
xor edx, 0x5e92c7dc
add edx, 0x88b3b96
add edx, 0x4230f4b
mov rcx, r14
mov dword [rsp - 0x38], ebx
call fcn.140094e90
test rax, rax
je 0x14049ab93
xchg r13, r13
movabs rcx, 0x9ea8910e68b435fb
sub rcx, 0x56799985
add rcx, 0x6362dcc6
sub rcx, 0x2cd79578
add rcx, 0x7fffffff
add rcx, 0x262603a2
mov edi, ebx
mov dword [rsp - 0x10], ecx
add rax, rcx
movabs rcx, 0x26da0bc523d239b2
add rcx, 0x45f5879c
xor rcx, 0x5e15f989
add rcx, 0x1d73c3f3
rol rax, 0x1e
rol rax, 2
rol rax, 1
rol rax, 1
sub rax, rcx
mov dword [rsp - 0x40], ecx
movabs rcx, 0x4244acab63eaef58
xor rcx, 0x5020f2b8
add rcx, 0x59f648f
add rcx, 0x7fffffff
xor rcx, 0x6a3f4041
rol rax, 7
rol rax, 5
rol rax, 1
rol rax, 1
rol rax, 1
xor rax, rcx
movabs rcx, 0x36a5e8c127338970
xor rcx, 0x63b22608
add rcx, 0x36021fdb
sub rcx, 0x62779e2f
add rax, rcx
mov dword [rsp - 0x44], 0x167e73f7
movabs rcx, 0x6d1d350d44421a12
sub rcx, 0x3eb41ce4
add rcx, 0x47228578
add rcx, 0x1dcd0cb
sub rcx, 0x7823b1f
xor rax, rcx
mov dword [rsp - 0x40], 0x667b4a44
mov qword [rsi + 0x58], rax
jmp 0x14049abaa
mov edi, 0x6629b1df
sub edi, 0x45030d53
xor edi, 0x532bc4f7
sub edi, 0x720d607a
mov edx, 0x1f96682d
sub edx, 0x10a6790d
add edx, 0x3f0e85cf
sub edx, 0x428ecb7
add edx, 0x44c75b3c
mov rcx, r14
call fcn.140094e90
xchg r12, r12
test rax, rax
je 0x14049ac8e
movabs rcx, 0x65e37466288e1e17
sub rcx, 0x5dced0f
xor rcx, 0x12ab22c7
add rcx, 0x7fffffff
xor rcx, 0xda81b14
xor rax, rcx
mov dword [rsp - 0x24], ebx
movabs rcx, 0x58f0ba1b1c219b9e
add rcx, 0x7966c97
add rcx, 0x96410a1
add rcx, 0x64d57913
rol rax, 8
rol rax, 0xe
rol rax, 5
rol rax, 2
rol rax, 1
rol rax, 1
add rax, rcx
movabs rcx, 0xa1a6ec843b64ec14
add rcx, 0x143e77a4
add rcx, 0x2c18b3d8
sub rcx, 0x2f132bd2
sub rcx, 0x4483ae41
ror rax, 0x1a
ror rax, 0x16
ror rax, 0xd
ror rax, 1
add rax, rcx
mov dword [rsp - 0x18], 0x318e76c7
or edi, ebx
mov qword [rsi + 0x60], rax
sete al
jmp 0x14049acca
mov ebx, 0x2b095253
xor ebx, 0x35633f39
xor ebx, 0x12a89a9f
add ebx, 0x285b01f5
sub ebx, 0x351df9e9
or edi, ebx
mov dword [rsp - 0x20], edi
sete al
jmp 0x14049acca
xor al, al
jmp 0x14049acca
mov al, 0x57
add al, 3
sub al, 7
xor al, 0x7b
sub al, 0x27
lea r11, [rsp + 0x80]
mov dword [rsp - 0x3c], 0x12477ec7
xchg rbx, rcx
mov rcx, qword [r11 + 0x38]
xchg rcx, rbx
mov rsi, qword [r11 + 0x40]
xchg rdi, r12
mov r12, qword [r11 + 0x48]
xchg rdi, r12
xchg rbx, r11
mov rsp, rbx
xchg r11, rbx
nop
mov r15, qword [rsp]
add rsp, 8
pop r14
mov dword [rsp - 0x30], 0x3b76224a
nop
add rsp, 8
mov r13, qword [rsp - 8]
pop r12
xchg rbp, rbp
pop rbp
ret