Function at 0x1400ec090
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]
sub rsp, 0x74feaf37
add rsp, 0x74feae47
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 0x1400ec0fe
cmp rsi, qword [rcx + 0x6a0]
je 0x1400ec234
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140056210
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x6a7150af
xor dword [rbx + 0x6b4], 0x2b0b3f1c
xor dword [rbx + 0x6b4], 0x3e20a7e9
sub dword [rbx + 0x6b4], 0x7f5ac859
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.1400eaef4
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.1400fe340
mov rdx, r14
mov rcx, rsi
call fcn.1400fe0e0
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0x7bd70e005c4e47e0
sub rdx, 0x2b10bcc3
add rdx, 0x17c977a1
cmp eax, 1
jne 0x1400ec498
cmp edi, eax
jne 0x1400ec23f
mov rax, qword [0x140142018]
movabs rdi, 0x7d3574b03d29b9a
xor rdi, 0x2b31e09
xor rdi, 0x4521cc2b
add rdi, 0x7fffffff
xor rdi, 0x1b963d38
ror rax, 0x3a
movabs r14, 0xa15f5d07313452d
sub r14, 0x2af1b829
sub r14, 0x4615b73d
xor rax, rdi
xor ecx, ecx
rol rax, 0x2f
not rax
add rax, r14
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]
ror rax, 0x3a
xor rax, rdi
rol rax, 0x2f
not rax
add rax, r14
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
jmp 0x1400ec25e
inc dword [rcx + 0x6b4]
jmp 0x1400ec12d
test edi, edi
jne 0x1400ec261
mov eax, 0x4af263fd
sub eax, 0x3552e0ab
sub eax, 0x135de02b
add eax, 0x7dbe5cd9
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 0x1400ec29f
call fcn.1400ef7b0
mov rcx, rax
test rax, rax
je 0x1400ec29f
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, 0x7bd70e0049446f8c
add rcx, 0x14dc938b
xor rcx, 0x521d6645
xor rcx, 0x453b67ec
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.140017890
xor r9d, r9d
mov edx, 0x37ee2389
add edx, 0x10cad482
sub edx, 0x1660ab15
test r13, r13
je 0x1400ec365
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x69a30b6b
sub r10d, 0x4cb9f9f5
xor r10d, 0x1ce91189
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 0x1400ec345
mov word [rax + r13*2], r9w
lea ecx, [r14 + 0x80080]
mov rdi, qword [0x140142008]
movabs rax, 0x3094fc8f3ba63d92
add rax, 0xcb35168
xor rax, 0xbf00f57
add rax, 0x473fa71d
mov rdx, qword [rbp - 0x29]
not rdi
xor rdi, rax
xor r13d, r13d
mov qword [rsp + 0x58], r13
movabs rax, 0x58306e6822604edf
xor rax, 0x2f172d74
xor rax, 0x4f7bf040
add rax, 0x38fc20f5
add rdi, rax
mov r9d, 0x5acc73cb
sub r9d, 0x41d9238c
xor r9d, 0x2ecfbe90
add r9d, 0x49c51151
movabs rax, 0x5ee1286e5909eb15
xor rax, 0x2b4c6f3d
sub rax, 0x70a6670e
xor r8d, r8d
xor rdi, rax
movabs rax, 0x897edf478d66158
sub rax, 0x374f815f
xor rax, 0x4f41ee4a
sub rax, 0xd58f388
add rdi, rax
mov rax, qword [rbp - 0x31]
mov qword [rsp + 0x50], rax
not rdi
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]
ror rdi, 1
mov dword [rsp + 0x20], eax
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x1400ec47a
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400ec47f
call fcn.140099360
test r14, r14
je 0x1400ec6b3
mov rdx, rsi
mov rcx, rbx
call fcn.1400ebbd4
jmp 0x1400ec5f8
cmp eax, 2
jne 0x1400ec5f8
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x140142080]
xor rcx, rdx
not rax
movabs rdx, 0x55cef8ee7cfe13e7
sub rdx, 0x1c2073ac
sub rdx, 0x57a1a046
add rdx, 0x7fffffff
xor rdx, 0x7bff9cbd
add rax, rdx
movabs rdx, 0xb5d2d6591d1e572e
xor rdx, 0x1c2e4caf
add rdx, 0x7fffffff
add rdx, 0x1537fb84
not rax
rol rax, 0x1f
add rax, rdx
lea rdx, [rbp - 0x59]
not rax
call rax
cmp edi, 1
jne 0x1400ec541
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 0x1400ec5c4
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x1400ec58c
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400effa0
mov rcx, rdi
mov edx, dword [rax]
add edx, 0x50
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400effa0
mov ecx, dword [rax + 4]
add ecx, 0x28
mov dword [rbp - 0x6d], ecx
jmp 0x1400ec5c4
mov dword [rbp - 0x71], 0x6659bef5
sub dword [rbp - 0x71], 0x80a0d21
sub dword [rbp - 0x71], 0x2136d614
sub dword [rbp - 0x71], 0x3d18dbac
mov dword [rbp - 0x6d], 0x2612515f
xor dword [rbp - 0x6d], 0xdcef608
add dword [rbp - 0x6d], 0x27130847
sub dword [rbp - 0x6d], 0x52efaf76
mov edx, 0xf9f1d59
add edx, 0x5cd28d99
xor edx, 0x65ee51a9
sub edx, 0x99ff5bb
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rbx + rdx]
dec rdx
call fcn.1400fc460
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecd0c
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 0x1400ec900
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1400ec9ac
test al, al
jne 0x1400ec6c6
mov rax, qword [0x140142010]
movabs rcx, 0x4cfd20bc72eed10d
sub rcx, 0xc6961c
xor rcx, 0xb45025a
xor rcx, 0x62d1ce7d
xor rax, rcx
movabs rcx, 0x25dc95644b372bf8
sub rcx, 0xbd47596
add rcx, 0x7fffffff
sub rcx, 0x1afecd38
add rax, rcx
movabs rcx, 0x5043895d709fbc5c
sub rcx, 0x381d7d6f
sub rcx, 0x16eeac23
sub rcx, 0x11861b35
rol rax, 0x35
not rax
sub rax, rcx
mov rcx, r14
rol rax, 2
call rax
mov rdx, rsi
mov rcx, rbx
call fcn.1400eca90
mov rsi, r13
jmp 0x1400ec944
mov rax, qword [0x1401420a0]
movabs rcx, 0x5d81306055c7a283
sub rcx, 0x42c246a2
xor rcx, 0x5281d6f3
ror rax, 0x33
xor edx, edx
add rax, rcx
mov r8d, 0x3799f943
xor r8d, 0x330b586c
xor r8d, 0x492a1d0
rol rax, 0x20
movabs rcx, 0x3655d3ac2c8b8d6f
add rcx, 0x20b43e92
sub rcx, 0x2a4879e2
xor rcx, 0x609bc274
sub rax, rcx
movabs rcx, 0xe18b71f7fe1c918
sub rcx, 0x50fa171e
sub rcx, 0x68368f0
rol rax, 7
lea r9d, [rdx + 2]
xor rax, rcx
movabs rcx, 0x64f3c7304fdbc8c2
sub rcx, 0x145781e3
xor rcx, 0x69e0a5f
add rax, rcx
mov rcx, r14
call rax
movabs rax, 0x7bd70e006b08f85d
xor rax, 0x33ab80a2
xor rax, 0x11a47a41
cmp qword [rbx + 0x760], rax
je 0x1400ec80c
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x26c99d302f748ecc
xor rcx, 0x747ba0ea
sub rcx, 0x357c1bed
add rcx, 0x7fffffff
add rcx, 0x2ce67a74
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
not rax
add rax, rcx
movabs rcx, 0x696432513066922b
xor rcx, 0x315242f7
add rcx, 0x62e8d90a
add rcx, 0x7fffffff
add rcx, 0x95b98f1
xor rax, rcx
mov rcx, r14
not rax
ror rax, 0x16
call rax
mov rax, qword [0x1401420a8]
movabs rcx, 0x18e907932bddc59
add rcx, 0x4d35ccf4
sub rcx, 0x40681e60
add rcx, 0x73e8cac8
not rax
add rax, rcx
movabs rcx, 0x11c91d1d3e21ca8a
add rcx, 0x7a65b40
sub rcx, 0x3c2590ee
add rcx, 0x7fffffff
add rcx, 0x75dbeb14
ror rax, 0x15
sub rax, rcx
movabs rcx, 0x51d1e80f28c8aacf
add rcx, 0x3561a05
add rcx, 0x6f9c8c40
ror rax, 0x13
sub rax, rcx
mov rcx, r14
ror rax, 0x15
call rax
mov rax, qword [0x1401420b0]
movabs rcx, 0x74cb818d7485cf18
sub rcx, 0x2ea64943
add rcx, 0xc83b5db
ror rax, 0x3a
mov edx, 0x5ef97bc2
sub edx, 0x304d2755
add edx, 0x47aa32e5
sub edx, 0x7656874d
add rax, rcx
movabs rcx, 0x4ae21344cac8be5
sub rcx, 0x6c40c0c
add rcx, 0x7fffffff
sub rcx, 0x5778036
not rax
sub rax, rcx
mov rcx, r14
not rax
ror rax, 3
call rax
jmp 0x1400ec944
cmp eax, 2
jne 0x1400ec944
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x1400ec922
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 0x1400ec944
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.140105710
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x1400ec981
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x1400ec988
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.1400561b0
jmp 0x1400ec988
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