Function at 0x1400ec440
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
neg rsp
sub rsp, 0xffffffffffffff10
neg rsp
mov rax, qword gs:[0x30]
mov edi, r9d
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov rsi, qword [rax + 0x48]
lock inc dword [rcx + 0x6b0]
je 0x1400ec4ad
cmp rsi, qword [rcx + 0x6a0]
je 0x1400ec60f
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140056510
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x7cd58eb7
sub dword [rbx + 0x6b4], 0x17d1846d
add dword [rbx + 0x6b4], 0x1498b9ad
sub dword [rbx + 0x6b4], 0x799cc3f6
mov rcx, qword [rbx + 0x510]
mov rax, qword [rcx]
call qword [rax + 8]
lea r12, [rbx + 0x598]
mov qword [rbp - 0x39], rax
mov rcx, r12
lea rdx, [rbp - 0x39]
mov rsi, rax
call fcn.1400eb364
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.1400fe8b0
mov rdx, r14
mov rcx, rsi
call fcn.1400fe640
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0x272443bc499bc365
xor rdx, 0x13c5ef23
add rdx, 0x22fc8e29
sub rdx, 0x7ad0b826
cmp eax, 1
jne 0x1400ec865
cmp edi, eax
jne 0x1400ec61a
mov rax, qword [0x140142018]
movabs r12, 0xab4b817d247dad5c
xor r12, 0x50c02290
sub r12, 0x4634755c
add r12, 0x2dbf605d
add rax, r12
movabs r14, 0x7b5f7c911c44239e
xor r14, 0x5f9fcca0
add r14, 0x7fffffff
add r14, 0xb42b731
not rax
movabs rdi, 0x680707a061c847be
xor rdi, 0x118c1996
xor rdi, 0x9e8a7c7
sub rdi, 0x62dc0c71
rol rax, 0x3d
xor ecx, ecx
sub rax, r14
ror rax, 0x11
add rax, rdi
call rax
sub eax, dword [r15]
lea ecx, [r13 + 1]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov rax, qword [0x140142018]
add rax, r12
not rax
rol rax, 0x3d
sub rax, r14
ror rax, 0x11
add rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
jmp 0x1400ec639
inc dword [rcx + 0x6b4]
jmp 0x1400ec4dc
test edi, edi
jne 0x1400ec63c
mov eax, 0x1312fb20
add eax, 0x3e4c51bd
add eax, 0xe6dde50
xor eax, 0xdfcd2b2d
mov dword [rbp - 0x71], eax
mov dword [rbp - 0x6d], eax
mov al, byte [rbp + 0x77]
mov rcx, qword [rbp + 0x7f]
neg al
mov qword [rbp - 0x61], r13
sbb r14d, r14d
and r14d, 0x3ff80
test rcx, rcx
je 0x1400ec67a
call fcn.14008f4d0
mov rcx, rax
test rax, rax
je 0x1400ec67a
mov rax, qword [rax]
call qword [rax + 0xb0]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x272443bc3e254034
xor rcx, 0x13c68b8f
sub rcx, 0x2b59c972
mov r12, qword [rbx + 0x540]
xor rax, rcx
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x29]
mov eax, dword [r15 + 4]
mov dword [rbp + 0x4f], eax
lea rdx, [r13 + 1]
mov eax, dword [r15]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x21]
mov qword [rbp - 0x29], rax
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
call fcn.140017bb4
xor r9d, r9d
mov edx, 0xc3961e8
xor edx, 0x290e0c81
add edx, 0x3163fa9
xor edx, 0x18138f5a
test r13, r13
je 0x1400ec746
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x67115314
sub r10d, 0x65819b61
add r10d, 0x129c049d
xor r10d, 0x142bbcaf
movzx ecx, dx
ror edx, 8
and cx, r10w
xor cx, word [r12 + rdi]
mov word [rdi], cx
lea rdi, [rdi + 2]
sub r8, 1
jne 0x1400ec726
mov word [rax + r13*2], r9w
movabs rcx, 0x3230fb5d7978abdf
sub rcx, 0x77875033
xor rcx, 0x71f65f09
sub rcx, 0x1776b74
mov rdi, qword [0x140142008]
movabs rax, 0x7e66402b41dd506a
add rax, 0x2b9cb1fe
add rax, 0x46b43501
mov rdx, qword [rbp - 0x29]
add rdi, rcx
not rdi
lea ecx, [r14 + 0x80080]
rol rdi, 0x2f
xor r13d, r13d
sub rdi, rax
mov qword [rsp + 0x58], r13
movabs rax, 0xb466d6d65f745b92
sub rax, 0x2e60261e
sub rax, 0x1bd8e07a
add rax, 0x7fffffff
add rax, 0x27c77b46
ror rdi, 0x31
add rdi, rax
mov r9d, 0x5e80ff7a
xor r9d, 0x76139763
add r9d, 0x3aa6b096
add r9d, 0x1cc7e751
mov rax, qword [rbp - 0x31]
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x61]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x4f]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x69]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x6d]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x71]
mov dword [rsp + 0x20], eax
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x1400ec847
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400ec84c
call fcn.140099810
test r14, r14
je 0x1400eca8a
mov rdx, rsi
mov rcx, rbx
call fcn.1400ebf8c
jmp 0x1400ec9b1
cmp eax, 2
jne 0x1400ec9b1
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x140142080]
xor rcx, rdx
movabs rdx, 0x27671e6f3793493a
add rdx, 0x5414bf8
sub rdx, 0x3c6a457f
add rdx, 0x71117fa8
add rax, rdx
movabs rdx, 0x4463d41477d8c200
xor rdx, 0x2f1e760e
xor rdx, 0x23c5ef1b
add rdx, 0x7fffffff
sub rdx, 0x1f285d1
xor rax, rdx
lea rdx, [rbp - 0x59]
not rax
ror rax, 0x2e
call rax
cmp edi, 1
jne 0x1400ec908
mov eax, dword [rbp - 0x51]
sub eax, dword [r15]
sub eax, dword [rbp - 0x59]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov eax, dword [rbp - 0x4d]
sub eax, dword [r15 + 4]
sub eax, dword [rbp - 0x55]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x6d], eax
jmp 0x1400ec97d
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x1400ec953
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400f02e0
mov rcx, rdi
mov edx, dword [rax]
sub edx, 0xffffffb0
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400f02e0
mov ecx, dword [rax + 4]
sub ecx, 0xffffffd8
mov dword [rbp - 0x6d], ecx
jmp 0x1400ec97d
mov dword [rbp - 0x71], 0x75ab5a85
sub dword [rbp - 0x71], 0x4d0cd1f9
xor dword [rbp - 0x71], 0x289e8898
mov dword [rbp - 0x6d], 0x22859671
add dword [rbp - 0x6d], 0x154aac71
sub dword [rbp - 0x6d], 0x37d042ba
mov edx, 0x468f156b
sub edx, 0x1c35ea66
xor edx, 0xf01cbb5
sub edx, 0x2558db10
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rbx + rdx]
dec rdx
call fcn.1400fca20
mov rdx, rsi
mov rcx, rbx
call fcn.1400ed0d4
mov rax, qword [rsi]
lea rdx, [rbp - 0x71]
mov rcx, rsi
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rdx, r15
mov rcx, rsi
call qword [rax + 0x40]
mov eax, dword [rbx + 0x518]
cmp eax, 1
jne 0x1400eccac
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecd58
test al, al
jne 0x1400eca9d
mov rdx, qword [0x140142010]
movabs rcx, 0x57bf9a0b7a19ff23
xor rcx, 0x5b8845b9
sub rcx, 0x502ac96
add rcx, 0x293fdf32
add rdx, rcx
movabs rax, 0x32e10dab0f13f538
add rax, 0x25083abe
add rax, 0xb8e47fa
add rax, 0x7fffffff
xor rax, 0x355f1bdf
xor rdx, rax
mov rcx, r14
not rdx
movabs rax, 0x46eb4f1e37d542a8
xor rax, 0x6904247e
add rax, 0x1518a1af
add rax, 0x37058f73
ror rdx, 0xc
xor rdx, rax
movabs rax, 0x1682cd7d3ae05a66
add rax, 0x18971a10
sub rax, 0xd85a3b1
sub rax, 0x26647db
not rdx
sub rdx, rax
call rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400ece4c
mov rsi, r13
jmp 0x1400eccf0
mov rax, qword [0x1401420a0]
movabs rcx, 0x8d375d7a0f172e67
add rcx, 0x5933b723
add rcx, 0x7fffffff
xor rcx, 0x151d5dcd
add rax, rcx
xor edx, edx
ror rax, 0x1f
movabs rcx, 0x347ff4c24cc8eb5c
add rcx, 0x78e84db
add rcx, 0x7fffffff
xor rcx, 0x37f31e84
xor rax, rcx
mov r8d, 0x2dd11a
add r8d, 0x731bc0dd
sub r8d, 0x2a702e41
xor r8d, 0x48d96349
movabs rcx, 0x4565003a7c0604ca
xor rcx, 0x5da54d94
add rcx, 0x7fffffff
add rcx, 0x4b2aafd9
sub rax, rcx
lea r9d, [rdx + 2]
movabs rcx, 0x3be7a7d91e29f7a7
sub rcx, 0x170f3d46
xor rcx, 0x1d517244
xor rax, rcx
mov rcx, r14
rol rax, 0x17
call rax
movabs rax, 0x272443bc6bc08f08
xor rax, 0x6afa1cb3
xor rax, 0x275903ae
xor rax, 0x24e9925c
cmp qword [rbx + 0x760], rax
je 0x1400ecbc8
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x84260a6c3b197bde
sub rcx, 0x1b717d75
xor rcx, 0x5939f63c
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
ror rax, 0x29
xor rax, rcx
mov rcx, r14
ror rax, 0x3a
not rax
ror rax, 0x12
call rax
mov rdx, qword [0x1401420a8]
movabs rcx, 0x2e17190f46a79c2c
xor rcx, 0x260614cb
sub rcx, 0x41af7efd
add rdx, rcx
movabs rax, 0x6cb9a4f672147c79
sub rax, 0x2c664b7e
add rax, 0x5d460bd
add rax, 0xe0ee7ff
not rdx
mov rcx, r14
add rdx, rax
not rdx
call rdx
mov rax, qword [0x1401420b0]
movabs rcx, 0xab7a5c7c3751ce4b
sub rcx, 0x14dbfaaa
xor rcx, 0x5d75e451
add rcx, 0x7fffffff
xor rcx, 0x7eeb76db
not rax
mov edx, 0xeef09e
add edx, 0x3e6e246d
add edx, 0x39e34046
sub edx, 0x7940554c
ror rax, 0x37
add rax, rcx
movabs rcx, 0x37117c50a198330
add rcx, 0x36f83d7c
add rcx, 0x4c6bbe4
not rax
sub rax, rcx
movabs rcx, 0x4bbfe22601303cd9
add rcx, 0x7d65ab64
sub rcx, 0x2d9eadce
sub rcx, 0x322cfe91
xor rax, rcx
mov rcx, r14
call rax
jmp 0x1400eccf0
cmp eax, 2
jne 0x1400eccf0
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x1400eccce
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
cmp byte [rbp + 0x77], r13b
je 0x1400eccf0
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.140105ca0
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x1400ecd2d
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x1400ecd34
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.1400564b0
jmp 0x1400ecd34
lock add dword [rbx + 0x6b0], ecx
lea r11, [rsp + 0xf0]
mov rax, rsi
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret