Function at 0x140242430
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov ebx, r8d
mov edi, edx
mov esi, ecx
mov eax, dword [0x1406943c8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14024248a
mov rdx, qword [0x140623b10]
mov eax, dword [0x1406943c8]
mov ecx, dword [0x140623ec8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x1402424b8
mov ecx, 0xfa14a9ae
nop
mov rax, qword [0x140623b10]
mov edx, dword [0x1406943c8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140623ec8]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x140242490
jmp 0x140242469
movsxd r8, dword [rdx]
mov eax, dword [0x1406943cc]
mov rax, r8
and rax, rdx
nop word [rax + rax]
cmp dword [0x140623ec8], 0x5eb5654
jne 0x1402424d0
mov rcx, rdx
xor rcx, rdx
not rcx
and rcx, r8
xor rcx, rdx
mov edx, dword [0x1406943c8]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x140242cd2
jmp 0x140242cc0
mov rdx, qword [0x140694360]
mov qword [0x140694368], rdx
lea rax, [rcx + rax*2]
mov qword [rbp - 0x40], rax
xor eax, eax
test al, al
nop word cs:[rax + rax]
lea rax, [fcn.140242430]
add eax, eax
add eax, 0x49a0
mov ecx, eax
not ecx
test ecx, eax
jne 0x140242530
test edi, edi
je 0x140242c9f
cmp qword [0x140693dc8], 0
jne 0x140242642
mov eax, dword [0x1406943c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402425c6
mov ecx, 0xe8
mov edx, 0x8b00797e
mov r8d, 0xc3e831e2
call fcn.1400a8810
lea rcx, [0x14052ec78]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x14052ecd8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140693dc8], rax
mov al, 1
test al, al
jne 0x140242642
lea r14, [0x14052ec78]
lea r15, [0x14052ecd8]
xorps xmm6, xmm6
nop word [rax + rax]
mov ecx, 0xe8
mov edx, 0x8b00797e
mov r8d, 0xc3e831e2
call fcn.1400a8810
mov qword [rax], r14
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
mov qword [rax + 0x10], r15
mov byte [rax + 8], 0
movzx ecx, byte [0x140623ecc]
add cl, 0x6d
mov byte [rax + 9], cl
mov word [rax + 0xa], 0
movups xmmword [rax + 0x38], xmm6
mov qword [0x140693dc8], rax
mov eax, dword [0x1406943cc]
cmp eax, 0xb
jge 0x1402425e0
jmp 0x14024256d
mov rax, qword [0x140693dc8]
mov rax, qword [rax + 0x38]
mov esi, esi
add rsi, rax
test bl, bl
je 0x140242697
lea rdi, [rbp - 0x20]
mov rcx, rdi
mov edx, 0x422ec91a
mov r8d, 0x60435d4e
mov r9d, 0x81c350f2
call fcn.140245180
lea rdx, [0x140694360]
lea r9, [rbp - 0x28]
mov rcx, rdi
mov r8, rsi
call fcn.1402d9860
lea rcx, [rbp - 0x20]
call fcn.1401a5350
jmp 0x140242c9f
test rax, rax
sete cl
movzx edx, byte [0x1406943d0]
xor eax, eax
test dl, cl
jne 0x140242723
xor dl, cl
jne 0x140242723
mov ecx, edi
add rcx, rsi
xor eax, eax
mov edx, 0xfa14a9ac
movabs r8, 0x86024cc3620574a2
mov r9, rsi
nop word [rax + rax]
mov r10d, dword [r9 + 4]
mov r11d, dword [0x140623ec8]
add r11d, edx
cmp r10d, r11d
je 0x140242723
mov r11, qword [0x140623ec0]
add r11, r10
add r11, r8
shr r11, 1
mov rdi, r11
not rdi
mov rbx, rdi
and rbx, rax
mov r14, r11
xor r11, rax
not rax
and r14, rax
or r14, rbx
and rax, rdi
or rax, r11
not rax
lea rax, [r14 + rax*2]
add r9, r10
cmp r9, rcx
jb 0x1402426d0
mov ecx, 0xfa14a9ad
add ecx, dword [0x140623ec8]
lea rdx, [fcn.140242430]
add edx, edx
add edx, 0x3b40
test edx, ecx
je 0x140242764
lea rcx, [fcn.140242430]
add ecx, ecx
add ecx, 0x3b00
mov edx, ecx
not edx
nop word cs:[rax + rax]
test edx, ecx
jne 0x140242760
mov rdx, qword [0x140694368]
mov rcx, qword [0x140694360]
sub rdx, rcx
sar rdx, 3
add rdx, rax
mov rax, qword [0x140694370]
sub rax, rcx
movzx ecx, byte [0x140623ec0]
add cl, 0xad
sar rax, cl
cmp rax, rdx
mov edi, dword [rbp - 0x24]
mov rbx, qword [rbp - 0x40]
jae 0x1402427b8
mov rax, rdx
shr rax, 0x3d
jne 0x140242cbb
lea rcx, [0x140694360]
call fcn.140244180
mov eax, dword [rbp - 0x28]
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140242c62
add qword [rbp - 0x38], rsi
lea r15, [fcn.140242430]
lea eax, [r15 + r15]
add eax, 0x840
mov dword [rbp - 0x30], eax
not eax
mov dword [rbp - 0x2c], eax
mov r11b, 1
mov r14d, 0xfa14a9ae
jmp 0x14024281e
mov eax, dword [rsi + 4]
add rax, qword [0x140693de8]
add rsi, rax
cmp rsi, qword [rbp - 0x38]
mov edi, dword [rbp - 0x24]
mov rbx, qword [rbp - 0x40]
jae 0x140242c62
mov ecx, dword [rsi + 4]
mov eax, dword [0x140623b00]
mov r10, rax
inc eax
mov edx, dword [0x1406943cc]
cmp edx, 0x18
jge 0x140242870
nop word [rax + rax]
mov dword [0x140623b00], eax
mov edx, dword [0x140623ec8]
mov r8d, dword [0x1406943c8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x140242890
nop word cs:[rax + rax]
mov dword [0x140623b00], eax
mov edx, dword [0x1406943cc]
cmp edx, 0x26
jge 0x140242870
jmp 0x140242840
mov r8d, edx
xor r8d, 0xfa14a9ab
and edx, 0x7a14a9ab
lea edx, [r8 + rdx*2]
xor edx, r10d
xor r10d, eax
not eax
and eax, edx
mov r8d, dword [rbp - 0x30]
mov r9d, dword [rbp - 0x2c]
nop word cs:[rax + rax]
test r9d, r8d
jne 0x1402428d0
mov edx, dword [0x1406943cc]
cmp edx, 0x3c
jle 0x1402428e0
mov edx, dword [0x1406943cc]
cmp edx, 0x2f
jge 0x1402428c0
jmp 0x1402428c5
or r10d, eax
not r10d
xor r12d, r12d
mov qword [rbp - 0x48], r10
test r10d, r10d
jne 0x140242910
mov eax, dword [0x140623ec8]
mov edx, 0xfa14a9ac
add eax, edx
cmp eax, edi
jl 0x140242bb4
nop word [rax + rax]
xor eax, eax
test al, al
mov r10d, 0xfa14a9dd
jne 0x1402429bf
mov eax, dword [0x1406943cc]
cmp eax, 0xd
jge 0x1402429bf
mov eax, dword [0x140623ec8]
mov edx, 0xfa14a9ac
add eax, edx
lea edx, [r15 + r15]
add edx, 0x41c0
mov r8d, edx
not r8d
and r8d, edx
cmp r8d, eax
test ecx, ecx
je 0x140242c62
movabs rax, 0x1fffffff8
lea r9, [rcx + rax]
movzx ecx, byte [0x140623ec0]
add cl, 0xab
shr r9, cl
test r9d, r9d
jle 0x140242800
lea rbx, [rsi + 8]
xor edi, edi
jmp 0x140242a49
mov edx, dword [0x1406943c8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140623ec8]
lea r9d, [r8 - 0x5eb5652]
xor edx, edx
div r9d
add r8d, 0xfa14a9ac
cmp edx, r8d
je 0x140242920
mov eax, dword [0x1406943cc]
cmp eax, 0x11
jle 0x1402429e9
mov edx, dword [0x1406943c8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140623ec8]
add r8d, r14d
xor edx, edx
div r8d
test edx, edx
jne 0x1402429bf
mov eax, dword [0x1406943cc]
mov edx, dword [0x140623ec8]
add edx, r10d
cmp eax, edx
jl 0x140242990
jmp 0x1402429ca
cmp dword [rbp - 0x48], 1
mov eax, 0
sbb eax, eax
mov ecx, dword [0x1405369a0]
sub ecx, r12d
xor ecx, eax
not ecx
and ecx, eax
add qword [0x140693de8], rcx
lea rcx, [0x140694360]
mov rdx, r8
lea r8, [rbp - 0x20]
call fcn.1402442e0
mov r11b, 1
mov r9, r13
inc edi
add rbx, 2
cmp edi, r9d
je 0x140242800
mov eax, dword [0x140623ec8]
mov ecx, eax
xor ecx, 0xfa14a9ac
and eax, 0x7a14a9ac
add eax, eax
add eax, ecx
jne 0x140242ac0
nop word cs:[rax + rax]
mov edx, dword [rsi]
mov qword [rbp - 0x20], rdx
movzx ecx, byte [0x140623ec0]
add cl, 0xae
shl rdx, cl
movzx eax, word [rbx]
add rax, rdx
mov qword [rbp - 0x20], rax
test r11b, r11b
je 0x140242ac0
mov r8, qword [0x140694368]
cmp r8, qword [0x140694370]
je 0x140242b20
mov ecx, dword [0x1406943cc]
cmp ecx, 0x29
jle 0x140242b30
jmp 0x140242b50
mov r8d, dword [rsi]
lea ecx, [r8*4]
add cl, 0xf0
mov rax, r8
shl rax, cl
mov qword [rbp - 0x20], r8
mov rdx, r8
mov ecx, eax
shl rdx, cl
mov rax, r8
mov ecx, edx
shl rax, cl
sub eax, r8d
sub eax, r8d
sub eax, r8d
mov ecx, eax
shl r8, cl
movzx eax, word [rbx]
neg r8
imul r8, rax
add r8, rax
mov qword [rbp - 0x20], r8
mov eax, dword [0x1406943c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140242ac0
jmp 0x140242a70
mov r13, r9
mov eax, dword [0x1406943cc]
cmp eax, 0xe
jg 0x140242b80
jmp 0x140242b60
mov qword [r8], rax
add qword [0x140694368], 8
mov ecx, dword [0x1406943c8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140242a3a
mov qword [r8], rax
add qword [0x140694368], 8
jmp 0x140242b30
mov eax, dword [0x1406943c8]
mov ecx, dword [0x140623ec8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x140242a00
nop
mov ecx, dword [0x1406943c8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140623ec8]
lea r9d, [rcx - 0x5eb5652]
xor edx, edx
div r9d
mov eax, ecx
xor eax, 0xfa14a9ac
and ecx, 0x7a14a9ac
lea eax, [rax + rcx*2]
cmp edx, eax
jne 0x140242b80
jmp 0x140242b60
xor eax, eax
xor r12d, r12d
jmp 0x140242bf4
add r8d, 0xfa14a9ab
mov r9d, r8d
xor r9d, r8d
not r9d
and r9d, edx
xor r8d, edx
xor r8d, r9d
and r12d, r8d
xor r12d, edx
mov edx, dword [0x140623ec8]
add eax, edx
add eax, 0xfa14a9b0
cmp eax, edi
jge 0x140242910
movsxd rdx, eax
mov edx, dword [rbx + rdx]
nop word [rax + rax]
mov r8d, dword [0x140623ec8]
mov r9d, r8d
xor r9d, 0xfa14a9ad
and r8d, 0x7a14a9ad
lea r8d, [r9 + r8*2]
lea r9d, [r15 + r15]
add r9d, 0x4240
test r9d, r8d
jne 0x140242c53
mov r8d, dword [0x140623ec8]
mov r9d, r8d
xor r9d, 0xfa14a9ac
mov r10d, r8d
and r10d, 0x7a14a9ac
add r10d, r10d
add r10d, r9d
je 0x140242bc0
mov r8d, dword [0x1406943cc]
cmp r8d, 0xa
jge 0x140242c00
jmp 0x140242c2c
lea rcx, [0x140694360]
call fcn.140243c10
mov rdx, qword [0x140694368]
mov rcx, qword [0x140694360]
mov rax, rdx
sub rax, rcx
add rax, qword [0x140623ec0]
movabs r8, 0x86024cc3620574aa
add r8, rax
sar r8, 3
call fcn.1402444f0
lea rax, [0x140694360]
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14017f7b0
mov r8d, dword [0x1405369a8]
mov edx, dword [0x1406943cc]
cmp edx, 0x4a
jle 0x140242cda
mov edx, dword [0x1405369a8]
jmp 0x140242cc0
mov dword [rbp - 0x24], r8d
mov dword [rbp - 0x28], edi
test r9b, r9b
jne 0x140242508
jmp 0x140242516