Function at 0x1400173f0
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
call fcn.140047920
call fcn.140047990
call fcn.140047a20
call fcn.140047a90
mov edi, dword [rsi]
call fcn.140047b20
cdqe
lea rcx, [0x1400603fc]
cmp edi, dword [rcx + rax*4]
jne 0x1400176cd
call fcn.140047bb0
call fcn.140047c30
call fcn.140047cc0
call fcn.140047d50
mov r13d, dword [rsi + 4]
mov ebp, 0x270
nop dword [rax]
call fcn.140047dc0
cdqe
mov edi, r13d
lea rcx, [0x14006042c]
and edi, dword [rcx + rax*4]
call fcn.140047e40
cdqe
lea rcx, [0x140060440]
mov rax, qword [rcx + rax*8]
add rax, rbp
mov r13d, dword [rsi + rax*4 + 4]
call fcn.140047eb0
cdqe
lea rcx, [0x140060458]
or edi, dword [rcx + rax*4]
call fcn.140047f30
cdqe
lea rcx, [0x140060464]
mov r14d, dword [rcx + rax*4]
and r14d, r13d
call fcn.140047fb0
cdqe
lea rcx, [0x140060470]
mov eax, dword [rcx + rax*4]
or eax, r13d
and eax, edi
mov ebx, eax
or ebx, r14d
call fcn.140048040
cdqe
lea rcx, [0x14006047c]
movzx ecx, byte [rcx + rax*4]
mov edi, ebx
shr edi, cl
call fcn.1400480b0
cdqe
lea rcx, [0x140060488]
mov r14d, dword [rcx + rax*4]
and r14d, ebx
call fcn.140048130
cdqe
lea rcx, [0x140060494]
xor r14d, dword [rcx + rax*4]
call fcn.1400481b0
cdqe
lea rcx, [0x1400604a0]
xor ebx, dword [rcx + rax*4]
or ebx, r14d
call fcn.140048220
mov ecx, dword [0x1401eff50]
mov edx, dword [0x1401eff54]
shrd edx, ecx, 7
cdqe
xor edx, 0xf4465222
mov ecx, dword [0x1401eff58]
mov r8d, dword [0x1401eff5c]
shrd r8d, ecx, 5
xor r8d, 0xb92ad089
lea rcx, [0x1400604ac]
cmp ebx, dword [rcx + rax*4]
mov ebx, r8d
cmove ebx, edx
call fcn.1400482a0
cdqe
lea rcx, [0x1400604b8]
mov r14d, dword [rcx + rax*4]
xor r14d, edi
call fcn.140048310
cdqe
lea rcx, [0x1400604c4]
mov r15d, dword [rcx + rax*4]
and r15d, r14d
call fcn.140048380
cdqe
lea rcx, [0x1400604d0]
mov r12d, dword [rcx + rax*4]
and r12d, edi
or r12d, r15d
call fcn.1400483f0
cdqe
lea rcx, [0x1400604dc]
and r14d, dword [rcx + rax*4]
call fcn.140048480
cdqe
lea rcx, [0x1400604e8]
and edi, dword [rcx + rax*4]
or edi, r14d
call fcn.140048510
cdqe
mov r14d, edi
lea rcx, [0x1400604f4]
or r14d, dword [rcx + rax*4]
xor r14d, r12d
call fcn.1400485a0
cdqe
lea rcx, [0x140060500]
mov edi, dword [rcx + rax*4]
xor edi, r14d
call fcn.140048620
cdqe
lea rcx, [0x14006050c]
mov r15d, dword [rcx + rax*4]
and r15d, ebx
call fcn.1400486b0
cdqe
lea rcx, [0x140060518]
or r15d, dword [rcx + rax*4]
call fcn.140048740
cdqe
lea rcx, [0x140060524]
and ebx, dword [rcx + rax*4]
xor ebx, r15d
call fcn.1400487d0
cdqe
lea rcx, [0x140060530]
mov r15d, dword [rcx + rax*4]
xor r15d, ebx
call fcn.140048860
cdqe
lea rcx, [0x14006053c]
xor r14d, dword [rcx + rax*4]
and r14d, r15d
call fcn.1400488f0
cdqe
lea rcx, [0x140060548]
xor ebx, dword [rcx + rax*4]
and ebx, edi
or ebx, r14d
call fcn.140048970
cdqe
lea rcx, [0x140060560]
mov rax, qword [rcx + rax*8]
add rax, rbp
xor ebx, dword [rsi + rax*4 + 4]
mov dword [rsi + rbp*4 + 4], ebx
call fcn.1400489d0
cdqe
mov rdi, rbp
lea rcx, [0x140060580]
add rdi, qword [rcx + rax*8]
call fcn.140048a50
call fcn.140048ac0
call fcn.140048b30
call fcn.140048bb0
call fcn.140048c30
cdqe
mov rbp, rdi
lea rcx, [0x1400605c0]
cmp rdi, qword [rcx + rax*8]
jne 0x140017450
mov eax, 0x270
jmp 0x1400176ed
call fcn.140048ca0
movsxd rcx, eax
lea rdx, [0x1400605d8]
mov eax, edi
cmp edi, dword [rdx + rcx*4]
jbe 0x1400176ed
mov rcx, rsi
call fcn.1400178f0
mov eax, dword [rsi]
mov edi, eax
call fcn.140048d30
cdqe
lea rcx, [0x1400605e4]
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.140048dc0
cdqe
lea rcx, [0x1400605f0]
movzx ecx, byte [rcx + rax*4]
mov ebx, edi
shr ebx, cl
mov ebp, dword [rsi + 0x1384]
call fcn.140048e50
cdqe
lea rcx, [0x1400605fc]
mov esi, dword [rcx + rax*4]
xor esi, ebx
call fcn.140048ec0
cdqe
lea rcx, [0x140060608]
mov r14d, dword [rcx + rax*4]
and r14d, esi
call fcn.140048f50
cdqe
lea rcx, [0x140060614]
and ebx, dword [rcx + rax*4]
or ebx, r14d
xor ebx, ebp
call fcn.140048fd0
cdqe
lea rcx, [0x140060620]
xor ebx, dword [rcx + rax*4]
or ebx, esi
xor ebx, edi
call fcn.140049050
cdqe
lea rcx, [0x14006062c]
mov esi, ebx
xor esi, dword [rcx + rax*4]
call fcn.1400490c0
cdqe
lea rcx, [0x140060638]
movzx ecx, byte [rcx + rax*4]
mov edi, esi
shl edi, cl
call fcn.140049150
cdqe
lea rcx, [0x140060644]
and edi, dword [rcx + rax*4]
call fcn.1400491e0
cdqe
lea rcx, [0x140060650]
xor edi, dword [rcx + rax*4]
mov ebx, edi
or edi, esi
and ebx, esi
call fcn.140049280
cdqe
lea rcx, [0x14006065c]
and edi, dword [rcx + rax*4]
mov esi, edi
xor esi, ebx
call fcn.140049300
cdqe
lea rcx, [0x140060668]
movzx ecx, byte [rcx + rax*4]
mov edi, esi
shl edi, cl
call fcn.140049390
cdqe
lea rcx, [0x140060674]
mov ebx, dword [rcx + rax*4]
and ebx, edi
call fcn.140049400
cdqe
lea rcx, [0x140060680]
xor ebx, dword [rcx + rax*4]
call fcn.140049490
cdqe
lea rcx, [0x14006068c]
xor edi, dword [rcx + rax*4]
or edi, ebx
call fcn.140049520
cdqe
lea rcx, [0x140060698]
mov ebx, dword [rcx + rax*4]
xor ebx, edi
call fcn.1400495a0
cdqe
lea rcx, [0x1400606a4]
mov ebp, dword [rcx + rax*4]
and ebp, edi
call fcn.140049620
cdqe
lea rcx, [0x1400606b0]
mov eax, dword [rcx + rax*4]
and eax, ebx
mov r14d, eax
or r14d, ebp
call fcn.1400496b0
cdqe
lea rcx, [0x1400606bc]
and edi, dword [rcx + rax*4]
call fcn.140049720
cdqe
lea rcx, [0x1400606c8]
and ebx, dword [rcx + rax*4]
or ebx, edi
call fcn.1400497a0
cdqe
lea rcx, [0x1400606d4]
or ebx, dword [rcx + rax*4]
xor r14d, esi
xor r14d, ebx
call fcn.140049820
cdqe
lea rcx, [0x1400606e0]
movzx ecx, byte [rcx + rax*4]
mov eax, r14d
shr eax, cl
mov esi, eax
xor esi, r14d
call fcn.1400498a0
movsxd rcx, eax
lea rdx, [0x1400606ec]
mov eax, esi
xor eax, dword [rdx + rcx*4]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret