Function at 0x140055200
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1e0
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x150], xmm6
mov qword [rbp + 0x148], 0xfffffffffffffffe
movzx eax, byte [0x1404ee61c]
add al, byte [rcx + 0x878]
add al, byte [0x1404ee410]
jne 0x140055854
mov rsi, rcx
movsxd rbx, dword [0x1403b8f90]
test byte [rcx + 0x87c], 0x20
mov r14d, dword [0x1403b8f7c]
je 0x14005584d
mov rdi, rdx
cmp qword [0x1404f13b8], 0
jne 0x1400552b2
mov ecx, 0xf67f
mov eax, dword [0x1404844b0]
add eax, ecx
cdqe
add rax, qword [0x1404844f0]
mov ecx, 0x900
mov edx, 0xaa6e5303
call qword [case.0x14014757d.0]
mov qword [rbp + 0x130], rax
mov rcx, rax
call fcn.14006eb40
mov rax, qword [rbp + 0x130]
mov qword [0x1404f13b8], rax
mov rax, qword [0x1404f13b8]
mov qword [rbp + 0x138], rax
cmp qword [rax + 0x4c8], 0
je 0x140055854
lea r15, [0x1403b8f90]
cmp qword [0x1404ee750], 0
jne 0x140055341
mov eax, 0xf67f
add eax, dword [0x1404844b0]
cdqe
add rax, qword [0x1404844f0]
mov ecx, 0xe8
mov edx, 0xaa6e5303
call qword [case.0x14014757d.0]
lea rcx, [0x1403b93e8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x1403b9448]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x1404ee750], rax
add rbx, r15
mov rdx, qword [0x1404ee750]
mov eax, dword [0x1404ee378]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14005537a
jmp 0x14005535e
mov r15d, dword [0x1404ee328]
lea ecx, [r15 + 1]
mov dword [0x1404ee328], ecx
mov eax, dword [0x1404ee37c]
cmp eax, 0x2c
jle 0x1400553ad
mov eax, dword [0x1404ee328]
lea ecx, [rax - 1]
shl eax, cl
mov r8d, eax
shl r8d, cl
sub r8d, eax
mov ecx, eax
shl r8d, cl
sub eax, r8d
mov ecx, r8d
sub ecx, eax
imul ecx, eax
shl r8d, cl
add r8d, ecx
mov dword [0x1404ee328], r8d
jmp 0x14005535e
mov eax, r15d
not eax
mov r8d, dword [0x1404ee378]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
nop word cs:[rax + rax]
mov r8d, dword [0x1404ee378]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1400553d0
xor r15d, ecx
not ecx
and eax, ecx
mov ecx, dword [0x1404ee37c]
cmp ecx, 0xc
or r15d, eax
xor r15d, 0xffffffff
jne 0x14005542a
mov eax, dword [0x1404ee378]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop dword [rax]
mov eax, dword [0x1404ee378]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140055410
test r14d, r14d
jg 0x14005586d
xor r12d, r12d
mov eax, dword [0x1404ee37c]
cmp eax, 0x31
nop word cs:[rax + rax]
mov eax, dword [0x1404ee378]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140055440
movzx eax, word [rdx + 0xa]
cmp eax, 0x5ff
ja 0x140055463
or byte [0x1404ede15], 0x80
mov dword [rbp + 0x144], 0
xorps xmm6, xmm6
movaps xmmword [rbp + 0x110], xmm6
mov qword [rbp + 0x120], 0
movaps xmmword [rbp - 0x60], xmm6
movaps xmmword [rbp - 0x10], xmm6
movaps xmmword [rbp - 0x20], xmm6
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm6
movaps xmmword [rbp - 0x50], xmm6
mov qword [rbp], 0
mov dword [rbp - 0x60], 0x68
mov ebx, dword [0x1404edeca]
mov eax, 0xf67f
add eax, dword [0x1404844b8]
mov edx, dword [0x1404edec6]
cdqe
add rax, qword [0x1404844d8]
mov rcx, rdi
mov r8d, 0xe01092b9
call qword [case.0x14014757d.0]
movups xmmword [rbp + 0xb8], xmm6
mov byte [rbp + 0xc8], 1
mov dword [rbp + 0xcc], 1
movups xmmword [rbp + 0xd0], xmm6
mov qword [rbp + 0xe0], 0
test rbx, rbx
je 0x140055538
mov r14, rax
mov rcx, rbx
call fcn.140376384
mov rdi, rax
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xb8], rbx
mov rcx, rax
test r14, r14
je 0x14005553c
mov rdx, r14
mov r8, rbx
call fcn.14039e2f0
jmp 0x140055546
xor edi, edi
jmp 0x140055546
xor edx, edx
mov r8, rbx
call fcn.14039e9a0
mov qword [rbp + 0xb0], rdi
lea rax, [0x1403bb2e8]
mov qword [rbp + 0xa8], rax
movups xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x60], 0
mov byte [rbp + 0x68], 1
mov dword [rbp + 0x6c], 1
movups xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0xa8]
lea rdi, [rbp + 0x48]
mov rdx, rdi
call fcn.140295510
lea rax, [rbp + 0x144]
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0x138]
mov qword [rbp + 0xf0], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0x110]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rdi
lea rcx, [rbp + 0x88]
call fcn.140055b00
cmp qword [rbp + 0x98], 0
sete al
movzx ecx, byte [0x1404ee448]
test cl, al
jne 0x140055612
xor cl, al
jne 0x140055612
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0x88]
call fcn.140055df0
jmp 0x1400556a5
mov eax, 0xf67f
add eax, dword [0x1404844a8]
cdqe
add rax, qword [0x1404844c0]
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x8352fc0b
call qword [case.0x14014757d.0]
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x30], rax
movups xmm0, xmmword [rbp + 0xe8]
movups xmm1, xmmword [rbp + 0xf8]
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x10], xmm0
lea rax, [0x1403bb358]
mov qword [rbp + 8], rax
lea r8, [rbp + 8]
mov qword [rbp + 0x40], r8
mov rdx, qword [rbp + 0x58]
mov rcx, rdx
test rdx, rdx
je 0x140055680
mov rcx, qword [rbp + 0x50]
call fcn.1401da250
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1400556a5
lea rax, [rbp + 8]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x14014757d.0]
mov edi, dword [rbp + 0x144]
test edi, edi
je 0x1400557a4
mov eax, dword [rbp + 0x120]
mov dword [rsi + 0x898], eax
mov rax, qword [rbp + 0x138]
mov rax, qword [rax + 0x348]
mov rcx, qword [rbp + 0x118]
call qword [case.0x14014757d.0]
mov rax, qword [rbp + 0x138]
mov rax, qword [rax + 0x348]
mov rcx, qword [rbp + 0x110]
call qword [case.0x14014757d.0]
xor ebx, ebx
cmp ebx, 0x1387
ja 0x1400557a4
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x138]
mov rax, qword [rax + 0x2f0]
call qword [case.0x14014757d.0]
test eax, eax
jne 0x1400557a4
cmp r15d, 1
mov eax, 0
sbb eax, eax
movzx ecx, byte [0x1403b8f98]
sub cl, r12b
mov edx, dword [0x1404ee37c]
cmp edx, 0x38
jge 0x140055770
nop dword [rax + rax]
mov edx, dword [0x1404ee378]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x140055780
nop word cs:[rax + rax]
mov edx, dword [0x1404ee37c]
cmp edx, 0x5f
jge 0x140055770
jmp 0x140055750
xor al, cl
not al
and al, cl
add byte [0x1404ee61c], al
mov ecx, 1
call fcn.140056d70
inc ebx
cmp ebx, 0x1387
jbe 0x140055710
mov rax, qword [0x1404ee418]
add rax, qword [rbp + 0xa0]
cmp rax, 8
jb 0x14005580c
mov rcx, qword [rbp + 0x88]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1400557f2
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400558a7
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
mov eax, 0xf67f
add eax, dword [0x1404844ac]
cdqe
add rax, qword [0x1404844e0]
call qword [case.0x14014757d.0]
mov ebx, 0xf67f
mov eax, dword [0x1404844a0]
add eax, ebx
cdqe
add rax, qword [0x1404844d0]
lea rcx, [rbp + 0x48]
call qword [case.0x14014757d.0]
add ebx, dword [0x1404844a0]
movsxd rax, ebx
add rax, qword [0x1404844d0]
lea rcx, [rbp + 0xa8]
call qword [case.0x14014757d.0]
test edi, edi
je 0x140055854
mov byte [rsi + 0x878], 1
movaps xmm6, xmmword [rbp + 0x150]
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
xor eax, eax
xor r12d, r12d
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
mov r8d, r12d
not r8b
add r8b, byte [0x1404ee638]
xor r8b, r12b
and r8b, cl
xor r12b, r8b
inc rax
cmp eax, r14d
jl 0x140055880
jmp 0x14005542d
call fcn.140356a3c
int3