Function at 0x1400ec37c
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, 0x390b7d52
add rsp, 0x390b7c62
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 0x1400ec3ea
cmp rsi, qword [rcx + 0x6a0]
je 0x1400ec538
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140056820
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x61b3975c
add dword [rbx + 0x6b4], 0x51bdbe9
sub dword [rbx + 0x6b4], 0x843cd45
sub dword [rbx + 0x6b4], 0x5e8ba5ff
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.1400eb304
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.1400fe330
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, 0x62d0528438d21670
xor rdx, 0x2e672f38
xor rdx, 0x5cb57224
add rdx, 0x144701f3
cmp eax, 1
jne 0x1400ec784
cmp edi, eax
jne 0x1400ec543
mov rax, qword [0x140141018]
movabs r12, 0x20067218676f5a1e
sub r12, 0x1db4df7
sub r12, 0x64d9292b
rol rax, 0x33
movabs r14, 0xe735c92827c36631
add r14, 0x4153ab1b
add r14, 0x5f63688
sub r14, 0x5e417964
add rax, r12
movabs rdi, 0x7c06f9c52afe3e1b
xor rdi, 0x7cd42618
add rdi, 0x30d2e0e4
xor rax, r14
xor ecx, ecx
ror rax, 0x1b
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 [0x140141018]
rol rax, 0x33
add rax, r12
xor rax, r14
ror rax, 0x1b
add rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
jmp 0x1400ec562
inc dword [rcx + 0x6b4]
jmp 0x1400ec419
test edi, edi
jne 0x1400ec565
mov eax, 0x131869ff
add eax, 0x8ca2949
add eax, 0x25ab3728
xor eax, 0xc18dca70
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 0x1400ec5a3
call fcn.1400ef9a0
mov rcx, rax
test rax, rax
je 0x1400ec5a3
mov rax, qword [rax]
call qword [rax + 0xb8]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x62d05284408b2144
sub rcx, 0x3885b850
xor rcx, 0x564225ab
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.14001781c
xor r9d, r9d
mov edx, 0x523e1ffb
xor edx, 0x196cd028
sub edx, 0x499f9162
test r13, r13
je 0x1400ec669
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x4db1e46e
add r10d, 0x547120e
sub r10d, 0xa77c994
xor r10d, 0x48812c17
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 0x1400ec649
mov word [rax + r13*2], r9w
movabs rcx, 0x202751d81dcf2e06
add rcx, 0x59b3e7fa
add rcx, 0x7fffffff
sub rcx, 0x59651806
mov rax, qword [rbp - 0x31]
xor r13d, r13d
mov rdi, qword [0x140141008]
mov r9d, 0x33355466
sub r9d, 0x9826066
xor r9d, 0xa9b0f400
mov rdx, qword [rbp - 0x29]
xor rdi, rcx
mov qword [rsp + 0x58], r13
movabs rcx, 0x66d1f4541e2c66d5
sub rcx, 0x176a5088
sub rcx, 0x9c81b7
add rcx, 0x1ea28883
mov qword [rsp + 0x50], rax
xor r8d, r8d
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]
rol rdi, 0x10
xor rdi, rcx
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x71]
movabs rcx, 0x11382a0e1aaf257f
add rcx, 0x523e6e7c
xor rcx, 0x253bb170
add rcx, 0x3e04f186
ror rdi, 0x3c
add rdi, rcx
mov dword [rsp + 0x20], eax
lea ecx, [r14 + 0x80080]
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x1400ec766
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400ec76b
call fcn.140099570
test r14, r14
je 0x1400ec940
mov rdx, rsi
mov rcx, rbx
call fcn.1400ebf2c
jmp 0x1400ec8d1
cmp eax, 2
jne 0x1400ec8d1
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x140141080]
xor rcx, rdx
ror rax, 0x25
movabs rdx, 0x8bb381725c5074f1
sub rdx, 0x15b4c1a1
xor rdx, 0x18dbb9f5
xor rax, rdx
movabs rdx, 0x463aa7e66f77c73c
sub rdx, 0x666cb82e
add rdx, 0x7fffffff
add rdx, 0x3d4ec050
sub rax, rdx
lea rdx, [rbp - 0x59]
ror rax, 0x39
call rax
cmp edi, 1
jne 0x1400ec81a
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 0x1400ec89d
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x1400ec873
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400f0210
mov rcx, rdi
mov edx, dword [rax]
neg edx
add edx, 0xffffffb0
neg edx
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400f0210
mov ecx, dword [rax + 4]
nop
add ecx, 0x6f318df6
sub ecx, 0x6f318dce
mov dword [rbp - 0x6d], ecx
jmp 0x1400ec89d
mov dword [rbp - 0x71], 0x7212f2d
add dword [rbp - 0x71], 0x2fa7bdb5
xor dword [rbp - 0x71], 0x36c8ecf6
mov dword [rbp - 0x6d], 0x1f8ec38b
add dword [rbp - 0x6d], 0x479972e3
sub dword [rbp - 0x6d], 0x67283646
mov edx, 0x257fb09f
xor edx, 0x8ef7ed3
xor edx, 0x25befb0b
xor edx, 0x82e30e7
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rbx + rdx]
dec rdx
call fcn.1400fc5e0
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecfd4
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 0x1400ecbd7
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecc84
test al, al
jne 0x1400ec953
mov rax, qword [0x140141010]
movabs rcx, 0x257935467721e97f
sub rcx, 0x3a073728
sub rcx, 0x53003c2
not rax
sub rax, rcx
mov rcx, r14
rol rax, 7
not rax
call rax
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecd68
mov rsi, r13
jmp 0x1400ecc1b
xor edx, edx
movabs rcx, 0x189ce78d54971749
xor rcx, 0x3d2d597b
xor rcx, 0xd20a4d8
xor rcx, 0x35727100
add rcx, qword [0x1401410a0]
movabs rax, 0xc814bbc1b3ccf84
xor rax, 0x1e8c2829
add rax, 0x7fffffff
xor rax, 0x3210278
ror rcx, 0x17
mov r8d, 0xc29cd48
add r8d, 0x16ee70e9
sub r8d, 0x23183d32
add rax, rcx
movabs rcx, 0x547d08ad3d111b39
xor rcx, 0x3bed9a9a
add rcx, 0x6c2a6525
xor rax, rcx
lea r9d, [rdx + 2]
movabs rcx, 0x7229802a350049a0
xor rcx, 0x44576592
add rcx, 0x7fffffff
sub rcx, 0x696a9060
sub rax, rcx
mov rcx, r14
call rax
movabs rax, 0x62d0528469a93ce5
sub rax, 0x2e5feafc
sub rax, 0x22a5853c
add rax, 0x45a380b2
cmp qword [rbx + 0x760], rax
je 0x1400eca9f
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x22e3dcdb7f7255fa
sub rcx, 0x1835a9ac
sub rcx, 0x59306be8
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
add rax, rcx
movabs rcx, 0x7c49f417342e148f
sub rcx, 0x11a78c6a
sub rcx, 0xa2f0248
xor rcx, 0x7792130a
xor rax, rcx
movabs rcx, 0x2c2ffa6b42010aa2
sub rcx, 0xd37011b
xor rcx, 0x3ca358ef
add rax, rcx
mov rcx, r14
ror rax, 0x1a
call rax
mov rdx, qword [0x1401410a8]
movabs rcx, 0xeb5f17ab22aa06d9
xor rcx, 0x5c888989
sub rcx, 0x1fc977fe
sub rcx, 0x8831be6
add rdx, rcx
movabs rax, 0x170e56b462043743
sub rax, 0x24657205
sub rax, 0x734c591
add rax, 0x51c9cf0a
ror rdx, 0x15
mov rcx, r14
xor rdx, rax
movabs rax, 0x700531355b056452
sub rax, 0x34ca0b1b
sub rax, 0x1d0974b4
sub rdx, rax
movabs rax, 0x41ae80e06daebc42
xor rax, 0x5a75e3c5
add rax, 0x3faabe37
sub rax, 0xc9e233c
not rdx
add rdx, rax
call rdx
movabs rcx, 0x234790ba7af0240f
sub rcx, 0x610c921d
xor rcx, 0x4b7caf41
sub rcx, 0x50b08d65
movabs rax, 0xdeb3026f08ae6f8f
xor rax, 0x29b1226b
add rax, 0x74cb49c
xor rax, 0x3c456595
add rcx, qword [0x1401410b0]
mov edx, 0x3f8b56c0
sub edx, 0x39c689a5
xor edx, 0x5c4cd1e
ror rcx, 0x20
add rax, rcx
movabs rcx, 0xb9384d3746112f07
sub rcx, 0x3800c526
add rcx, 0x68b8aab0
sub rcx, 0xeda9b45
xor rax, rcx
movabs rcx, 0x407fc30f2c5dfa9d
add rcx, 0x2e259ff6
add rcx, 0x7fffffff
xor rcx, 0x2abb9808
sub rax, rcx
mov rcx, r14
rol rax, 0x23
call rax
jmp 0x1400ecc1b
cmp eax, 2
jne 0x1400ecc1b
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x1400ecbf9
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 0x1400ecc1b
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.140105730
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x1400ecc58
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x1400ecc5f
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.1400567c0
jmp 0x1400ecc5f
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