Function at 0x1403671b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov bl, r9b
mov rdi, r8
mov r14, rdx
mov rsi, rcx
lea rcx, [rbp - 0x58]
call fcn.140367a40
call fcn.14035df00
lea r8, [0x140534ac8]
lea rcx, [rbp - 0x18]
mov rdx, r14
mov r9, rdi
call fcn.140384460
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x18]
call fcn.140371bf0
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14036726c
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
movabs r8, 0xbb2223ffcfeb3fae
add r8, rcx
movabs rcx, 0x44dddc003014c052
mov r9, r8
xor r9, rcx
and r8, rcx
lea rcx, [r9 + r8*2]
cmp rcx, 0x20
jae 0x140367838
mov rcx, rdx
xor rcx, 0x27
and edx, 0x27
lea rdx, [rcx + rdx*2]
mov rcx, rax
lea r15, [rbp]
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x1403672b5
nop dword [rax + rax]
mov r12, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, r12
test r12, r12
jne 0x1403672a0
mov rcx, qword [rbp - 0x10]
mov edx, 0x20
call fcn.1400a6550
call fcn.14035f980
lea rdx, [0x140534b10]
lea rcx, [rbp - 0x58]
mov r8, rdi
call fcn.140367c40
call fcn.14035fda0
lea r8, [0x140534b58]
lea rcx, [rbp - 0x18]
mov rdx, r14
mov r9, rdi
call fcn.140385600
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x18]
call fcn.140371bf0
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
sub rdx, rcx
movabs rax, 0xa2c38b5dbaf61cf0
add rax, qword [0x14051dde0]
cmp rdx, rax
jbe 0x140367357
mov rax, qword [rcx - 8]
mov r8, rcx
xor r8, 0xfffffffffffffff8
add rcx, rcx
and rcx, 0xfffffffffffffff0
mov r9, r8
xor r9, rcx
and rcx, r8
lea rcx, [r9 + rcx*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x14036783d
add rdx, 0x27
mov rcx, rax
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x1403673a5
nop word cs:[rax + rax]
mov r12, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, r12
test r12, r12
jne 0x140367390
mov rcx, qword [rbp - 0x10]
mov edx, 0x20
call fcn.1400a6550
call fcn.1403654a0
lea r8, [0x140534ba0]
lea rcx, [rbp - 0x18]
mov rdx, r14
mov r9, rdi
call fcn.140385ea0
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x18]
call fcn.140371bf0
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14036742f
mov rax, qword [rcx - 8]
mov r8, rcx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [r8 + r9*2]
mov r8, rax
neg r8
mov r9, rcx
xor r9, r8
and r8, rcx
lea rcx, [r9 + r8*2]
cmp rcx, 0x20
jae 0x140367842
add rdx, 0x27
mov rcx, rax
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x140367475
nop word [rax + rax]
mov r12, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, r12
test r12, r12
jne 0x140367460
mov rcx, qword [rbp - 0x10]
mov edx, 0x20
call fcn.1400a6550
call fcn.1403664e0
lea r8, [0x140534be8]
lea rcx, [rbp - 0x18]
mov rdx, r14
mov r9, rdi
call fcn.140386940
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x18]
call fcn.140371bf0
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1403674fd
mov rax, qword [rcx - 8]
mov r8, rcx
xor r8, 0xfffffffffffffff8
not ecx
and ecx, 7
or rcx, r8
not rcx
lea rcx, [r8 + rcx*2]
sub rcx, rax
movabs r8, 0xa2c38b5dbaf60d11
add r8, qword [0x14051dde0]
cmp rcx, r8
jae 0x140367847
add rdx, 0x27
mov rcx, rax
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x140367545
nop dword [rax + rax]
mov r14, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, r14
test r14, r14
jne 0x140367530
mov rcx, qword [rbp - 0x10]
mov edx, 0x20
call fcn.1400a6550
test bl, bl
jne 0x14036756f
call fcn.1403669a0
lea rdx, [0x140534c30]
lea rcx, [rbp - 0x58]
mov r8, rdi
call fcn.140367c40
mov dword [rsi], 0
mov rdi, qword [rbp - 0x50]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1403675f8
mov rax, rbx
jmp 0x1403675ac
mov rdx, rcx
mov r8d, 1
shl r8d, cl
shr rdx, 5
or dword [rsi + rdx*4], r8d
mov rax, qword [rax]
cmp rax, rdi
je 0x1403675f8
mov ecx, dword [rax + 0x18]
mov edx, dword [0x1405315f8]
mov r8d, edx
xor r8d, ecx
and edx, ecx
lea ecx, [r8 + rdx*2]
mov edx, dword [0x14051ddd8]
mov r8d, edx
xor r8d, 0x4937e5c9
not edx
and edx, 0x36c81a36
or edx, r8d
not edx
lea edx, [r8 + rdx*2]
cmp ecx, edx
jbe 0x1403675a4
mov rcx, qword [rax + 0x10]
cmp rcx, 0x15
jb 0x140367590
mov rcx, rsi
call fcn.140371bc0
mov eax, dword [rsi]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x80000
and eax, 0xfff7ffff
or eax, edx
and ecx, 0xfff7ffff
or ecx, eax
cmp ecx, 0xffffffff
je 0x14036778d
movzx r14d, byte [rsi]
xor ecx, ecx
mov edx, 1
mov r8d, 0xbb8c849f
mov r9d, 0x421854c1
call fcn.140375b60
movsx r14, byte [rax + r14]
movzx r15d, byte [rsi + 1]
xor ecx, ecx
mov edx, 1
mov r8d, 0xbb8c849f
mov r9d, 0x421854c1
call fcn.140375b60
movsx r15, byte [rax + r15]
add r15, r14
movzx r14d, byte [rsi + 2]
xor ecx, ecx
mov edx, 1
mov r8d, 0xbb8c849f
mov r9d, 0x421854c1
call fcn.140375b60
movsx r14, byte [rax + r14]
movzx r12d, byte [rsi + 3]
xor ecx, ecx
mov edx, 1
mov r8d, 0xbb8c849f
mov r9d, 0x421854c1
call fcn.140375b60
movsx rax, byte [rax + r12]
add rax, r14
add rax, r15
cmp rax, 1
jbe 0x1403676c7
mov eax, dword [rsi]
mov ecx, eax
xor ecx, 0x80000
and ecx, eax
mov dword [rsi], ecx
jmp 0x14036778d
cmp rbx, rdi
je 0x14036778d
mov ecx, 1
mov rax, rbx
nop dword [rax + rax]
mov edx, ecx
mov r8, qword [rax + 0x10]
mov ecx, dword [rax + 0x18]
mov r9, qword [rax]
mov rax, qword [0x140534168]
mov r10, rax
xor r10, r8
and rax, r8
lea rax, [r10 + rax*2]
add rax, qword [0x140531608]
cmp ecx, edx
cmovbe ecx, edx
cmp rax, 0x13
cmove ecx, edx
mov rax, r9
cmp r9, rdi
jne 0x1403676e0
cmp rbx, rdi
je 0x14036778d
mov eax, dword [0x14051ddd8]
mov edx, eax
xor edx, 0x4937e5d4
and eax, 0x4937e5d4
lea eax, [rdx + rax*2]
mov edx, ecx
shr edx, 5
mov r8d, 1
shl r8d, cl
xor r9d, r9d
jmp 0x14036775f
or dword [rsi + rdx*4], r8d
mov r9b, 1
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x140367777
cmp qword [rbx + 0x10], 0x13
je 0x140367757
cmp dword [rbx + 0x18], ecx
jne 0x140367757
cmp ecx, eax
jbe 0x140367750
mov rcx, rsi
call fcn.140371bc0
and r9b, 1
movzx eax, byte [0x14051dddc]
add al, 0x8f
cmp r9b, al
jne 0x1403676b4
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1403677cd
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
movabs r8, 0xa2c38b5dbaf60d11
add r8, qword [0x14051dde0]
cmp rcx, r8
jae 0x14036784c
add rdx, 0x27
mov rcx, rax
lea rdi, [rbp - 0x40]
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x140367815
nop dword [rax + rax]
mov rdi, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, rdi
test rdi, rdi
jne 0x140367800
mov rcx, qword [rbp - 0x50]
mov edx, 0x20
call fcn.1400a6550
mov rax, rsi
add rsp, 0xb0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
int3