Function at 0x140056ab0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov edi, dword [rcx]
call fcn.14008f4b0
cdqe
lea rcx, [0x14009d70c]
cmp edi, dword [rcx + rax*4]
jne 0x140056c0e
mov r14d, dword [rsi + 4]
lea r13, [0x14009d770]
lea rbp, [0x14009d790]
lea rdi, [0x14009d7b0]
mov ebx, 0x270
nop word [rax + rax]
call fcn.14008f530
cdqe
lea rcx, [0x14009d718]
and r14d, dword [rcx + rax*4]
call fcn.14008f5b0
cdqe
lea rcx, [0x14009d730]
mov rax, qword [rcx + rax*8]
add rax, rbx
mov r12d, dword [rsi + rax*4 + 4]
call fcn.14008f640
cdqe
lea rcx, [0x14009d748]
mov r15d, dword [rcx + rax*4]
and r15d, r12d
or r15d, r14d
call fcn.14008f6b0
cdqe
lea rcx, [0x14009d754]
movzx ecx, byte [rcx + rax*4]
shr r15d, cl
call fcn.14008f720
cdqe
lea rcx, [0x14009d760]
mov r14d, dword [rcx + rax*4]
and r14d, r12d
call fcn.14008f7b0
mov eax, dword [0x1400c7e68]
mov ecx, dword [0x1400c7e6c]
shrd ecx, eax, 4
xor ecx, 0x24c0c169
mov eax, dword [0x1400c7e70]
mov edx, dword [0x1400c7e74]
shrd edx, eax, 0x1d
xor edx, 0x543c9080
mov eax, dword [0x1400c7e78]
mov r8d, dword [0x1400c7e7c]
shrd r8d, eax, 5
xor r8d, 0x36e1de49
cmp r14d, ecx
mov r14d, r8d
cmove r14d, edx
call fcn.14008f840
cdqe
mov rax, qword [r13 + rax*8]
add rax, rbx
xor r14d, dword [rsi + rax*4 + 4]
xor r14d, r15d
mov dword [rsi + rbx*4 + 4], r14d
call fcn.14008f8c0
cdqe
mov r15, rbx
add r15, qword [rbp + rax*8]
call fcn.14008f930
cdqe
mov r14d, r12d
mov rbx, r15
cmp r15, qword [rdi + rax*8]
jne 0x140056b00
mov eax, 0x270
jmp 0x140056f47
call fcn.14008f9a0
movsxd rcx, eax
lea rdx, [0x14009d7c8]
mov eax, edi
cmp edi, dword [rdx + rcx*4]
jbe 0x140056f47
mov r14d, dword [rsi + 0x9c4]
lea r13, [0x14009d820]
lea rbp, [0x14009d840]
lea rdi, [0x14009d860]
xor ebx, ebx
nop word cs:[rax + rax]
call fcn.14008fa20
cdqe
lea rcx, [0x14009d7d4]
and r14d, dword [rcx + rax*4]
call fcn.14008faa0
cdqe
lea rcx, [0x14009d7e0]
mov rax, qword [rcx + rax*8]
add rax, rbx
mov r12d, dword [rsi + rax*4 + 4]
call fcn.14008fb10
cdqe
lea rcx, [0x14009d7f8]
mov r15d, dword [rcx + rax*4]
and r15d, r12d
or r15d, r14d
call fcn.14008fb90
cdqe
lea rcx, [0x14009d804]
movzx ecx, byte [rcx + rax*4]
shr r15d, cl
call fcn.14008fc10
cdqe
lea rcx, [0x14009d810]
mov r14d, dword [rcx + rax*4]
and r14d, r12d
call fcn.14008fca0
mov eax, dword [0x1400c7e80]
mov ecx, dword [0x1400c7e84]
shrd ecx, eax, 7
xor ecx, 0xf38b5b
mov eax, dword [0x1400c7e88]
mov edx, dword [0x1400c7e8c]
shrd edx, eax, 1
xor edx, 0xcb1d8b54
mov eax, dword [0x1400c7e90]
mov r8d, dword [0x1400c7e94]
shrd r8d, eax, 0x1f
xor r8d, 0x303a685
cmp r14d, ecx
mov r14d, r8d
cmove r14d, edx
call fcn.14008fd20
cdqe
mov rax, qword [r13 + rax*8]
add rax, rbx
xor r14d, dword [rsi + rax*4 + 4]
xor r14d, r15d
mov dword [rsi + rbx*4 + 4], r14d
call fcn.14008fda0
cdqe
mov r15, rbx
add r15, qword [rbp + rax*8]
call fcn.14008fe20
cdqe
mov r14d, r12d
mov rbx, r15
cmp r15, qword [rdi + rax*8]
jne 0x140056c50
mov r14d, dword [rsi + 0xd50]
lea r13, [0x14009d8d0]
lea rbp, [0x14009d8f0]
lea rdi, [0x14009d910]
mov ebx, 0xe3
nop word cs:[rax + rax]
call fcn.14008fea0
cdqe
lea rcx, [0x14009d878]
and r14d, dword [rcx + rax*4]
call fcn.14008ff20
cdqe
lea rcx, [0x14009d890]
mov rax, qword [rcx + rax*8]
add rax, rbx
mov r12d, dword [rsi + rax*4 + 4]
call fcn.14008ffa0
cdqe
lea rcx, [0x14009d8a8]
mov r15d, dword [rcx + rax*4]
and r15d, r12d
or r15d, r14d
call fcn.140090030
cdqe
lea rcx, [0x14009d8b4]
movzx ecx, byte [rcx + rax*4]
shr r15d, cl
call fcn.1400900b0
cdqe
lea rcx, [0x14009d8c0]
mov r14d, dword [rcx + rax*4]
and r14d, r12d
call fcn.140090140
mov eax, dword [0x1400c7e98]
mov ecx, dword [0x1400c7e9c]
shrd ecx, eax, 0xa
xor ecx, 0x81076fbb
imul eax, dword [0x1400c7ea0], 0xa0fbf11d
imul edx, dword [0x1400c7ea4], 0x5d83e55
mov r8d, dword [0x1400c7ea8]
mov r9d, dword [0x1400c7eac]
shrd r9d, r8d, 0x12
xor r9d, 0x78a590ba
cmp r14d, ecx
mov ecx, edx
lea r14d, [rax + rcx - 0x2aa89d6a]
cmovne r14d, r9d
call fcn.1400901c0
cdqe
mov rax, qword [r13 + rax*8]
add rax, rbx
xor r14d, dword [rsi + rax*4 + 4]
xor r14d, r15d
mov dword [rsi + rbx*4 + 4], r14d
call fcn.140090250
cdqe
mov r15, rbx
add r15, qword [rbp + rax*8]
call fcn.1400902d0
cdqe
mov r14d, r12d
mov rbx, r15
cmp r15, qword [rdi + rax*8]
jne 0x140056d80
mov edi, dword [rsi + 0x1380]
call fcn.140090350
cdqe
lea rcx, [0x14009d928]
and edi, dword [rcx + rax*4]
mov ebx, dword [rsi + 4]
call fcn.1400903e0
cdqe
lea rcx, [0x14009d934]
mov eax, dword [rcx + rax*4]
and eax, ebx
mov ebp, eax
or ebp, edi
call fcn.140090470
cdqe
lea rcx, [0x14009d940]
movzx ecx, byte [rcx + rax*4]
mov edi, ebp
shr edi, cl
call fcn.1400904f0
cdqe
lea rcx, [0x14009d94c]
and ebx, dword [rcx + rax*4]
call fcn.140090580
mov eax, dword [0x1400c7eb0]
mov ecx, dword [0x1400c7eb4]
shrd ecx, eax, 7
xor ecx, 0x15da8471
mov eax, dword [0x1400c7eb8]
mov edx, dword [0x1400c7ebc]
shrd edx, eax, 0xf
imul eax, dword [0x1400c7ec0], 0xf65f9d14
imul r8d, dword [0x1400c7ec4], 0xa1df3cd8
xor edx, 0x7949e41b
cmp ebx, ecx
mov ecx, r8d
lea eax, [rax + rcx + 0x6356274b]
cmove eax, edx
xor eax, dword [rsi + 0x634]
xor eax, edi
mov dword [rsi + 0x9c0], eax
xor eax, eax
mov edi, eax
call fcn.140090610
cdqe
lea rcx, [0x14009d958]
mov edx, edi
add edi, dword [rcx + rax*4]
mov dword [rsi], edi
mov eax, edx
mov edi, dword [rsi + rax*4 + 4]
call fcn.1400906a0
cdqe
lea rcx, str._v_v_v_a_a_a
movzx ecx, byte [rcx + rax*4]
mov eax, edi
shr eax, cl
and eax, dword [rsi + 0x1384]
mov esi, eax
xor esi, edi
call fcn.140090710
cdqe
lea rcx, [0x14009d970]
movzx ecx, byte [rcx + rax*4]
mov edi, esi
shl edi, cl
call fcn.140090790
cdqe
lea rcx, [0x14009d97c]
and edi, dword [rcx + rax*4]
xor edi, esi
call fcn.140090820
cdqe
lea rcx, [0x14009d988]
movzx ecx, byte [rcx + rax*4]
mov esi, edi
shl esi, cl
call fcn.1400908a0
cdqe
lea rcx, [0x14009d994]
and esi, dword [rcx + rax*4]
xor esi, edi
call fcn.140090920
cdqe
lea rcx, [0x14009d9a0]
movzx ecx, byte [rcx + rax*4]
mov eax, esi
shr eax, cl
xor eax, esi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret