Function at 0x18000ebb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x180087020]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r15, r8
mov r12, rdx
mov r13, rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
call fcn.180045878
cmp eax, 0x51
jne 0x18000ec01
add dword [0x180087be8], eax
cmp dword [r12 + 0x40], 0
jne 0x18000f0e1
lea rax, [rbp - 0x48]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x58], rax
mov r8d, dword [r12]
lea r9, [rbp + 0x11a]
nop dword [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x18000ec30
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], di
lea rax, [rbp + 0x11a]
cmp r9, rax
je 0x18000ec9c
lea r8, [rbp + 0x11a]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp - 0x80]
call fcn.180002ce0
nop
movdqa xmm0, xmmword [0x180079d80]
mov dword [rbp + 0x38], 0xac40ff88
mov dword [rbp + 0x3c], 0xc278baad
mov dword [rbp + 0x40], 0xf01baac5
mov word [rbp + 0x44], 0x95f6
mov ecx, dword [0x180089430]
mov rax, qword gs:[0x58]
mov r14, qword [rax + rcx*8]
mov ecx, 0x8b0
mov eax, dword [rcx + r14]
test al, 1
jne 0x18000ed52
or eax, 1
mov dword [rcx + r14], eax
mov eax, 0x840
mov ebx, eax
lea rcx, [rax + r14]
mov byte [rcx + 0x1e], 1
lea rax, [rcx + 0x1d]
lea rdx, [rbp + 0x45]
cmp rcx, rdx
ja 0x18000ed28
lea rdx, [rbp + 0x28]
cmp rax, rdx
jb 0x18000ed28
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x38]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x40]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x44]
mov word [rcx + 0x1c], ax
jmp 0x18000ed43
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x38]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x40]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x44]
mov word [rcx + 0x1c], ax
lea rcx, [0x1800694b0]
call fcn.18003f1a4
nop
jmp 0x18000ed57
mov ebx, 0x840
lea r9, [rbx + r14]
cmp byte [r9 + 0x1e], 0
je 0x18000edbd
lea r8, [r9 + 1]
mov r10, r9
not r10
movabs r11, 0xf34995d9c52d9dfd
nop word [rax + rax]
lea ecx, [r10 + r8]
and cl, 7
shl cl, 3
mov rdx, r11
shr rdx, cl
xor byte [r8 - 1], dl
movzx ecx, r8b
sub cl, r9b
and cl, 7
shl cl, 3
mov rdx, r11
shr rdx, cl
xor byte [r8], dl
add r8, 2
lea rax, [r8 + r10]
cmp rax, 0x1e
jb 0x18000ed80
mov byte [r9 + 0x1e], 0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [r9 + r8], 0
jne 0x18000ede0
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0x70]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000ee4c
add dword [0x180087be8], eax
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
add r9, r8
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x70]
call fcn.1800152b0
nop
lea rcx, [rbp + 0x70]
call fcn.1800136b0
nop
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x28]
lea rcx, [rbp - 0x48]
call fcn.180009880
nop
mov ecx, 0x95c
mov eax, dword [rcx + r14]
test al, 1
jne 0x18000eec9
or eax, 1
mov dword [rcx + r14], eax
mov eax, 0x9a0
mov esi, eax
mov dword [rax + r14 + 2], 0x1d9917e
mov word [rax + r14], 0xd2ad
lea rcx, [0x1800694e0]
call fcn.18003f1a4
nop
jmp 0x18000eece
mov esi, 0x9a0
lea rdx, [rsi + r14]
cmp byte [rdx + 5], 0
je 0x18000eeef
xor byte [rdx], 0xfd
xor byte [rdx + 1], 0x9d
xor byte [rdx + 2], 0x2d
xor byte [rdx + 3], 0xc5
xor byte [rdx + 4], 0xd9
mov byte [rdx + 5], 0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
inc rbx
cmp byte [rdx + rbx], 0
jne 0x18000ef07
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.180002e80
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x28]
call fcn.180010ef0
mov rbx, rax
mov edx, dword [r13 + 4]
lea rcx, [rbp - 8]
call fcn.18000a2c0
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x18000ef49
mov rdx, qword [r15]
mov ecx, dword [r15 + 0x10]
add ecx, ecx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rdx
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.180001230
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x18000efb8
mov rdx, qword [rbp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000efa7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f603
call fcn.18003f0cc
mov qword [rbp + 0x48], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18000eff5
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000eff0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f609
call fcn.18003f0cc
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x18000f049
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f043
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f60f
call fcn.18003f0cc
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18000f086
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f081
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f615
call fcn.18003f0cc
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18000f573
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f56d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f5f7
jmp 0x18000f56d
call fcn.180045878
cmp eax, 0x9f
jne 0x18000f0f3
add dword [0x180087be8], eax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 8]
mov qword [rbp - 0x58], rax
mov r8d, dword [r12]
lea r9, [rbp + 0x11a]
nop
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x18000f110
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], di
lea rax, [rbp + 0x11a]
cmp r9, rax
je 0x18000f17c
lea r8, [rbp + 0x11a]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp - 0x80]
call fcn.180002ce0
nop
movdqa xmm0, xmmword [0x180079ed0]
mov dword [rbp + 0x58], 0xf62ae2d2
mov word [rbp + 0x5c], 0x67e8
mov ecx, dword [0x180089430]
mov rax, qword gs:[0x58]
mov r14, qword [rax + rcx*8]
mov ecx, 0x8f0
mov eax, dword [rcx + r14]
test al, 1
jne 0x18000f210
or eax, 1
mov dword [rcx + r14], eax
mov eax, 0x8d8
mov ebx, eax
lea rcx, [rax + r14]
mov byte [rcx + 0x16], 1
lea rax, [rcx + 0x15]
lea rdx, [rbp + 0x5d]
cmp rcx, rdx
ja 0x18000f1f0
lea rdx, [rbp + 0x48]
cmp rax, rdx
jb 0x18000f1f0
movups xmmword [rcx], xmm0
mov eax, dword [rbp + 0x58]
mov dword [rcx + 0x10], eax
movzx eax, word [rbp + 0x5c]
mov word [rcx + 0x14], ax
jmp 0x18000f201
movups xmmword [rcx], xmm0
mov eax, dword [rbp + 0x58]
mov dword [rcx + 0x10], eax
movzx eax, word [rbp + 0x5c]
mov word [rcx + 0x14], ax
lea rcx, [0x180069450]
call fcn.18003f1a4
nop
jmp 0x18000f215
mov ebx, 0x8d8
lea r9, [r14 + rbx]
cmp byte [r9 + 0x16], 0
je 0x18000f251
mov rdx, rdi
movabs r8, 0xbf7167c7934d83bf
nop dword [rax]
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0x16
jb 0x18000f230
mov byte [r9 + 0x16], 0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [r9 + r8], 0
jne 0x18000f273
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.180002e80
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0x70]
call fcn.1800137a0
nop
call fcn.180045878
cmp eax, 9
jne 0x18000f2df
add dword [0x180087be8], eax
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
add r9, r8
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x70]
call fcn.1800152b0
nop
lea rcx, [rbp + 0x70]
call fcn.1800136b0
nop
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x48]
lea rcx, [rbp - 0x48]
call fcn.180009880
nop
mov ecx, 0x7ec
mov eax, dword [rcx + r14]
test al, 1
jne 0x18000f35c
or eax, 1
mov dword [rcx + r14], eax
mov eax, 0x688
mov esi, eax
mov dword [rax + r14 + 2], 0x1c7c71e
mov word [rax + r14], 0xccef
lea rcx, [0x180069480]
call fcn.18003f1a4
nop
jmp 0x18000f361
mov esi, 0x688
lea rdx, [r14 + rsi]
cmp byte [rdx + 5], 0
je 0x18000f382
xor byte [rdx], 0xbf
xor byte [rdx + 1], 0x83
xor byte [rdx + 2], 0x4d
xor byte [rdx + 3], 0x93
xor byte [rdx + 4], 0xc7
mov byte [rdx + 5], 0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
nop word [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x18000f3a0
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.180002e80
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 8]
call fcn.180010ef0
mov rbx, rax
mov edx, dword [r13 + 4]
lea rcx, [rbp - 0x28]
call fcn.18000a2c0
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x18000f3e2
mov rdx, qword [r15]
mov ecx, dword [r15 + 0x10]
add ecx, ecx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rdx
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180001230
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18000f451
mov rdx, qword [rbp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f440
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f61b
call fcn.18003f0cc
mov qword [rbp + 0x28], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18000f48e
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f489
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f621
call fcn.18003f0cc
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x18000f4e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f4dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f627
call fcn.18003f0cc
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18000f51f
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f51a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f62d
call fcn.18003f0cc
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18000f573
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f56d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000f5f1
call fcn.18003f0cc
nop
mov rcx, r12
call fcn.18000ce20
nop
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x18000f5b7
lea rdx, [rdx*2 + 2]
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x18000f5b2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000f5fd
mov rcx, r8
call fcn.18003f0cc
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], 7
mov word [r15], di
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.18003f070
mov rbx, qword [rsp + 0x288]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
nop
call fcn.180045aec
int3