Function at 0x1404815af
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov dword [rsp - 0x14], 0x6823e5e5
lea rbp, [rsp - 0x360]
add rsp, 0x411837c4
sub rsp, 0x41183c24
mov eax, edx
mov rdx, rdx
movzx edi, r8b
xchg r8, rcx
mov rsi, r8
xchg rcx, r8
lea rdx, [rbp + 0x150]
mov ecx, eax
mov dword [rsp - 0x34], ebp
mov r8d, 0x3c8f3cbe
sub r8d, 0x60709b4
add r8d, 0x3fd4a659
sub r8d, 0x765cd85f
call fcn.14007b3f0
mov dword [rsp - 0x38], edi
test al, al
je 0x140481c50
xchg r14, rbx
mov qword [rsp + 0x470], r14
xchg r14, rbx
xchg r14, r11
mov qword [rsp + 0x478], r11
xchg r14, r11
test dil, dil
mov r12, r12
jne 0x14048191b
mov edx, 0x4f978b9f
xor edx, 0x658522bb
xor edx, 0x2b0d6b00
xor edx, 0x5884775b
xor edx, 0x599bb523
lea rcx, [rbp + 0x150]
call fcn.14009a300
mov dword [rsp - 0x18], ecx
mov rdi, rax
test rax, rax
je 0x140481651
mov r15, r15
sub rdi, 0xfffffffffffffffe
jmp 0x14048165b
lea rdi, [rbp + 0x150]
xchg rsi, rsi
lea rax, [rsp + 0x38]
xor edx, edx
mov r8d, 0x71fe3313
sub r8d, 0x6b58c6aa
add r8d, 0x65d2b78d
xor r8d, 0x536a30f6
xor r8d, 0x3f121200
xchg r11, rax
mov qword [rsp + 0x30], r11
xchg r11, rax
lea rcx, [rsp + 0x38]
call fcn.140099800
nop
movabs rbx, 0xffffffff3bdb39d1
xor rbx, 0x330ee8ba
add rbx, 0x587fb7c8
sub rbx, 0x88fb8c3
add rbx, 0x7fffffff
add rbx, 0x273a2f90
xchg rsp, rbx
mov rax, rsp
xchg rbx, rsp
inc rax
cmp word [rdi + rax*2], 0
mov dword [rsp - 0x30], edi
jne 0x1404816ce
mov rcx, qword [rsp + 0x30]
lea r14, [rax + 1]
mov dword [rsp - 0x3c], esi
xchg r10, rax
mov qword [rbp + 0x38], r10
xchg r10, rax
lea rax, [rsp + 0x38]
xchg r15, r15
cmp rcx, rax
je 0x140481713
call fcn.140099240
mov dword [rsp - 0x44], 0x2a9b6848
cmp r14, 0x80
jbe 0x140481757
lea rcx, [r14 + r14]
call fcn.140099540
mov r9, r9
xchg r15, rax
mov qword [rsp + 0x30], r15
xchg r15, rax
test rax, rax
jne 0x140481769
mov dword [rsp - 0xc], esi
lea r14, [rsp + 0x38]
xchg r14, rdx
mov qword [rsp + 0x30], rdx
xchg rdx, r14
jmp 0x1404817d2
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
xchg rdx, rdx
lea rax, [rsp + 0x38]
xor edx, edx
mov r8d, 0x70fd0d30
add r8d, 0x8446469
xor r8d, 0x364e2466
add r8d, 0x2816e6a2
xor r8d, 0x77263da1
xchg r9, rax
mov rcx, r9
xchg r9, rax
call fcn.140099800
xchg r11, r14
mov r11, qword [rsp + 0x30]
xchg r14, r11
test r14, r14
je 0x1404817d2
mov r9, qword [rbp + 0x38]
mov dword [rsp - 0x34], ebp
xchg rdi, r8
mov rdi, r8
xchg r8, rdi
mov rcx, r14
mov rbx, rbx
lea rdx, [r9 + 1]
call fcn.14009a230
mov r14, qword [rsp + 0x30]
xorps xmm0, xmm0
mov dword [rsp - 0x20], edi
lea rdi, [rbp + 0x150]
xor eax, eax
mov ecx, 0x64f04af
add ecx, 0x3dd0d1f8
add ecx, 0x20c45375
sub ecx, 0x64e42814
rep stosb byte [rdi], al
mov dword [rsp - 0x14], ecx
lea rax, [rsi + 8]
xchg r13, rax
mov qword [rsi], r13
xchg r13, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
xchg r8, rax
movups xmmword [r8 + 0x20], xmm0
xchg r8, rax
nop dword [rax + rax]
xchg r12, r12
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140481825
mov dword [rsp - 0x20], 0xd8a3453
mov rdx, rbx
mov qword [rsi + 0x38], rbx
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
call fcn.14000ee10
xor edx, edx
xchg r8, rax
mov rax, r8
xchg r8, rax
mov edi, 0x452aea6d
xor edi, 0xde25bcf
xor edi, 0x6b1b6fef
add edi, 0x57ff68d9
sub edi, 0x6122f70f
cmp qword [rsi + 0x38], rdx
jbe 0x1404818f0
xchg rsp, rsp
sub r14, rax
mov r9d, 0x12bb2c8b
add r9d, 0x1033335f
add r9d, 0x56c8032f
sub r9d, 0x455dc3ae
xor r9d, 0x34589f94
nop dword [rax]
mov r12, r12
nop word [rax + rax]
movzx eax, di
lea r8, [r8 + 2]
mov dword [rsp - 0xc], 0x4fa1f905
and ax, r9w
ror edi, 5
ror edi, 1
ror edi, 1
ror edi, 1
xor ax, word [r8 + r14 - 2]
inc rdx
xchg rbp, rbp
mov word [r8 - 2], ax
cmp rdx, qword [rsi + 0x38]
jb 0x1404818b9
xchg r9, rcx
mov r9, qword [rsp + 0x30]
xchg r9, rcx
lea rax, [rsp + 0x38]
mov dword [rsp - 0x3c], 0x43b36259
cmp rcx, rax
jne 0x140481c42
lea rdi, [rsp + 0x38]
jmp 0x140481be1
lea rax, [rbp + 0x48]
xor edx, edx
xchg r15, r15
mov r8d, 0x40d299d8
sub r8d, 0x1d9e0fd3
xor r8d, 0x3e497be4
sub r8d, 0x1d7df0e1
xchg r11, rax
mov qword [rbp + 0x40], r11
xchg r11, rax
lea rcx, [rbp + 0x48]
mov dword [rsp - 0x20], ebx
call fcn.140099800
nop
movabs rbx, 0xffffffff1253e968
sub rbx, 0x120ae42b
add rbx, 0x26259fc3
xor rbx, 0x6e0312aa
add rbx, 0x7fffffff
add rbx, 0x37924856
lea rcx, [rbp + 0x150]
mov rax, rbx
mov rcx, rcx
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140481996
mov dword [rsp - 0x20], 0x2dbe4b0d
xchg rcx, r15
mov r15, qword [rbp + 0x40]
xchg rcx, r15
lea rdi, [rax + 1]
mov qword [rbp + 0x148], rax
lea rax, [rbp + 0x48]
mov dword [rsp - 0x14], 0x10148709
cmp rcx, rax
je 0x1404819db
call fcn.140099240
cmp rdi, 0x80
mov r14, r14
jbe 0x140481a19
lea rcx, [rdi + rdi]
call fcn.140099540
mov qword [rbp + 0x40], rax
mov r10, r10
test rax, rax
jne 0x140481a2c
lea r14, [rbp + 0x48]
mov dword [rsp - 0x30], 0x4247ba7e
mov qword [rbp + 0x40], r14
jmp 0x140481aa8
lea rax, [rbp + 0x48]
xchg r8, r8
xchg rdi, rax
mov qword [rbp + 0x40], rdi
xchg rdi, rax
lea rax, [rbp + 0x48]
xor edx, edx
mov r8d, 0x1e0dfc34
sub r8d, 0x1138af69
add r8d, 0x2d4b4728
add r8d, 0x149aebc3
sub r8d, 0x4ebb7eb6
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.140099800
mov r14, qword [rbp + 0x40]
mov dword [rsp - 0x18], esp
test r14, r14
je 0x140481aa8
xchg r14, r9
mov r14, qword [rbp + 0x148]
xchg r14, r9
lea r8, [rbp + 0x150]
xchg rdi, rdi
xchg rcx, r14
mov r14, rcx
xchg r14, rcx
lea rdx, [r9 + 1]
mov dword [rsp - 0x24], 0x12398efc
call fcn.14009a230
xchg r9, r14
mov r9, qword [rbp + 0x40]
xchg r9, r14
xorps xmm0, xmm0
mov r10, r10
lea rdi, [rbp + 0x150]
xor eax, eax
mov ecx, 0x1eb10ce7
xor ecx, 0x1560d6eb
add ecx, 0x6831e3bd
sub ecx, 0x1fd32f5
sub ecx, 0x720688cc
rep stosb byte [rdi], al
xchg r14, r14
lea rax, [rsi + 8]
xchg r9, rax
mov qword [rsi], r9
xchg r9, rax
movups xmmword [rax], xmm0
mov r12, r12
xchg rbp, rax
movups xmmword [rbp + 0x10], xmm0
xchg rbp, rax
xchg r8, rax
movups xmmword [r8 + 0x20], xmm0
xchg r8, rax
inc rbx
xchg r8, r8
cmp word [r14 + rbx*2], 0
jne 0x140481afb
xchg rdx, rbx
mov rbx, rdx
xchg rdx, rbx
xchg rbx, rcx
mov qword [rsi + 0x38], rcx
xchg rbx, rcx
mov rcx, rsi
mov dword [rsp - 0xc], ebx
call fcn.14000ee10
xor edx, edx
mov rcx, rax
mov edi, 0x85ccfda
xor edi, 0x7fa07490
sub edi, 0x6822b8ca
add edi, 0x2dab37bb
xor edi, 0x27356a2c
cmp qword [rsi + 0x38], rdx
mov dword [rsp - 0x30], ebp
jbe 0x140481bc4
sub r14, rax
mov r9d, 0x61e1c746
sub r9d, 0x3e71f035
add r9d, 0x5631b654
xor r9d, 0x7c8764de
sub r9d, 0x526e8bc
nop word [rax + rax]
movzx eax, di
xchg rsi, rsi
lea rcx, [rcx + 2]
and ax, r9w
ror edi, 7
ror edi, 1
xor ax, word [rcx + r14 - 2]
mov dword [rsp - 0x44], 0x12fc2bba
inc rdx
mov word [rcx - 2], ax
cmp rdx, qword [rsi + 0x38]
mov dword [rsp - 0x10], 0x237f43a0
jb 0x140481b8a
mov rcx, qword [rbp + 0x40]
lea rax, [rbp + 0x48]
cmp rcx, rax
mov dword [rsp - 0x38], 0x6fb17f1b
jne 0x140481c42
lea rdi, [rbp + 0x48]
xor eax, eax
mov ecx, 0x4082dbd6
xor ecx, 0xf36250d
add ecx, 0x1bade9d1
xor ecx, 0x6b62e9ac
rep stosb byte [rdi], al
mov rbx, qword [rsp + 0x470]
mov r14, qword [rsp + 0x478]
mov r12, r12
lea r11, [rsp + 0x460]
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
mov rsi, qword [r11 + 0x20]
xchg r14, r14
xchg rsi, rdi
mov rsi, qword [r11 + 0x28]
xchg rsi, rdi
xchg rdi, r11
mov rsp, rdi
xchg r11, rdi
nop
mov rbp, qword [rsp]
add rsp, 8
ret
call fcn.140099240
mov dword [rsp - 0x40], esi
jmp 0x140481bfc
lea rdi, [rsi + 8]
mov dword [rsp + 0x20], 0x55d9e915
add dword [rsp + 0x20], 0xfe1ef5b
add dword [rsp + 0x20], 0x1128ab2f
xor dword [rsp + 0x20], 0x53ac3d67
xor dword [rsp + 0x20], 0x54969bd3
mov qword [rsi], rdi
xorps xmm0, xmm0
xchg rdi, r9
movups xmmword [r9], xmm0
xchg r9, rdi
mov dword [rsp + 0x24], 0x784c4899
sub dword [rsp + 0x24], 0x6de849e2
xor dword [rsp + 0x24], 0x2a32277
add dword [rsp + 0x24], 0x5a3d2368
add dword [rsp + 0x24], 0x11c93f51
xchg rcx, rdi
movups xmmword [rcx + 0x10], xmm0
xchg rdi, rcx
mov byte [rsp + 0x28], 0x22
xor byte [rsp + 0x28], 0x54
xor byte [rsp + 0x28], 0x3e
sub byte [rsp + 0x28], 0x1f
xchg rbp, rdi
movups xmmword [rbp + 0x20], xmm0
xchg rbp, rdi
mov qword [rsi + 0x38], 0x806730
add qword [rsi + 0x38], 0x43fdd8d4
xor qword [rsi + 0x38], 0x6b748444
sub qword [rsi + 0x38], 0x2f0ac437
xchg rcx, r12
mov r12, qword [rsi]
xchg rcx, r12
cmp rcx, rdi
je 0x140481d1b
mov dword [rsp - 0x24], 0x4d62072f
call fcn.140099240
mov qword [rsi], rdi
xorps xmm0, xmm0
mov dword [rsp - 0x2c], 0x2afad339
xchg rdi, r11
movups xmmword [r11], xmm0
xchg r11, rdi
xor edx, edx
movups xmmword [rdi + 0x10], xmm0
mov r12, r12
xchg rdi, r8
movups xmmword [r8 + 0x20], xmm0
xchg r8, rdi
xchg rcx, r10
mov r10, qword [rsi]
xchg rcx, r10
cmp qword [rsi + 0x38], rdx
jbe 0x140481c0f
mov r8, r8
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x20]
mov word [rcx + rdx*2], ax
xchg r14, r14
inc rdx
cmp rdx, qword [rsi + 0x38]
jb 0x140481d68
jmp 0x140481c0f