Function at 0x14002e670
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov rdi, rdi
push rbp
push rsi
push rdi
push r12
mov r11, r11
push r13
push r14
push r15
mov rbp, rsp
mov rbp, rbp
sub rsp, 0x80
mov rax, qword [0x1400a4d70]
mov rsi, rcx
xor rax, qword [0x1400a4ab0]
xchg rdi, rdi
add rcx, 0x140
mov ebx, r9d
mov r13, r8
mov dword [rsp - 0x14], 0x7219c7d9
mov r12, rdx
call rax
mov ecx, 0x1876cb9
xor ecx, 0x667f193a
mov dword [rsp - 0xc], ecx
xor ecx, 0xb0b1fac
sub ecx, 0x77bf7fc
sub ecx, 0x5b9f496
xchg rbx, rbx
xor ecx, 0x16d7f139
sub ecx, 0x496a8a74
call fcn.140073cf0
mov rbx, rbx
xor r15d, r15d
test rax, rax
je 0x14002e71b
mov rcx, rax
mov dword [rsp - 0x10], 0x87d4014
call fcn.140052cc0
mov r14, rax
jmp 0x14002e71e
mov r14, r15
lea rcx, [rsi + 0xb0]
mov r9, r9
mov qword [rbp - 0x20], r14
lea rdx, [rbp - 0x20]
call fcn.14002d680
mov edx, dword [rbp + 0x60]
mov dword [rsp - 0x20], edi
mov rcx, r14
call fcn.140054be0
mov rdx, r12
mov r13, r13
mov rcx, r14
call fcn.1400546f0
mov eax, dword [rsi + 0x20]
mov dword [rsp - 0x34], edx
mov r12, r15
mov qword [rbp + 0x40], r15
cmp eax, 1
mov dword [rsp - 0x24], 0xe219fe5
jne 0x14002ea7a
cmp ebx, eax
jne 0x14002e7eb
mov rax, qword [0x1400a5170]
mov dword [rsp - 0x14], ebx
xor ecx, ecx
xor rax, qword [0x1400a4ab0]
call rax
xchg r11, r11
sub eax, dword [r13]
mov ecx, 0x6b8b8d92
xor ecx, 0x283a1297
mov dword [rsp - 0x3c], 0xd3b7a2e
xor ecx, 0x7aea3143
xor ecx, 0x2dc5305b
xor ecx, 0x149e9e1c
cdq
mov r15, r15
sub eax, edx
sar eax, 1
mov dword [rbp + 0x40], eax
mov rax, qword [0x1400a5170]
mov dword [rsp - 0x10], ecx
xor rax, qword [0x1400a4ab0]
call rax
sub eax, dword [r13 + 4]
cdq
xchg rdi, rdi
sub eax, edx
sar eax, 1
mov dword [rbp + 0x44], eax
mov dword [rsp - 0x10], edi
jmp 0x14002e855
test ebx, ebx
jne 0x14002e855
xchg rbx, rbx
mov dword [rbp + 0x40], 0xeb12744
xor dword [rbp + 0x40], 0x506c1b18
xor dword [rbp + 0x40], 0x4fb87836
mov dword [rsp - 0x30], ecx
add dword [rbp + 0x40], 0x4052d741
add dword [rbp + 0x40], 0x2e47e455
mov dword [rbp + 0x44], 0x5d12e033
xor dword [rbp + 0x44], 0x5a283afc
xchg rbx, rbx
add dword [rbp + 0x44], 0xed65cca
sub dword [rbp + 0x44], 0x243bf86
xor dword [rbp + 0x44], 0x7568d9a0
xor dword [rbp + 0x44], 0x38036cfc
mov dword [rsp - 0x38], 0x31b6494b
xor dword [rbp + 0x44], 0xdea6cd4f
lea r12, [rsi + 0x90]
mov r13, qword [r12 + 8]
xchg rdx, rdx
cmp r13, 4
jbe 0x14002e876
mov r12, qword [r12]
mov dword [rsp - 0x20], 0x3b9fed05
lea rcx, [r13 + 1]
mov eax, 0x5c970dc3
add eax, 0x15976da4
mov dword [rsp - 0x10], ebp
xor eax, 0x305d9477
xor eax, 0x10b36027
sub eax, 0x868513f
xor eax, 0x4399ccad
mov r13, r13
sub eax, 0x9c1f153
mul rcx
pushf
xchg rsi, rsi
movabs rcx, 0xffffffff2fe9f5aa
sub rcx, 0xca43cab
sub rcx, 0x1eb92cc3
mov rdx, rdx
add rcx, 0x5cbbd47a
add rcx, 0x7fffffff
xor rcx, 0x1eb79f4a
popf
mov dword [rsp - 0x2c], 0x27938878
cmovo rax, rcx
mov rcx, rax
call fcn.140073cf0
xchg r8, r8
mov rbx, rax
mov r9, r15
test r13, r13
mov dword [rsp - 0x40], edx
je 0x14002e971
mov r8, rax
sub r12, rax
nop
mov rsi, rsi
movzx ecx, r9b
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x4dec301d
mov dword [rsp - 0x24], edi
sub edx, 0x211c8123
xor edx, 0x3e1704a6
xor edx, 0x68509dd6
sub edx, 0x45ba00e4
xchg r14, r14
xor edx, 0x118ee409
sub edx, 0xced742a
shl cl, 3
inc r9
mov dword [rsp - 0x20], edx
sar edx, cl
movsx eax, dl
xor ax, word [r12 + r8 - 2]
mov word [r8 - 2], ax
mov dword [rsp - 0x40], 0x5672c1af
cmp r9, r13
jb 0x14002e90f
mov word [rbx + r13*2], r15w
mov dword [rsp - 0x30], 0x7081a1ca
mov r9d, 0x4631a06d
sub r9d, 0x39e25a29
add r9d, 0x591ff3fd
sub r9d, 0x2eb38e38
mov dword [rsp - 0x14], 0x1ab5a0fb
xor r9d, 0x16f030d
add r9d, 0x482d50fc
mov rax, qword [rsi + 0x38]
mov dword [rsp - 0xc], 0x747767e
xor r8d, r8d
mov r13, qword [rbp + 0x50]
mov r10, qword [0x1400a5150]
mov dword [rsp - 0x40], 0x5ed0efcd
xor r10, qword [0x1400a4ab0]
mov qword [rsp + 0x58], r15
mov ecx, dword [r13 + 4]
mov dword [rsp - 0x24], 0x6504a40b
mov edx, dword [r13]
mov qword [rsp + 0x50], rax
mov eax, dword [rbp + 0x44]
mov qword [rsp + 0x48], r15
mov dword [rsp - 0x34], esi
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], ecx
mov ecx, 0x28d475ac
xor ecx, 0x5e3d3354
mov dword [rsp - 0x24], 0x5a86d35
sub ecx, 0x431340b2
add ecx, 0x4745b8bd
sub ecx, 0x7b13bf03
mov dword [rsp + 0x30], edx
mov rcx, rcx
mov rdx, rbx
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x40]
xchg r13, r13
mov dword [rsp + 0x20], eax
call r10
mov rcx, rbx
mov r12, rax
mov dword [rsp - 0x44], esp
call fcn.140073d00
test r12, r12
je 0x14002ec7e
xchg rsi, rsi
mov rdx, r14
mov rcx, rsi
call fcn.14002e430
mov dword [rsp - 0x2c], 0x4412d9af
jmp 0x14002ec13
cmp eax, 2
jne 0x14002ec13
mov dword [rsp - 0xc], 0x6c7797d7
mov rax, qword [0x1400a5220]
lea rdx, [rbp - 0x18]
xor rax, qword [0x1400a4ab0]
mov rcx, qword [rsi + 0x30]
mov dword [rsp - 0x30], esi
call rax
cmp ebx, 1
jne 0x14002eae8
mov dword [rsp - 0x44], ecx
mov eax, dword [rbp - 0x10]
sub eax, dword [r13]
sub eax, dword [rbp - 0x18]
cdq
mov dword [rsp - 0x24], 0x3e2f1c71
sub eax, edx
sar eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp - 0xc]
mov dword [rsp - 0x38], esi
sub eax, dword [r13 + 4]
sub eax, dword [rbp - 0x14]
cdq
sub eax, edx
mov r9, r9
sar eax, 1
mov dword [rbp + 0x44], eax
jmp 0x14002ebb1
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rsi + 0xb0]
xchg rsp, rsp
mov rbx, qword [rax + rcx*8 - 0x10]
cmp rbx, qword [rsi + 0x130]
je 0x14002eb44
mov dword [rsp - 0x2c], esp
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.1400510e0
xchg rcx, rcx
mov rcx, rbx
mov edx, dword [rax]
add edx, 0x50
mov dword [rbp + 0x40], edx
mov rdx, rdx
lea rdx, [rbp - 0x20]
call fcn.1400510e0
mov ecx, dword [rax + 4]
add ecx, 0x28
mov dword [rsp - 0x2c], 0x2927cfa9
mov dword [rbp + 0x44], ecx
jmp 0x14002ebb1
mov dword [rbp + 0x40], 0x26aa5aaf
xor dword [rbp + 0x40], 0x6b9c69c6
xor dword [rbp + 0x40], 0x57d05fee
xchg r10, r10
add dword [rbp + 0x40], 0x2d6fd607
add dword [rbp + 0x40], 0x34db71a
add dword [rbp + 0x40], 0x2cdbc110
mov dword [rsp - 0x20], ebx
sub dword [rbp + 0x40], 0x787fbaa4
mov dword [rbp + 0x44], 0x2422f072
xor dword [rbp + 0x44], 0x5885f927
mov r10, r10
sub dword [rbp + 0x44], 0x4260dd77
xor dword [rbp + 0x44], 0x4814b138
sub dword [rbp + 0x44], 0x6ea63aba
mov dword [rsp - 0xc], 0x554825ce
sub dword [rbp + 0x44], 0x3ac6004
mov rax, rsi
mov edx, 0x16ae2517
xor edx, 0x7a3163d3
mov dword [rsp - 0x34], edi
add edx, 0xa98b830
sub edx, 0x2842774
sub edx, 0x67ea5917
xor edx, 0x7fa8af26
mov dword [rsp - 0x34], 0x33c5d998
sub edx, 0x7361d097
mov rcx, r14
mov rdx, qword [rax + rdx]
dec rdx
mov dword [rsp - 0x18], 0x4bc4c92d
call fcn.1400522b0
mov rdx, r14
mov rcx, rsi
call fcn.14002f0c0
mov dword [rsp - 0x3c], 0xc85f44d
mov rax, qword [r14]
lea rdx, [rbp + 0x40]
mov rcx, r14
mov dword [rsp - 0x10], 0x3fd00502
call qword [rax + 0x38]
mov rax, qword [r14]
mov rdx, r13
mov r15, r15
mov rcx, r14
call qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
mov r13, r13
cmp eax, 1
jne 0x14002ee1e
mov r8, r12
mov rdx, r14
mov dword [rsp - 0x38], 0x399f2cc0
mov rcx, rsi
call fcn.14002eeb0
mov rcx, r12
mov dword [rsp - 0x20], ecx
test al, al
jne 0x14002ed35
mov rax, qword [0x1400a5160]
xchg rbp, rbp
xor rax, qword [0x1400a4ab0]
call rax
mov qword [rbp - 0x20], r14
cmp qword [rsi + 0x120], r14
mov dword [rsp - 0x24], 0x75c49400
jne 0x14002ec9a
mov qword [rsi + 0x120], r15
lea rdx, [rbp - 0x20]
lea rcx, [rsi + 0xb0]
mov dword [rsp - 0x18], 0x2f6f2fe0
call fcn.14002db90
cmp dword [rsi + 0x20], 1
jne 0x14002ecd0
lea rdx, [rbp - 0x20]
mov dword [rsp - 0x28], 0x75147289
lea rcx, [rsi + 0x100]
call fcn.14002da90
mov rcx, qword [rsi + 0x130]
mov dword [rsp - 0x38], ebp
test rcx, rcx
je 0x14002ecec
mov rdx, qword [rbp - 0x20]
call fcn.140052920
mov rdi, rdi
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14002ee6e
mov rax, qword [rcx]
xchg r15, r15
mov edx, 0x27efdd84
xor edx, 0x4551dbad
sub edx, 0x703ba4f
mov dword [rsp - 0x20], 0x182a16b5
sub edx, 0x59823817
add edx, 0x71c4bbbc
sub edx, 0x73fccf7e
call qword [rax]
mov dword [rsp - 0x44], edi
jmp 0x14002ee6e
mov rax, qword [0x1400a5270]
mov r9d, 0x1cfd441d
xor r9d, 0x68d5f996
sub r9d, 0x54d7a3ed
mov r14, r14
add r9d, 0x14e78005
xor r9d, 0x2d0de4ad
xor r9d, 0x19357d0c
mov dword [rsp - 0x18], ecx
xor rax, qword [0x1400a4ab0]
mov r8b, 0x61
sub r8b, 0x49
xor r8b, 0x76
xchg r13, r13
add r8b, 0xf
xor r8b, 0x71
add r8b, 0x19
xchg rcx, rcx
xor r8b, 0xda
xor edx, edx
call rax
xchg rsi, rsi
mov eax, dword [r13]
lea rdx, [rbp - 0x18]
mov dword [rbp - 0x10], eax
mov rcx, r12
xchg r9, r9
mov eax, dword [r13 + 4]
mov dword [rbp - 0xc], eax
mov rax, qword [0x1400a5800]
xor rax, qword [0x1400a4ab0]
xchg rsi, rsi
mov qword [rbp - 0x18], r15
call rax
mov rax, qword [0x1400a5280]
mov dword [rsp - 0x14], edi
mov rcx, r12
xor rax, qword [0x1400a4ab0]
call rax
mov dword [rsp - 0x40], ecx
mov rax, qword [0x1400a5290]
mov edx, 0x3adce68b
add edx, 0xfbe3d8
add edx, 0x3d1a79fe
mov dword [rsp - 0x18], ebp
xor edx, 0x502bd2fa
sub edx, 0x28d89696
xor rax, qword [0x1400a4ab0]
mov rcx, rcx
mov rcx, r12
call rax
jmp 0x14002ee6b
cmp eax, 2
jne 0x14002ee6b
mov rdx, qword [rsi + 0xa0]
mov dword [rsp - 0x34], 0x1ba047dd
test rdx, rdx
je 0x14002ee43
mov rax, qword [r14]
mov rcx, r14
mov r8, r8
call qword [rax + 0x20]
mov rax, qword [r14]
mov rcx, r14
mov dword [rsp - 0x30], 0x54368c64
call qword [rax + 0x30]
mov rcx, qword [rsi + 0x130]
mov rdx, r14
call fcn.140052780
mov dword [rsp - 0x14], 0x1ef9f6df
mov r15, r14
mov rdx, qword [0x1400a4d80]
lea rcx, [rsi + 0x140]
mov rbx, rbx
xor rdx, qword [0x1400a4ab0]
call rdx
mov rbx, qword [rsp + 0xc8]
mov rax, r15
mov rdx, rdx
add rsp, 0x80
pop r15
pop r14
mov r14, r14
pop r13
pop r12
pop rdi
pop rsi
mov dword [rsp - 0x30], ecx
pop rbp
ret