Function at 0x1400ec610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rbx, rcx
xor r15d, r15d
mov rcx, qword [rcx + 0x588]
mov r12d, 0x7be1dcd8
xor r12d, 0x54516973
sub r12d, 0x2fb0b5aa
test rcx, rcx
je 0x1400ec672
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x1400ec66b
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x588], r15
mov r8, qword [rbx + 0x520]
movabs r13, 0x28510a1f0ff2c8af
add r13, 0x3fc9bfb4
add r13, 0x8d58de8
cmp r8, r13
je 0x1400ec753
cmp byte [rbx + 0x528], r15b
jne 0x1400ec753
mov rax, qword [0x140143290]
movabs rdx, 0x4b15f09c3d27c384
add rdx, 0xc6ee2aa
sub rdx, 0x3944facf
add rdx, 0x1c71802
mov rcx, qword [rbx + 0x530]
xor rax, rdx
ror rax, 0xb
movabs rdx, 0x6d04c19b0512bb81
add rdx, 0x100cabac
sub rdx, 0x12df5664
add rdx, 0x5503ca19
xor rax, rdx
xor r8, r13
movabs rdx, 0x5086ee4e69dd0753
xor rdx, 0x6eec2768
sub rdx, 0x6015773
xor rcx, r13
add rax, rdx
movabs rdx, 0x60521eeb5a665cb6
sub rdx, 0x5835a4ea
add rdx, 0x7fffffff
add rdx, 0x3cacee3d
xor rax, rdx
mov edx, 0x776f1b0e
xor edx, 0x6ebdde5c
add edx, 0xe62d3aaa
call rax
mov rax, qword gs:[0x30]
mov rdi, qword [rax + 0x48]
mov eax, r12d
lock xadd dword [rbx + 0x6b0], eax
add eax, r12d
je 0x1400ec792
cmp rdi, qword [rbx + 0x6a0]
je 0x1400ec7c0
mov rcx, qword [rbx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140055ef0
mov qword [rbx + 0x6a0], rdi
mov dword [rbx + 0x6b4], r12d
mov rax, qword [rbx + 0x5c0]
mov rdi, qword [rbx + 0x5b8]
test rax, rax
je 0x1400ec7ef
lea rsi, [rdi + rax*8]
jmp 0x1400ec7e6
add dword [rbx + 0x6b4], r12d
jmp 0x1400ec7a0
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.1400edce4
nop
sub rdi, 0x1d81ccc3
add rdi, 0x1d81cccb
cmp rdi, rsi
jne 0x1400ec7cc
mov rax, qword [rbx + 0x5a0]
mov rdi, qword [rbx + 0x598]
test rax, rax
je 0x1400ec830
lea rsi, [rdi + rax*8]
jmp 0x1400ec827
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400ec823
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
add rdi, 8
cmp rdi, rsi
jne 0x1400ec80f
mov rax, qword [rbx + 0x660]
mov rdi, qword [rbx + 0x658]
test rax, rax
je 0x1400ec87c
lea rsi, [rdi + rax*8]
jmp 0x1400ec873
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400ec864
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
nop
add rdi, 0x2b91ad12
sub rdi, 0x2b91ad0a
cmp rdi, rsi
jne 0x1400ec850
mov esi, 0x3f67a9da
sub esi, 0x17d0ffd7
add esi, 0x56d81c63
sub esi, 0x7e6ec636
cmp dword [rbx + 0x518], r12d
jne 0x1400ec9ee
cmp qword [rbx + 0x578], r15
je 0x1400ec9ee
mov rbp, qword [rbx + 0x578]
lea rax, [rsp + 0x28]
mov r14, qword [rbx + 0x538]
lea rcx, [rsp + 0x20]
mov rsi, qword [rbx + 0x540]
xorps xmm0, xmm0
xor r14, r13
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 1]
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call fcn.140017a7c
mov edx, 0x7116682c
sub edx, 0xaeaeb94
sub edx, 0x13b7e612
sub edx, 0x22265278
test rbp, rbp
je 0x1400ec94a
mov rdi, rax
sub rsi, rax
mov r8, rbp
movzx ecx, dx
mov r9d, 0x254b23f3
xor r9d, 0x18fc0c62
sub r9d, 0x3db72e92
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi]
mov word [rdi], cx
lea rdi, [rdi + 2]
sub r8, r12
jne 0x1400ec918
mov word [rax + rbp*2], r15w
movabs rcx, 0xbb576d014a5c9d7a
sub rcx, 0x334e00d6
add rcx, 0x7fffffff
xor rcx, 0x7a9f454b
mov rax, qword [0x140143028]
mov rdx, r14
add rax, rcx
movabs rcx, 0x7cee38f9059ff1bf
xor rcx, 0x2d525e72
xor rcx, 0x4eb6127b
add rcx, 0x700f62cc
not rax
rol rax, 0x1f
xor rax, rcx
mov rcx, qword [rsp + 0x20]
rol rax, 0x2f
not rax
call rax
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x1400ec9d8
xor eax, eax
lea rdi, [rsp + 0x28]
lea esi, [rax + 0x30]
mov ecx, esi
rep stosb byte [rdi], al
jmp 0x1400ec9ee
call fcn.140099d90
mov esi, 0xbf6cdf5
add esi, 0x6cf1a415
sub esi, 0x78e871da
mov rcx, qword [rbx + 0x768]
cmp rcx, r13
je 0x1400eca06
xor rcx, r13
call fcn.14008e5a0
mov rcx, qword [rbx + 0x760]
cmp rcx, r13
je 0x1400eca1e
xor rcx, r13
call fcn.14008e5a0
mov rcx, qword [rbx + 0x510]
test rcx, rcx
je 0x1400eca36
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov rdi, qword [rbx + 0x738]
test rdi, rdi
je 0x1400eca59
mov rcx, rdi
call fcn.1400541d0
mov rdx, r12
mov rcx, rdi
call fcn.140099c60
sub dword [rbx + 0x6b4], r12d
jne 0x1400eca96
mov qword [rbx + 0x6a0], r15
or eax, 0xffffffff
lock xadd dword [rbx + 0x6b0], eax
dec eax
cmp eax, 0xffffffff
je 0x1400eca9d
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.140055e90
jmp 0x1400eca9d
lock dec dword [rbx + 0x6b0]
mov rcx, qword [rbx + 0x740]
test rcx, rcx
je 0x1400ecab9
call fcn.140099d90
mov qword [rbx + 0x740], r15
lea rdi, [rbx + 0x6b8]
cmp qword [rdi + 0x78], 0x78
jbe 0x1400ecae2
mov rcx, qword [rdi]
xor edx, edx
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rdi]
call fcn.140099d90
jmp 0x1400ecaf6
cmp qword [rdi + 0x78], r15
jbe 0x1400ecaf6
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax]
mov qword [rdi + 0x78], r15
mov rcx, qword [rbx + 0x6a8]
call fcn.140055c90
mov rcx, qword [rbx + 0x658]
test rcx, rcx
je 0x1400ecb22
call fcn.140099d90
mov qword [rbx + 0x658], r15
mov rcx, qword [rbx + 0x618]
lea rdi, [rbx + 0x620]
cmp rcx, rdi
jne 0x1400ecb45
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x1400ecb4a
call fcn.140099d90
mov rcx, qword [rbx + 0x5d8]
lea rdi, [rbx + 0x5e0]
cmp rcx, rdi
jne 0x1400ecb6d
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x1400ecb72
call fcn.140099d90
mov rcx, qword [rbx + 0x5b8]
test rcx, rcx
je 0x1400ecb8e
call fcn.140099d90
mov qword [rbx + 0x5b8], r15
mov rcx, qword [rbx + 0x598]
test rcx, rcx
je 0x1400ecbaa
call fcn.140099d90
mov qword [rbx + 0x598], r15
mov rcx, qword [rbx + 0x540]
lea rdi, [rbx + 0x548]
cmp rcx, rdi
jne 0x1400ecbcd
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x1400ecbd2
call fcn.140099d90
lea rcx, [rbx + 0x288]
call fcn.1400edef0
mov rcx, rbx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x1400edf60
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
neg rsp
sub rsp, 0xffffffffffffffe0
neg rsp
xor edi, edi
lea rsi, [rcx + 0x280]
mov rbx, rcx
cmp qword [rsi], rdi
jbe 0x1400edfce
cmp qword [rbx + 0x78], 0x78
jbe 0x1400edfa1
mov rcx, qword [rbx]
xor edx, edx
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rbx]
call fcn.140099d90
jmp 0x1400edfb2
cmp qword [rbx + 0x78], 0
jbe 0x1400edfb2
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax]
and qword [rbx + 0x78], 0
inc rdi
nop
add rbx, 0xffffffff84f0cec4
sub rbx, 0xffffffff84f0ce44
cmp rdi, qword [rsi]
jb 0x1400edf86
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret