Function at 0x140317180
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov qword [rbp - 0x48], rdx
mov rdi, rcx
mov eax, dword [0x140514338]
lea r8d, [rax - 0x3fff036b]
lea r9d, [rax - 0x457bbc3c]
add eax, 0x40916413
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 8]
lea rbx, [rbp - 0x40]
mov rdx, rbx
call fcn.1400fc120
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov rsi, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 8
jb 0x1403171ed
mov rbx, qword [rbp - 0x40]
lea rax, [rbp - 0x18]
cmp rsi, 7
ja 0x140317208
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
mov r14d, 7
jmp 0x1403172df
mov r14, rsi
not r14
mov rax, rsi
xor rax, 7
and r14, 0xfffffffffffffff8
or r14, rax
not r14
or r14, rax
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmovae r14, rax
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x1403172bf
movabs rax, 0x7fffffffffffffec
cmp r14, rax
jae 0x140317334
add rcx, 0x29
call fcn.1403bba7c
movabs rcx, 0xda9f6c07905d3802
add rcx, rax
mov rdx, rcx
xor rdx, 0x27
and ecx, 0x27
lea rcx, [rdx + rcx*2]
movabs rdx, 0x256093f86fa2c7fe
add rdx, rcx
mov rcx, qword [0x140514340]
movabs r8, 0xe505b50e2af82e0e
xor r8, rcx
movabs r9, 0x6505b50e2af82e0e
and r9, rcx
lea rcx, [r8 + r9*2]
xor rcx, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffe0
not rcx
and rcx, rdx
mov qword [rcx - 8], rax
jmp 0x1403172cb
add rcx, 2
call fcn.1403bba7c
mov rcx, rax
mov qword [rbp - 0x18], rcx
lea r8, [rsi + rsi]
add r8, 2
mov rdx, rbx
call fcn.1403e3a10
mov qword [rbp - 8], rsi
mov qword [rbp], r14
lea rax, [0x1403fec30]
mov qword [rbp - 0x20], rax
lea rcx, [rdi + 0x3c]
lea r8, [rbp - 0x20]
mov edx, 0x80
call fcn.140398fd0
mov rax, qword [rbp]
mov rcx, qword [0x140513fb8]
movsxd rsi, dword [rcx]
mov rbx, rcx
xor rbx, rcx
not rbx
and rbx, rsi
xor rbx, rcx
and rsi, rcx
add rsi, rsi
mov ecx, dword [0x14053423c]
cmp ecx, 0x62
jge 0x140317350
jmp 0x140317339
call fcn.1400845c0
mov r12d, dword [0x1404227fc]
mov ecx, dword [0x14053423c]
cmp ecx, 0x21
jl 0x140317363
nop dword [rax + rax]
mov ecx, dword [0x1404227fc]
mov ecx, dword [0x14053423c]
cmp ecx, 0xc
jge 0x140317350
jmp 0x140317339
cmp rax, 7
jbe 0x1403173ee
mov rcx, qword [rbp - 0x18]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1403173dd
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14031773c
add rax, rax
mov rcx, qword [0x140514340]
movabs rdx, 0x6505b50e2af82e0f
and rdx, rcx
movabs r9, 0xe505b50e2af82e0f
xor rcx, r9
lea rcx, [rcx + rdx*2]
sub rcx, rax
movabs rax, 0x7fffffffffffffd7
and rax, rcx
xor rcx, 0xffffffffffffffd7
lea rdx, [rcx + rax*2]
neg rdx
mov rcx, r8
mov r8d, 0x6688a378
mov r9d, 0xc554657e
call fcn.1400a6550
add rbx, rsi
mov qword [rbp - 8], 0
mov qword [rbp], 7
nop word cs:[rax + rax]
mov r13d, dword [0x140513fb0]
mov eax, dword [0x140534238]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140317410
lea r14d, [r13 - 0x4f8626f4]
add r14d, 0x4f8626f5
mov dword [0x140513fb0], r14d
xor r14d, r13d
not r14d
test r14d, r13d
je 0x14031744f
xor esi, esi
jmp 0x1403174f9
xor eax, eax
mov esi, 0
test r12d, r12d
jle 0x1403174f9
xor esi, esi
nop word cs:[rax + rax]
movsxd rcx, eax
add rcx, rbx
mov edx, dword [0x140534238]
mov r8d, dword [0x140514338]
neg r8d
add r8d, edx
add r8d, 0x2d4902fc
imul r8d, edx
test r8b, 1
mov edx, dword [0x140534238]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140317498
mov edx, dword [0x14053423c]
cmp edx, 0x2d
jle 0x1403174ba
movzx edx, word [rcx]
movzx ecx, word [rcx]
mov edx, ecx
xor edx, ecx
not edx
and edx, esi
xor edx, ecx
mov esi, edx
add eax, 0x989a341c
mov ecx, dword [0x140534238]
nop word cs:[rax + rax]
mov ecx, dword [0x14053423c]
cmp ecx, 0x30
jg 0x1403174e0
add eax, 0x6765cbe6
cmp eax, r12d
jl 0x140317470
mov word [rbp - 0x18], 0
mov r8, qword [rbp - 0x28]
movabs rax, 0xe505b50e2af82e16
add rax, qword [0x140514340]
cmp r8, rax
jbe 0x1403175d1
mov rax, qword [rbp - 0x40]
mov r9, qword [0x140514340]
lea ecx, [r9 + 0x10]
shl r8, cl
movabs rcx, 0xe54ef641ce26b810
xor rcx, r9
movabs rdx, 0x654ef641ce26b810
and rdx, r9
lea rcx, [rcx + rdx*2]
mov r10, r8
sub r10, rcx
movabs rdx, 0x494133a32e8a03
add rdx, r10
movabs rcx, 0xe505b50e2af83e0e
add rcx, r9
cmp rdx, rcx
seta cl
movzx r9d, byte [0x140531b60]
test r9b, cl
jne 0x140317585
xor r9b, cl
je 0x1403175b4
mov rcx, qword [rax - 8]
add rax, 0xfffffffffffffff8
sub rax, rcx
movabs rdx, 0xe505b50e2af82e2f
add rdx, qword [0x140514340]
cmp rax, rdx
jae 0x140317741
add r8, 0x29
mov rdx, r8
mov rax, rcx
mov r9d, dword [0x140514338]
lea r8d, [r9 + 0x393fa07b]
add r9d, 0x980b6281
mov rcx, rax
call fcn.1400a6550
mov dword [rsp + 0x20], 0x69866dbf
lea rcx, [rbp + 8]
lea rbx, [rbp - 0x40]
mov rdx, rbx
mov r8d, 0xb762f0f
mov r9d, 0x5e35d011
call fcn.140318f40
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov r15, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 8
jb 0x14031760b
mov rbx, qword [rbp - 0x40]
cmp r15, 7
ja 0x140317626
movups xmm0, xmmword [rbx]
lea rax, [rbp - 0x18]
movups xmmword [rax], xmm0
mov r12d, 7
jmp 0x1403176e4
mov r12, r15
or r12, 7
movabs rax, 0x7ffffffffffffffe
cmp r12, rax
cmovae r12, rax
lea rcx, [r12 + r12]
cmp r12, 0x7ff
jb 0x14031769f
movabs rax, 0x7fffffffffffffec
cmp r12, rax
jae 0x140317746
add rcx, 0x29
call fcn.1403bba7c
mov rdx, 0xffffffffffffffd8
sub rdx, rax
mov r8, rax
add r8, 0x27
mov ecx, edx
and ecx, 0x1f
mov r9, r8
and r9, 0xffffffffffffffe0
or r9, rcx
mov rcx, r9
not rcx
xor r9, r8
and rcx, rdx
or rcx, r9
not rcx
mov qword [rcx - 8], rax
jmp 0x1403176ab
add rcx, 2
call fcn.1403bba7c
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov rax, qword [0x140514340]
movabs rdx, 0x6505b50e2af82e0f
and rdx, rax
movabs r8, 0xe505b50e2af82e0f
xor rax, r8
lea rax, [rax + rdx*2]
lea r8, [rax + r15*2]
add r8, 2
mov rdx, rbx
call fcn.1403e3a10
mov qword [rbp - 8], r15
mov qword [rbp], r12
lea r15, [0x1403fec30]
mov qword [rbp - 0x20], r15
lea rcx, [rdi + 0xbc]
lea r8, [rbp - 0x20]
mov edx, 0x80
call fcn.140398fd0
mov r8, qword [rbp]
mov ecx, dword [0x140534238]
mov r9d, dword [0x140514338]
mov eax, ecx
sub eax, r9d
add eax, 0x2d4902fc
imul eax, ecx
add r9d, 0xd2b6fd05
xor edx, edx
div r9d
test edx, edx
jne 0x140317783
jmp 0x14031774b
call fcn.14039c09c
call fcn.14039c09c
call fcn.1400845c0
movzx eax, word [0x140422804]
mov ecx, dword [0x140514338]
lea edx, [rcx - 0x2d4902fc]
lea r9, [fcn.140317180]
add r9d, r9d
add r9d, 0x12c0
xor r9d, edx
not r9d
and r9d, edx
add ecx, 0xd2b6fd03
cmp r9d, ecx
je 0x1403177bf
mov eax, 0xd2b6fd04
lea rcx, [fcn.140317180]
add ecx, ecx
add ecx, 0x13c0
nop word [rax + rax]
movzx edx, word [0x140422804]
mov edx, dword [0x140514338]
add edx, eax
mov r9d, ecx
xor r9d, edx
not r9d
test r9d, edx
jne 0x1403177a0
jmp 0x14031774b
xor ecx, ecx
test r14d, r13d
setne cl
lea edx, [rcx - 1]
sub eax, esi
mov r9d, eax
not r9d
neg ecx
and ecx, r9d
xor eax, edx
or eax, ecx
mov ecx, dword [0x14053423c]
cmp ecx, 0x31
jg 0x140317b60
jmp 0x140317b4f
mov rcx, qword [rbp - 0x18]
lea rdx, [r8 + r8]
add rdx, 2
mov rax, qword [0x140514340]
movabs r9, 0xe505b50e2af83e0e
xor r9, rax
movabs r10, 0x6505b50e2af83e0e
and r10, rax
lea rax, [r9 + r10*2]
cmp rdx, rax
jbe 0x140317843
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140317856
add r8, r8
add r8, 0x29
mov rdx, r8
mov rcx, rax
mov r8d, 0x6688a378
mov r9d, 0xc554657e
call fcn.1400a6550
jmp 0x14031785b
call fcn.14039c09c
mov qword [rbp - 8], 0
mov qword [rbp], 7
mov word [rbp - 0x18], 0
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x1403178d9
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1403178c8
mov r8, qword [rcx - 8]
mov rdx, qword [0x140514340]
add rcx, rdx
sub rcx, r8
movabs r9, 0xca0b6a1c55f05c16
add r9, rdx
add r9, rcx
cmp r9, 0x20
jae 0x140317b3b
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
mov r8d, 0x6688a378
mov r9d, 0xc554657e
call fcn.1400a6550
mov eax, dword [0x140514338]
lea r8d, [rax + 0x6bf06089]
mov ecx, eax
xor ecx, 0xf41125b2
mov edx, eax
and edx, 0x741125b2
lea r9d, [rcx + rdx*2]
add eax, 0xe0d35728
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 8]
lea rbx, [rbp - 0x40]
mov rdx, rbx
call fcn.140318f10
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov rsi, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 8
jb 0x140317929
mov rbx, qword [rbp - 0x40]
movabs rax, 0xe505b50e2af82e17
add rax, qword [0x140514340]
cmp rsi, rax
jae 0x140317951
movups xmm0, xmmword [rbx]
lea rax, [rbp - 0x18]
movups xmmword [rax], xmm0
mov r14d, 7
jmp 0x1403179c3
mov r14, rsi
or r14, 7
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmovae r14, rax
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x1403179a3
movabs rax, 0x7fffffffffffffec
cmp r14, rax
jae 0x140317b40
add rcx, 0x29
call fcn.1403bba7c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1403179af
add rcx, 2
call fcn.1403bba7c
mov rcx, rax
mov qword [rbp - 0x18], rcx
lea r8, [rsi + rsi]
add r8, 2
mov rdx, rbx
call fcn.1403e3a10
mov qword [rbp - 8], rsi
mov qword [rbp], r14
mov qword [rbp - 0x20], r15
lea rcx, [rdi + 0x154]
lea r8, [rbp - 0x20]
mov edx, 0x100
call fcn.140398fd0
mov rax, qword [rbp]
cmp rax, 8
jb 0x140317a57
mov rcx, qword [rbp - 0x18]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140317a46
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
add rcx, qword [0x140514340]
movabs rdx, 0xe505b50e2af82e0f
add rcx, rdx
cmp rcx, 0x20
jae 0x140317b45
add rax, rax
add rax, qword [0x140514340]
movabs rdx, 0xe505b50e2af82e38
add rdx, rax
mov rcx, r8
mov r8d, 0x6688a378
mov r9d, 0xc554657e
call fcn.1400a6550
movabs rax, 0xe505b50e2af82e0f
add rax, qword [0x140514340]
mov qword [rbp - 8], rax
mov eax, 0x6b9c
add eax, dword [0x140514348]
mov qword [rbp], 7
mov word [rbp - 0x18], ax
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x140317af8
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + rax]
add rdx, 2
movabs r8, 0xe505b50e2af83e0e
add r8, qword [0x140514340]
cmp rdx, r8
jbe 0x140317ade
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140317b4a
add rax, rax
add rax, qword [0x140514340]
movabs rdx, 0xe505b50e2af82e38
add rdx, rax
mov rcx, r8
mov r9d, dword [0x140514338]
lea r8d, [r9 + 0x393fa07b]
add r9d, 0x980b6281
call fcn.1400a6550
add rdi, 0x254
mov dword [rsp + 0x28], 0x9a6af428
mov dword [rsp + 0x20], 0xe50b7445
mov edx, 0x80
mov rcx, rdi
mov r8, qword [rbp - 0x48]
mov r9d, 0x674ecee5
call fcn.140318f60
nop
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14039c09c
call fcn.1400845c0
call fcn.14039c09c
call fcn.14039c09c
mov ecx, dword [0x14053423c]
cmp ecx, 0x47
jl 0x140317b6d
nop word [rax + rax]
mov ecx, dword [0x14053423c]
cmp ecx, 0x14
jge 0x140317b60
jmp 0x140317b4f
not eax
mov ecx, dword [0x140534238]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
nop
mov ecx, 0x6b9c
add ecx, dword [0x140514348]
mov edx, dword [0x140534238]
lea r9d, [rdx - 1]
imul r9d, edx
and r9d, 1
mov edx, 0xd2b6fd03
add edx, dword [0x140514338]
cmp r9d, edx
jne 0x140317b80
cmp ax, cx
sete al
setne cl
movzx edx, byte [0x140531b60]
xor al, cl
and al, dl
and dl, cl
xor al, cl
or al, dl
cmp dword [0x140514338], 0x2d4902fd
jne 0x140317be9
mov ecx, eax
and cl, 1
mov byte [0x140531b60], cl
mov ecx, dword [0x14053423c]
cmp ecx, 0x39
jle 0x140317bf6
mov ecx, eax
and cl, 1
mov byte [0x140531b60], cl
jmp 0x140317bd3
cmp r8, 7
ja 0x1403177ef
jmp 0x14031785b