Function at 0x14007e490
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov eax, dword [rcx + 0x87c]
mov ecx, eax
not ecx
xor eax, 4
and ecx, 0xfffffffb
or ecx, eax
cmp ecx, 0xffffffff
je 0x14007e4dc
xor edi, edi
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r13d, dword [0x140563f24]
lea rcx, [rsi + 0x230]
mov eax, dword [0x1404f0404]
sub eax, r13d
mov edx, dword [0x1404f14e8]
add eax, edx
add eax, 0xdab395be
cdqe
add rax, qword [0x1404f0440]
mov dword [rsp + 0x28], 0x30f1d260
mov dword [rsp + 0x20], 0xafed6223
xor edi, edi
xor edx, edx
mov r8b, 1
xor r9d, r9d
call qword [0x1404ee420]
test eax, eax
je 0x14007e4c9
test byte [rsi + 0x87c], 0x10
je 0x14007e59c
mov eax, dword [0x140563c98]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14007e57a
mov eax, r13d
xor eax, r13d
not eax
and eax, dword [0x1404f0400]
xor eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0428]
mov rcx, rsi
call qword [0x1404ee420]
mov eax, dword [0x140563c9c]
cmp eax, 0x38
jle 0x14007e59c
mov eax, dword [0x1404f0400]
or eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0428]
mov rcx, rsi
call qword [0x1404ee420]
jmp 0x14007e547
cmp qword [0x140564158], 0
mov qword [rbp - 0x10], r13
jne 0x14007e5f2
mov eax, dword [0x1404f0408]
sub eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0420]
mov ecx, 0x700
mov edx, 0xb76036ff
mov r8d, 0x82cd26c4
call qword [0x1404ee420]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140098b60
mov rax, qword [rbp - 8]
mov qword [0x140564158], rax
mov r13, qword [rbp - 0x10]
mov rdi, qword [0x140564158]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x14007e64b
mov eax, dword [0x1404f040c]
or eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0448]
mov rcx, rsi
call qword [0x1404ee420]
mov eax, dword [0x1404f0410]
sub eax, r13d
sub eax, dword [0x1404f14e8]
add eax, 0x254d4e16
cdqe
add rax, qword [0x1404f0430]
mov rcx, rsi
call qword [0x1404ee420]
mov qword [rdi + 0x3b0], 0
mov byte [0x140564320], 1
mov rcx, qword [0x140564428]
test rcx, rcx
je 0x14007e685
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1404ee420]
mov qword [0x140564428], 0
mov rax, qword [0x140564090]
movabs rdi, 0x6c92fe8685d0aff2
test rax, rax
je 0x14007e859
mov rsi, qword [rax + 0x20]
mov r14, qword [rsi]
cmp r14, rsi
je 0x14007e7fa
mov ebx, 0xdab323d4
jmp 0x14007e6cc
mov rcx, rax
nop dword [rax]
mov r14, rcx
cmp rcx, rsi
je 0x14007e7fa
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
mov r8, qword [r14 + 0x58]
mov rax, qword [0x1404f14e0]
add rax, rdi
cmp r8, rax
je 0x14007e6fa
mov rcx, qword [r14 + 0x50]
mov dl, 1
call fcn.14040c5e0
mov r8, qword [r14 + 0x98]
test r8, r8
je 0x14007e714
mov rcx, qword [r14 + 0x90]
mov dl, 1
call fcn.14040c5e0
mov rax, qword [r14 + 0x10]
cmp byte [rax + 0x19], 0
je 0x14007e7e0
mov rcx, qword [r14 + 8]
movzx eax, byte [0x1404f14d8]
add al, 0x67
cmp byte [rcx + 0x19], al
jne 0x14007e6c0
nop word cs:[rax + rax]
mov rax, rcx
nop word cs:[rax + rax]
mov rcx, qword [rax + 0x10]
mov edx, dword [0x140563c9c]
mov r8d, dword [0x1404f14e8]
mov r9d, r8d
xor r9d, 0xdab323f3
and r8d, 0x5ab323f3
lea r8d, [r9 + r8*2]
cmp edx, r8d
jl 0x14007e7a0
nop dword [rax + rax]
mov ecx, dword [0x140563c98]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1404f14e8]
add ecx, ebx
cmp edx, ecx
jne 0x14007e780
jmp 0x14007e750
cmp r14, rcx
jne 0x14007e6b6
mov rcx, qword [rax + 8]
movzx edx, byte [0x1404f14d8]
mov r8d, edx
xor r8b, 0x67
and dl, 0x67
add dl, dl
add dl, r8b
mov r14, rax
cmp byte [rcx + 0x19], dl
je 0x14007e740
jmp 0x14007e6c0
mov rcx, rax
mov rax, qword [rax]
movzx edx, byte [0x1404f14d8]
add dl, 0x67
cmp byte [rax + 0x19], dl
je 0x14007e7e0
jmp 0x14007e6c0
lea rax, [fcn.14007e490]
add eax, eax
add eax, 0x49c0
mov ecx, eax
not ecx
nop dword [rax]
test ecx, eax
je 0x14007e842
nop word cs:[rax + rax]
mov edx, dword [0x140563c98]
mov r8d, dword [0x1404f14e8]
neg r8d
add r8d, edx
inc r8d
imul r8d, edx
test r8b, 1
jne 0x14007e820
jmp 0x14007e810
mov rax, qword [0x140564090]
mov rax, qword [rax + 0x30]
mov rcx, qword [rax]
cmp rcx, rax
jne 0x14007e90c
movaps xmm0, xmmword [0x140426640]
mov eax, dword [0x140563c98]
mov ecx, dword [0x1404f14e8]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
jne 0x14007e8ca
movups xmmword [0x1405576cf], xmm0
movups xmmword [0x1405576bf], xmm0
movups xmmword [0x1405576af], xmm0
movups xmmword [0x14055769f], xmm0
mov rcx, qword [0x140564158]
mov edx, dword [0x140563c98]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1404f14e8]
lea r9d, [r8 - 0x254cdc2a]
xor edx, edx
div r9d
add r8d, 0xdab323d4
cmp edx, r8d
je 0x14007e989
movups xmmword [0x1405576cf], xmm0
movups xmmword [0x1405576bf], xmm0
movups xmmword [0x1405576af], xmm0
movups xmmword [0x14055769f], xmm0
mov eax, dword [0x140563c9c]
cmp eax, 0x4f
jge 0x14007e860
jmp 0x14007e878
mov rcx, rdx
cmp rdx, rax
je 0x14007e859
mov edx, dword [0x140563c9c]
cmp edx, 0x17
jg 0x14007e980
nop word [rax + rax]
mov dword [rcx + 0x20], 0xffffffff
mov r8, qword [rcx + 0x10]
movzx edx, byte [r8 + 0x19]
movzx r9d, byte [0x1404f14d8]
mov r10d, dword [0x140563c9c]
cmp r10d, 0x55
jg 0x14007e980
add r9b, 0x67
cmp dl, r9b
jne 0x14007e960
nop
mov rdx, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x14007e950
jmp 0x14007e900
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
jne 0x14007e900
mov r8, rcx
mov rcx, rdx
cmp r8, qword [rdx + 0x10]
je 0x14007e960
mov rdx, rcx
jmp 0x14007e900
mov dword [rcx + 0x20], 0xffffffff
jmp 0x14007e920
test rcx, rcx
jne 0x14007e9d6
mov eax, dword [0x1404f0408]
add eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0420]
mov ecx, 0x700
mov edx, 0xb76036ff
mov r8d, 0x82cd26c4
call qword [0x1404ee420]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140098b60
mov rax, qword [rbp - 8]
mov qword [0x140564158], rax
mov r13, qword [rbp - 0x10]
mov rbx, qword [0x140564158]
mov rsi, qword [rbx + 0x560]
add rdi, qword [0x1404f14e0]
cmp rsi, rdi
je 0x14007ea95
lea rax, [fcn.14007e490]
add eax, eax
add eax, 0x4840
mov ecx, eax
not ecx
test ecx, eax
je 0x14007ea0c
jmp 0x14007ea35
mov rcx, qword [rbx + 0x558]
mov dl, 1
mov r8, rsi
call fcn.14040c5e0
mov rax, qword [0x140564158]
mov ecx, dword [0x140563c98]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14007ea48
mov rcx, qword [rbx + 0x558]
mov dl, 1
mov r8, rsi
call fcn.14040c5e0
jmp 0x14007ea0c
test rax, rax
jne 0x14007ea95
mov eax, dword [0x1404f0408]
add eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0420]
mov ecx, 0x700
mov edx, 0xb76036ff
mov r8d, 0x82cd26c4
call qword [0x1404ee420]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140098b60
mov rax, qword [rbp - 8]
mov qword [0x140564158], rax
mov r13, qword [rbp - 0x10]
mov eax, dword [0x140563c9c]
cmp eax, 0x59
jle 0x14007eaa2
jmp 0x14007eac8
mov rsi, qword [0x140564158]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
mov ecx, dword [0x140563c98]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14007eace
xor eax, eax
test al, al
jmp 0x14007eaa2
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
test eax, eax
jle 0x14007ebc5
mov edi, 1
mov rbx, 0xffffffffffffffff
mov r14d, 0x80
mov r15d, 0xdab323d4
xor r12d, r12d
cmp dword [r8 + r14 + 8], 0
jne 0x14007eb18
nop word cs:[rax + rax]
cmp qword [r8 + r14 + 8], 0
je 0x14007eb4e
mov edx, dword [r8 + r14 - 0x5c]
add r8, r14
mov eax, dword [0x1404f0414]
sub eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0438]
mov dword [rsp + 0x20], 0x8dd176a6
mov rcx, rsi
mov r9d, 0x1173f597
call qword [0x1404ee420]
mov eax, dword [0x140563c98]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14007ebc0
nop
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
mov ecx, dword [0x140563c98]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1404f14e8]
add ecx, r15d
cmp edx, ecx
jne 0x14007ebc0
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rdi, rax
jge 0x14007ebc5
inc rdi
dec rbx
add r14, 0xa0
cmp dword [r8 + r14 + 8], 0
je 0x14007eb10
jmp 0x14007eb18
test r12b, r12b
jmp 0x14007eb60
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
mov ecx, 0xdab323d4
add ecx, dword [0x1404f14e8]
mov dil, 1
cmp eax, ecx
jle 0x14007e4c9
xor ebx, ebx
nop
mov eax, dword [0x1404f0414]
xor eax, r13d
add eax, 0x71ea
cdqe
add rax, qword [0x1404f0438]
mov dword [rsp + 0x20], 0x8dd176a6
mov rcx, rsi
mov edx, ebx
xor r8d, r8d
mov r9d, 0x1173f597
call qword [0x1404ee420]
inc ebx
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp ebx, eax
jl 0x14007ebf0
jmp 0x14007e4c9