Function at 0x140017850
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
xchg rbx, rbx
push rsi
push rdi
push r13
lea rbp, [rsp - 0x37]
mov dword [rsp - 0x38], 0x781922d9
sub rsp, 0xb0
mov r13, rcx
mov ebx, 0x430d98f2
add ebx, 0x323c7b98
mov r9, r9
sub ebx, 0x33d95bc7
add ebx, 0x187b895
sub ebx, 0x42684d20
add ebx, 0xf9c5a47
mov dword [rsp - 0x30], 0x43e80cef
sub ebx, 0x102c7e23
lea rcx, [rbp - 9]
call fcn.14006ae90
mov dword [rsp - 0x38], edx
mov rdx, rax
lea rcx, [rbp - 0x19]
movzx r8d, bx
call fcn.140068a50
mov dword [rsp - 0x2c], 0x44bec70e
mov r8, qword [0x1400a29c8]
lea rcx, [rbp - 0x29]
mov rdx, rax
call fcn.140068480
mov dword [rsp - 0x28], 0x442b9349
mov rdx, rax
lea rcx, [rbp + 7]
mov r8b, 0x16
mov r11, r11
add r8b, 0x57
xor r8b, 0x74
add r8b, 0x12
sub r8b, 0x11
mov dword [rsp - 0x2c], esp
add r8b, 0x18
sub r8b, 0x31
call fcn.14006b470
cmp qword [rbp - 0x21], 4
mov dword [rsp - 0x2c], edi
jbe 0x14001792a
mov rcx, qword [rbp - 0x29]
call fcn.140072210
xchg r8, r8
cmp qword [rbp - 0x11], 4
jbe 0x140017942
mov rcx, qword [rbp - 0x19]
mov dword [rsp - 0x30], 0xc29d61b
call fcn.140072210
cmp qword [rbp - 1], 4
jbe 0x140017955
mov rcx, qword [rbp - 9]
mov rbx, rbx
call fcn.140072210
mov qword [rsp + 0xe0], r12
lea rcx, [rbp + 7]
mov qword [rsp + 0xe8], r14
mov dword [rsp - 0x24], edx
mov qword [rsp + 0xf0], r15
call fcn.14006b800
xor edi, edi
nop
xchg r12, r12
movabs rsi, 0xffffffff2685d027
xor rsi, 0x67e71591
xor rsi, 0x5935edf9
mov r11, r11
add rsi, 0x1b429c2f
add rsi, 0x7fffffff
xor rsi, 0x4c663b82
test al, al
xchg rdx, rdx
je 0x140017d4f
xor r9d, r9d
lea rcx, [rbp + 7]
mov dword [rsp - 0x38], 0x5b5370a5
mov edx, 0x4e439274
xor edx, 0x2ff6727f
xor edx, 0x3fa02ea
mov dword [rsp - 0x30], 0x5ec07f91
sub edx, 0x528e18e2
add edx, 0x21c9a555
add edx, 0x44300201
xchg rcx, rcx
add edx, 0x434485eb
mov r8d, 0x21546150
sub r8d, 0x6f7fb9d
add r8d, 0x2159071
mov dword [rsp - 0x3c], 0x65422e96
add r8d, 0x24646a8d
xor r8d, 0x464e647c
xor r8d, 0x2fc15408
mov rdi, rdi
xor r8d, 0xe9936b15
call fcn.14006c260
mov r15, rax
mov dword [rsp - 0x28], ebp
test rax, rax
je 0x140017d4f
mov r14, rsi
nop
mov dword [rsp - 0x2c], 0x20d9b782
inc r14
cmp byte [rax + r14], dil
jne 0x140017a5b
mov r15, r15
mov rax, qword [0x1400a2eb0]
mov r9d, r14d
xor rax, qword [0x1400a2a90]
mov r8, r15
xchg r9, r9
mov dword [rsp + 0x28], edi
xor edx, edx
mov ecx, 0x679b54af
sub ecx, 0x2caf08c7
mov rdx, rdx
add ecx, 0x16ec7916
sub ecx, 0x1fec8474
xor ecx, 0x612436e3
sub ecx, 0x50c77880
mov dword [rsp - 0x38], ebx
mov qword [rsp + 0x20], rdi
call rax
movsxd rsi, eax
mov dword [rsp - 0x24], 0x69426781
mov eax, 0x3e672188
xor eax, 0x39c1e88f
add eax, 0x473947ac
xor eax, 0x331ad228
mov dword [rsp - 0x14], 0x123f5f9b
sub eax, 0x7dfac299
lea ebx, [rsi + 1]
movsxd rcx, ebx
mov dword [rsp - 0x2c], 0x5db8d23b
mul rcx
pushf
movabs rcx, 0xffffffff02e8d627
mov rbx, rbx
add rcx, 0x21fddf0c
add rcx, 0x31603080
xor rcx, 0x48714f38
add rcx, 0x7fffffff
mov rdx, rdx
xor rcx, 0x61c85575
popf
cmovo rax, rcx
mov dword [rsp - 0x38], 0x141e371d
mov rcx, rax
call fcn.140072200
mov r10, qword [0x1400a2eb0]
mov rbp, rbp
mov r9d, r14d
xor r10, qword [0x1400a2a90]
mov r8, r15
xchg r8, r8
mov dword [rsp + 0x28], ebx
xor edx, edx
mov ecx, 0x11611254
mov dword [rsp - 0x40], 0x1211e195
add ecx, 0x2052acff
xor ecx, 0x78d13a6f
xor ecx, 0x21eeb85a
mov dword [rsp - 0x30], 0x77003b3f
add ecx, 0x1e6a4a9
sub ecx, 0x6a71e426
mov qword [rsp + 0x20], rax
mov dword [rsp - 0x44], 0x9d497f1
mov r12, rax
call r10
nop
mov rsp, rsp
movabs rcx, 0xffffffff0d02f2e0
xor rcx, 0x56b03687
xor rcx, 0xc044e87
mov dword [rsp - 0x34], 0x55c39f13
sub rcx, 0x84ece5e
add rcx, 0x154ac206
add rcx, 0x7fffffff
xor rcx, 0x1b4d8178
mov dword [rsp - 0x24], 0x5a795d84
mov word [r12 + rsi*2], di
mov rbx, rcx
mov qword [rbp - 0x29], rdi
mov rsi, rdi
xchg rbx, rbx
inc rbx
cmp word [r12 + rbx*2], si
jne 0x140017bfd
mov qword [rbp - 0x21], rbx
mov r14, r14
lea rdx, [rbp - 0x29]
cmp rbx, 4
jbe 0x140017c59
mov rdx, rdx
mov eax, 0x6505f967
sub eax, 0x5b7a9a72
add eax, 0x4e03b157
xchg rdx, rdx
xor eax, 0x4aa3412c
sub eax, 0x1d2c515e
mul rbx
mov dword [rsp - 0x18], ecx
cmovo rax, rcx
mov rcx, rax
call fcn.140072200
mov rdx, rax
mov rbp, rbp
mov qword [rbp - 0x29], rax
mov r8, rdi
jmp 0x140017c65
mov r8, rdi
test rbx, rbx
mov dword [rsp - 0x28], esp
je 0x140017cd5
mov r9, r12
sub r9, rdx
nop dword [rax]
mov dword [rsp - 0x2c], 0x390cacea
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
mov eax, 0x3242c366
mov dword [rsp - 0x44], esi
add eax, 0x3675fab3
sub eax, 0x2dab9e6d
add eax, 0x22d3bc0c
xchg r9, r9
xor eax, 0xcc185dd
shl cl, 3
inc r8
xchg r11, r11
sar eax, cl
movsx eax, al
xor ax, word [r9 + rdx - 2]
mov dword [rsp - 0x3c], 0x1c79c5bb
mov word [rdx - 2], ax
mov rbx, qword [rbp - 0x21]
cmp r8, rbx
jb 0x140017c7a
mov rsi, rsi
mov rsi, qword [rbp - 0x29]
mov rcx, r12
call fcn.140072210
mov rcx, r15
mov dword [rsp - 0x28], ecx
call fcn.140072210
cmp rbx, 0x10
jne 0x140017d39
mov dword [rsp - 0x2c], 0x53b83a1a
lea ecx, [rbx + 0x10]
call fcn.140072200
mov r8, rsi
xchg rbx, rbx
mov qword [r13], rax
sub r8, rax
mov qword [r13 + 8], rbx
mov rdx, rax
mov r10, r10
movzx eax, word [r8 + rdx]
inc rdi
mov word [rdx], ax
xchg r10, r10
lea rdx, [rdx + 2]
cmp rdi, qword [r13 + 8]
jb 0x140017d16
mov rdi, rdi
mov rcx, rsi
jmp 0x140018162
cmp rbx, 4
jbe 0x140017d4f
mov rcx, rsi
mov dword [rsp - 0x34], 0x232d082a
call fcn.140072210
mov r8d, 0x1538f622
add r8d, 0x2aeb9a53
mov dword [rsp - 0xc], esp
add r8d, 0xeb18bec
sub r8d, 0x127438b7
add r8d, 0x221d4b37
xchg r14, r14
sub r8d, 0x19257a4f
sub r8d, 0x4559b482
lea rdx, [rbp - 0x39]
mov rbp, rbp
lea rcx, [0x1400a3f20]
call fcn.14006d590
mov r14, qword [rbp - 0x31]
mov r12, r12
lea rsi, [rbp - 0x39]
cmp r14, 4
pushf
mov dword [rsp - 0x14], edi
mov eax, 0x771aa8
add eax, 0x1b48e3d1
xor eax, 0x1ec43f2b
mov r9, r9
add eax, 0xeab5e4b
xor eax, 0x3f452cad
add eax, 0x2e541a6f
xor eax, 0x59b64d9d
xchg rbx, rbx
popf
cmova rsi, qword [rbp - 0x39]
lea rcx, [r14 + 1]
mul rcx
xchg r15, r15
pushf
movabs rcx, 0xffffffff0ba5bec1
add rcx, 0x20b1b52d
sub rcx, 0x267a23b9
mov rbp, rbp
xor rcx, 0x18d42c01
add rcx, 0x2175c7c4
xor rcx, 0x1eef7639
xchg rsp, rsp
add rcx, 0x7fffffff
add rcx, 0x5f6fca3f
popf
cmovo rax, rcx
mov dword [rsp - 0x28], edi
mov rcx, rax
call fcn.140072200
mov rbx, rax
mov r8, rdi
mov r13, r13
test r14, r14
je 0x140017ec6
mov rdx, rax
xchg r9, r9
sub rsi, rax
nop dword [rax]
nop word [rax + rax]
mov r10, r10
movzx ecx, r8b
lea rdx, [rdx + 2]
and cl, 3
mov eax, 0x75499d26
mov dword [rsp - 0x3c], 0x724219a
xor eax, 0xa94e0e6
sub eax, 0x5bb89d76
sub eax, 0x149b1f0a
mov dword [rsp - 0x38], 0x60cb19c1
add eax, 0x87baafe
xor eax, 0x435a88a1
sub eax, 0xa3e863a
mov dword [rsp - 0x10], esi
shl cl, 3
inc r8
sar eax, cl
movsx eax, al
xchg rbx, rbx
xor ax, word [rsi + rdx - 2]
mov word [rdx - 2], ax
cmp r8, r14
mov dword [rsp - 0x20], esi
jb 0x140017e64
mov word [rbx + r14*2], di
mov r8, rbx
mov r12, qword [rbp - 0x31]
xchg rdi, rdi
xor edx, edx
mov rax, qword [0x1400a2ec0]
mov r9d, r12d
mov dword [rsp - 0x30], 0x65c64424
xor rax, qword [0x1400a2a90]
mov ecx, 0x5ec139e7
xor ecx, 0x61bd5dba
sub ecx, 0x1c01ebd1
mov r8, r8
xor ecx, 0x38d5f1b4
add ecx, 0x5f803f7f
sub ecx, 0x7b2ecace
mov qword [rsp + 0x38], rdi
xchg rbp, rbp
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov dword [rsp - 0x2c], esi
call rax
movsxd r14, eax
lea esi, [r14 + 1]
movsxd rcx, esi
mov dword [rsp - 0x1c], 0x38157cd0
call fcn.140072200
mov r10, qword [0x1400a2ec0]
mov r9d, r12d
xor r10, qword [0x1400a2a90]
mov dword [rsp - 0x34], 0x2eeea0a9
mov r8, rbx
mov qword [rsp + 0x38], rdi
xor edx, edx
mov dword [rsp - 0x2c], esi
mov qword [rsp + 0x30], rdi
mov ecx, 0x6780de76
sub ecx, 0x5980a132
add ecx, 0x6eb9d50c
xchg r11, r11
sub ecx, 0x6636f52e
add ecx, 0x3e2563e4
add ecx, 0x1330e6e1
xor ecx, 0x67d99a0e
mov r9, r9
mov dword [rsp + 0x28], esi
mov r15, rax
mov qword [rsp + 0x20], rax
xchg r15, r15
call r10
mov rcx, rbx
mov byte [r14 + r15], dil
xchg rsp, rsp
call fcn.140072210
mov r9, r15
lea rcx, [rbp + 7]
xchg r10, r10
mov edx, 0x2e1c6017
add edx, 0x1d08ef24
xor edx, 0x680222c9
xchg rsp, rsp
add edx, 0x205f2aab
add edx, 0x103ee481
add edx, 0x653a7a22
mov r8d, 0x5a13229c
mov dword [rsp - 0x28], 0x648b02a2
xor r8d, 0x8fff25d
add r8d, 0x5ac4b17
sub r8d, 0x34719e29
xor r8d, 0x66e52fa3
mov rbp, rbp
add r8d, 0x7e07e9c4
call fcn.14006c9b0
mov rcx, r15
call fcn.140072210
mov dword [rsp - 0x20], 0x7e8e4a5d
lea rcx, [rbp + 7]
call fcn.14006c3a0
test al, al
mov dword [rsp - 0x3c], esp
je 0x14001814c
mov rcx, qword [rbp - 0x31]
cmp rcx, 4
mov dword [rsp - 0x3c], edx
jbe 0x1400180f6
mov eax, 0x135660d0
xor eax, 0x7804524c
sub eax, 0x4cd94ae2
mov dword [rsp - 0x34], ecx
xor eax, 0x4e2bf4c9
add eax, 0x2d7da64b
xor eax, 0x7dd0b9bc
mov dword [rsp - 0x3c], 0x5a945a76
mul rcx
pushf
movabs rcx, 0xffffffff3354a873
mov dword [rsp - 0x24], 0x3f0ee61a
xor rcx, 0x48b6f8e
sub rcx, 0x126121d
add rcx, 0x23b38946
sub rcx, 0x3a5d47eb
mov dword [rsp - 0x30], 0x19300b16
add rcx, 0x7fffffff
add rcx, 0x5ff008c5
popf
cmovo rax, rcx
mov r8, r8
mov rcx, rax
call fcn.140072200
mov rcx, qword [rbp - 0x31]
mov rdx, rax
mov dword [rsp - 0x10], edx
jmp 0x1400180f9
mov rdx, rdi
cmp rcx, 4
mov qword [r13], rdx
mov dword [rsp - 0x2c], esi
mov qword [r13 + 8], rcx
cmovbe rdx, r13
test rcx, rcx
je 0x140018146
mov r11, r11
cmp rcx, 4
lea rax, [rbp - 0x39]
cmova rax, qword [rbp - 0x39]
mov dword [rsp - 0x28], 0x2de53630
movzx eax, word [rax + rdi*2]
mov word [rdx + rdi*2], ax
inc rdi
mov dword [rsp - 0x28], edx
mov rcx, qword [rbp - 0x31]
cmp rdi, qword [r13 + 8]
jb 0x140018115
mov rbp, rbp
cmp rcx, 4
jmp 0x14001815c
cmp qword [rbp - 0x31], 4
mov qword [r13], rdi
mov qword [r13 + 8], rdi
mov r8, r8
jbe 0x14001816a
mov rcx, qword [rbp - 0x39]
call fcn.140072210
xchg rdi, rdi
lea rcx, [rbp + 7]
call fcn.14006b630
mov r15, qword [rsp + 0xf0]
mov rax, r13
mov r15, r15
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xe0]
add rsp, 0xb0
pop r13
mov dword [rsp - 0x30], ebp
pop rdi
pop rsi
pop rbx
pop rbp
xchg r9, r9
ret