Function at 0x1400178f0
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 ebx, dword [rcx + 0x9c4]
lea r13, [0x1400607b0]
lea rbp, [0x1400607d0]
xor edi, edi
nop dword [rax]
call fcn.140049910
cdqe
mov r15d, ebx
lea rcx, [0x1400606f8]
and r15d, dword [rcx + rax*4]
call fcn.140049980
cdqe
lea rcx, [0x140060710]
mov rax, qword [rcx + rax*8]
add rax, rdi
mov ebx, dword [rsi + rax*4 + 4]
call fcn.140049a00
cdqe
lea rcx, [0x140060728]
mov r14d, dword [rcx + rax*4]
and r14d, ebx
or r14d, r15d
call fcn.140049a80
cdqe
lea rcx, [0x140060734]
movzx ecx, byte [rcx + rax*4]
mov r15d, r14d
shr r15d, cl
call fcn.140049af0
cdqe
lea rcx, [0x140060740]
mov r12d, dword [rcx + rax*4]
and r12d, r14d
call fcn.140049b70
cdqe
lea rcx, [0x14006074c]
xor r12d, dword [rcx + rax*4]
call fcn.140049c00
cdqe
lea rcx, [0x140060758]
xor r14d, dword [rcx + rax*4]
or r14d, r12d
call fcn.140049c90
imul ecx, dword [0x1401eff68], 0x342f6de8
cdqe
imul edx, dword [str.2V0], 0x20529725
mov r8d, dword [0x1401eff70]
mov r9d, dword [0x1401eff74]
shrd r9d, r8d, 0x1a
xor r9d, 0x19fdcfea
lea r8, [0x140060764]
cmp r14d, dword [r8 + rax*4]
mov eax, edx
lea eax, [rcx + rax + 0xa49a5c2]
cmovne eax, r9d
mov r14d, eax
xor r14d, r15d
call fcn.140049d10
cdqe
lea rcx, [0x140060770]
mov r15d, dword [rcx + rax*4]
xor r15d, r14d
call fcn.140049d80
cdqe
lea rcx, [0x140060780]
mov rax, qword [rcx + rax*8]
add rax, rdi
mov r12d, dword [rsi + rax*4 + 4]
call fcn.140049e00
cdqe
lea rcx, [0x140060798]
xor r14d, dword [rcx + rax*4]
and r14d, r12d
call fcn.140049e70
cdqe
lea rcx, [0x1400607a4]
xor r12d, dword [rcx + rax*4]
and r12d, r15d
or r12d, r14d
mov dword [rsi + rdi*4 + 4], r12d
call fcn.140049ee0
cdqe
mov r14, rdi
add r14, qword [r13 + rax*8]
call fcn.140049f60
cdqe
mov rdi, r14
cmp r14, qword [rbp + rax*8]
jne 0x140017920
mov r13d, dword [rsi + 0xd50]
lea r15, [0x1400608f0]
mov r12d, 0xe3
nop word cs:[rax + rax]
mov ebp, r13d
call fcn.140049fe0
cdqe
lea rcx, [0x1400607e8]
mov edi, dword [rcx + rax*4]
and edi, r13d
call fcn.14004a070
cdqe
lea rcx, [0x1400607f4]
xor edi, dword [rcx + rax*4]
call fcn.14004a0f0
cdqe
lea rcx, [0x140060800]
xor ebp, dword [rcx + rax*4]
or ebp, edi
call fcn.14004a180
cdqe
lea rcx, [0x140060810]
mov rax, qword [rcx + rax*8]
add rax, r12
mov r13d, dword [rsi + rax*4 + 4]
call fcn.14004a200
cdqe
lea rcx, [0x140060828]
mov edi, dword [rcx + rax*4]
and edi, r13d
call fcn.14004a290
cdqe
lea rcx, [0x140060834]
xor ebp, dword [rcx + rax*4]
or ebp, edi
call fcn.14004a320
cdqe
lea rcx, [0x140060840]
movzx ecx, byte [rcx + rax*4]
mov edi, ebp
shr edi, cl
call fcn.14004a3a0
cdqe
lea rcx, [0x14006084c]
and ebp, dword [rcx + rax*4]
call fcn.14004a420
imul eax, dword [0x1401eff78], 0x4df0ece1
imul ecx, dword [0x1401eff7c], 0x151a7137
lea ebx, [rax + rcx]
add ebx, 0xc67a0cae
call fcn.14004a490
cdqe
lea rcx, [0x140060858]
mov r14d, dword [rcx + rax*4]
and r14d, edi
call fcn.14004a520
cdqe
lea rcx, [0x140060864]
or r14d, dword [rcx + rax*4]
call fcn.14004a5a0
cdqe
lea rcx, [0x140060870]
and edi, dword [rcx + rax*4]
imul eax, dword [0x1401eff80], 0x9aa1e466
mov ecx, edi
mov edx, dword [0x1401eff88]
mov r8d, dword [0x1401eff8c]
shrd r8d, edx, 6
imul edx, dword [0x1401eff84], 0xea34443d
xor ecx, r14d
xor r8d, 0x93d12185
cmp ebp, ebx
lea eax, [rax + rdx + 0x683dcffa]
cmovne eax, r8d
mov edi, eax
xor edi, ecx
call fcn.14004a610
cdqe
lea rcx, [0x140060880]
mov rax, qword [rcx + rax*8]
add rax, r12
mov ebx, dword [rsi + rax*4 + 4]
call fcn.14004a690
cdqe
lea rcx, [0x140060898]
mov ebp, dword [rcx + rax*4]
xor ebp, edi
call fcn.14004a710
cdqe
lea rcx, [0x1400608a4]
mov r14d, dword [rcx + rax*4]
xor r14d, ebx
call fcn.14004a790
cdqe
lea rcx, [0x1400608b0]
xor edi, dword [rcx + rax*4]
and edi, r14d
call fcn.14004a820
cdqe
lea rcx, [0x1400608bc]
xor ebx, dword [rcx + rax*4]
and ebx, ebp
or ebx, edi
mov dword [rsi + r12*4 + 4], ebx
call fcn.14004a8b0
cdqe
mov rdi, r12
lea rcx, [0x1400608d0]
add rdi, qword [rcx + rax*8]
call fcn.14004a930
cdqe
mov r12, rdi
cmp rdi, qword [r15 + rax*8]
jne 0x140017ab0
mov edi, dword [rsi + 0x1380]
call fcn.14004a9c0
cdqe
lea rcx, [0x140060908]
and edi, dword [rcx + rax*4]
mov ebp, dword [rsi + 4]
call fcn.14004aa50
cdqe
lea rcx, [0x140060914]
mov ebx, dword [rcx + rax*4]
and ebx, ebp
call fcn.14004aad0
cdqe
lea rcx, [0x140060920]
mov r15d, dword [rcx + rax*4]
xor r15d, ebx
call fcn.14004ab40
cdqe
lea rcx, [0x14006092c]
mov r14d, dword [rcx + rax*4]
and r14d, r15d
call fcn.14004abc0
cdqe
lea rcx, [0x140060938]
mov eax, dword [rcx + rax*4]
and eax, ebp
mov r12d, eax
or r12d, r14d
call fcn.14004ac40
cdqe
lea rcx, [0x140060944]
mov r14d, dword [rcx + rax*4]
or r14d, edi
xor r14d, r12d
call fcn.14004acd0
cdqe
lea rcx, [0x140060950]
and ebp, dword [rcx + rax*4]
call fcn.14004ad60
cdqe
lea rcx, [0x14006095c]
and r15d, dword [rcx + rax*4]
or r15d, ebp
call fcn.14004adf0
cdqe
lea rcx, [0x140060968]
or ebx, edi
or edi, dword [rcx + rax*4]
xor edi, r15d
call fcn.14004ae60
cdqe
lea rcx, [0x140060974]
xor ebx, dword [rcx + rax*4]
or ebx, edi
call fcn.14004aed0
cdqe
lea rcx, [0x140060980]
mov edi, dword [rcx + rax*4]
xor edi, r14d
xor r14d, ebx
call fcn.14004af50
cdqe
lea rcx, [0x14006098c]
xor r14d, dword [rcx + rax*4]
or edi, ebx
call fcn.14004afe0
cdqe
lea rcx, [0x140060998]
xor edi, dword [rcx + rax*4]
mov ebx, edi
or ebx, r14d
call fcn.14004b060
cdqe
lea rcx, [0x1400609a4]
movzx ecx, byte [rcx + rax*4]
mov edi, ebx
shr edi, cl
call fcn.14004b0f0
cdqe
lea rcx, [0x1400609b0]
and ebx, dword [rcx + rax*4]
call fcn.14004b180
mov eax, dword [0x1401eff90]
mov ecx, dword [0x1401eff94]
shrd ecx, eax, 0x1d
xor ecx, 0x2ba57496
imul eax, dword [0x1401eff98], 0x83fb0448
imul edx, dword [0x1401eff9c], 0xb4894ee9
imul r8d, dword [0x1401effa0], 0xb0822754
imul r9d, dword [0x1401effa4], 0x4376c4e6
cmp ebx, ecx
mov ecx, edx
lea eax, [rax + rcx + 0x632f06a0]
mov ecx, r9d
mov edx, r8d
lea ecx, [rdx + rcx - 0x3ec99273]
cmove ecx, eax
mov ebx, ecx
xor ebx, edi
call fcn.14004b200
cdqe
lea rcx, [0x1400609bc]
mov edi, dword [rcx + rax*4]
xor edi, ebx
mov ebp, dword [rsi + 0x634]
call fcn.14004b280
cdqe
lea rcx, [0x1400609c8]
xor ebx, dword [rcx + rax*4]
and ebx, ebp
call fcn.14004b300
cdqe
lea rcx, [0x1400609d4]
xor ebp, dword [rcx + rax*4]
and ebp, edi
or ebp, ebx
mov dword [rsi + 0x9c0], ebp
call fcn.14004b380
imul eax, dword [0x1401effa8], 0x23004a86
imul ecx, dword [0x1401effac], 0x63103386
add eax, ecx
add eax, 0xb2725d78
mov dword [rsi], eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret