Function at 0x14004a500
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov r13, rcx
xor eax, eax
mov dword [rbp - 0x59], eax
movabs rsi, 0xd41c2393154269b4
movabs r14, 0xde0b8fdd17b1cff5
mov rdi, qword [0x140301070]
shl rdi, 0x3e
movabs rax, 0xf000000000000000
xor rdi, rax
mov rcx, rdi
imul rcx, r14
mov qword [rbp + 0x6f], rcx
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x140301060]
mov r8, rdi
and r8, r14
imul r8, qword [r12 + rcx*8]
movabs rax, 0xe51304a4897da8c0
imul r8, rax
shr r8, 3
movabs rax, 0x8da486fd622676cf
xor r8, rax
movabs rax, 0xffffff57c9da2f23
mov r11, rdi
imul r11, rax
sub r11, 0x11d4b10
xor r11, qword [0x140301060]
xor r11, r8
mov rax, r8
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bc0699002
imul rax, rcx
not rax
and r11, rax
ror r11, 6
shr r11, 8
movabs r9, 0x21f47022e84e300b
lea rcx, [rdi + r9]
xor rcx, 0xfffffffffee79b0f
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xfede9ddb9688d6a0
mov rbx, qword [r12 + rcx*8]
imul rbx, rax
sub rbx, r9
movabs rcx, 0x95a5c30935eed510
mov rax, r8
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r15, rbx
xor r15, rdi
lea rcx, [rbx + r9]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r12 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x13
and ecx, 0x8000003f
jge 0x14004a68f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul r12, r15, 0xfffffffffee2b4f0
lea r10, [r12 + r9]
mov r9, rbx
imul r9, r11
sub r9, r10
xor r9, rsi
mov cl, r10b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
movabs rax, 0x92fddb48e93539b0
imul r15, rax
movabs rax, 0x5c9431e13fb82079
sub r15, rax
xor r9, r15
mov rax, r10
sub rax, qword [0x140301078]
xor r9, rax
xor r9, r8
xor r9, rdi
mov rax, r9
movabs rcx, 0xd79435e50d79435f
and eax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x14004aa2d
sub rax, 1
je 0x14004a90b
sub rax, 1
je 0x14004a819
cmp rax, 1
jne 0x14004aad7
mov rsi, r10
imul rsi, rbx
movabs rax, 0xc6b617be01a4ac81
add rax, r9
xor rsi, rax
ror rsi, 0x3c
shr rsi, 0xc
xor rsi, rdi
not rsi
movabs rcx, 0x835722989e08
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0x2176f55a81cd8e89
xor rdx, rax
movzx eax, r9b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97a7872fb
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov eax, 0xaba3a011
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x140301060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs r14, 0x3e320b224e40df8a
sub r14, rsi
shr r14, cl
movabs rcx, 0x21fc94ab417600e9
add rcx, r12
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea rdx, [0x140301060]
imul rax, qword [rdx + rcx*8]
imul rax, r9
sub rax, r11
xor r14, rax
jmp 0x14004aad7
movabs rax, 0xaaaaaa1aabba5d2f
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed69b78163
imul rcx, rax
movabs rdx, 0xfff17ca87cd86b53
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8daa6ff3
imul r12, rax
movabs rbx, 0x6e86b6b6ed04cf64
add rbx, rcx
add rbx, r12
movabs rax, 0x277cd7be796a8a4f
mov rcx, rbx
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rbx
not r10
lea rax, [0x140301060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffffeef8bff
lea ecx, [r9 - 0x13]
and cl, 0x3f
rol r10, cl
movabs rcx, 0x1c5230c000000000
mov rax, qword [rbp + 0x6f]
xor rax, rcx
movabs rcx, 0x7c7a7dc697e8814e
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 6
not rcx
movabs rax, 0x9b2de6b2da1821a0
imul rcx, rax
mov rax, rbx
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, r11b
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x14004aad7
movabs rax, 0x43bcce28a2322955
imul r9, rax
mov rax, rcx
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x21f47022e84e300a
mov rax, rdi
imul rax, rdx
xor rax, rsi
not rax
shl rax, cl
xor r8, rax
mov cl, r10b
and cl, 0x3f
rol r8, cl
movabs rcx, 0x21f47022e84e300b
add rcx, r9
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfdd17b1cff5
lea rax, [0x140301060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f77e2b02
or r8, rax
mov r14, qword [0x140301070]
imul r14, rsi
sub r14, r10
mov rax, r11
sub rax, r8
xor r14, rax
movabs rax, 0xc7a7c6a6a6762b0f
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, r14
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, rdi
movabs rdi, 0x789589469246715
add rdi, rax
xor rdi, r11
movzx eax, bl
imul ecx, eax, 0xea
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14004aad7
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x140301080]
lea rdx, [0x140301060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
not r11
imul r11, rbx
movabs rax, 0x7cd8a7de7b877aee
imul r11, rax
mov rax, r8
imul rax, rdi
mov rdi, r11
xor rdi, rax
imul r11, qword [0x140301060], 0xfffffffffee2b4f0
mov rdx, qword [0x140301068]
sub r11, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004aac4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r11, cl
movabs rax, 0x21f47022e84e300b
add r11, rax
add r11, r12
movabs rax, 0xff055d7b8bcc7023
xor rsi, rax
mov rax, r15
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r8, rdi
lea rax, [0x140301060]
imul r8, qword [rax + rsi*8]
not r10
imul r10, r9
imul r10, r11
imul r10, r14
movabs rcx, 0xf5ed7e878c7f3aff
xor rcx, rbx
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14002dfd0
mov qword [0x14030af70], rax
lea rcx, [rbp - 0x41]
call fcn.140082a1c
nop
movabs rdi, 0x64363218f2e61fca
movabs rsi, 0xdc1b429fab88f3a1
xor eax, eax
mov ebx, eax
movabs rax, 0x616b2e9be9236302
movabs r10, 0xe486d1b6033298db
mov r14, qword [0x140301070]
imul r14, rax
not r14
movabs rcx, 0x1b792e49e3ebb48b
mov r12, qword [0x140301060]
mov rax, r12
xor rax, rcx
and r14, rax
ror r14, 0x36
shr r14, 8
movabs rax, 0x20f5a9002325a020
mov r11, r12
imul r11, rax
movabs r8, 0x23e4bd6054770c5f
sub r11, r8
movabs rax, 0x44442c0380000000
xor r11, rax
shr r11, 0x1f
not r11
lea rcx, [r11 + r8]
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
lea rdx, [0x140301060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb7
and ecx, 0x8000003f
jge 0x14004ac12
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r11
ror rax, cl
not rax
movabs rcx, 0x990f3435e3b86870
mov r15, rax
imul r15, rcx
add r8, r15
mov r9, r11
imul r9, r14
sub r9, r8
xor r9, rdi
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rcx, 0xab21e2568d9bfe70
imul rax, rcx
movabs rcx, 0x40a3e4bad8eb0b41
sub rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x140301078]
xor r9, rax
xor r9, r10
mov rax, r9
and eax, 1
je 0x14004af57
sub rax, 1
je 0x14004ae66
sub rax, 1
je 0x14004ad94
cmp rax, 1
jne 0x14004afcd
mov rdi, r8
imul rdi, r11
movabs rax, 0x6044aac3ab9fc819
add rax, r9
xor rdi, rax
ror rdi, 0xc
shr rdi, 0xc
not rdi
movabs rcx, 0x835722b051a4
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0x236638183ddc7d79
xor rdx, rax
movzx eax, dil
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97a50bd5f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xab8b6fb5
add rcx, rax
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x140301060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rsi, 0xc0616ae8c4e89516
sub rsi, rdi
shr rsi, cl
movabs rcx, 0x23ece1e8ad862bd9
add rcx, r15
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea rdx, [0x140301060]
imul rax, qword [rdx + rcx*8]
imul rax, r9
sub rax, r14
xor rsi, rax
jmp 0x14004afcd
movabs rcx, 0xaaaaaa1aab92928b
mov r11, r9
xor r11, rcx
movabs rcx, 0x1206ed699f4ec7
imul r11, rcx
movabs rcx, 0xffff7e8a8d82a057
imul r15, rcx
movabs rcx, 0x5af5456dc52ef874
add r11, rcx
add r11, r15
movabs rax, 0x277cd7be794245eb
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
lea rax, [0x140301060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffffec7445b
lea ecx, [r9 + 9]
and cl, 0x3f
rol r8, cl
movabs rax, 0x60223c0680000000
imul r8, rax
mov rcx, r8
ror rcx, 0x1c
not rcx
movabs rax, 0x9b2de6b2dabb1f30
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14004afcd
movabs rax, 0xe066017d8417178f
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x9bc9cde70d19e035
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov cl, r8b
and cl, 0x3f
rol r10, cl
movabs rcx, 0x23e4bd6054770c5f
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x29fab88f3a1
lea rax, [0x140301060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f756e4a6
or r10, rax
mov rsi, qword [0x140301070]
imul rsi, rdi
sub rsi, r8
mov rax, r14
sub rax, r10
xor rsi, rax
movabs rax, 0xc7a7c6a6a65ee4ab
xor rsi, rax
mov rax, r9
imul rax, r8
imul rax, rsi
mov rbx, r11
sub rbx, rax
movabs rax, 0x7895894690ca8b1
add rbx, rax
xor rbx, r14
movzx eax, r11b
imul ecx, eax, 0xe
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14004afcd
mov rcx, r9
imul rcx, qword [0x140301080]
mov rdx, qword [0x140301068]
and rcx, rdx
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x1b
imul r10, r8
mov rbx, r14
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de7bafb54a
imul rbx, rax
imul r14, r12, 0xffffffffe0d92c50
sub r14, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004afba
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x23e4bd6054770c5f
add r14, rax
add r14, r15
movabs rcx, 0xff055d7b8be4bf87
xor rdi, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r10, rbx
lea rax, [0x140301060]
imul r10, qword [rax + rdi*8]
not r8
imul r8, r9
imul r8, r14
imul r8, rsi
movabs rcx, 0xf5ed7e878c57f55b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r10
call fcn.14002d448
mov qword [0x14030af38], rax
xor ebx, ebx
cmp qword [rbp - 0x31], rbx
jne 0x14004b11c
mov eax, 0x7804
sub ax, word [0x140301058]
sub ax, word [0x140301050]
mov ecx, 0xa214
xor ax, cx
sub ax, word [0x140301048]
mov rdx, qword [0x140301040]
add ax, dx
mov ecx, 0x3de
sub ax, cx
mov ecx, 0x1d0f
xor ax, cx
mov ecx, 0x52d
add ax, cx
mov ecx, 0x6020
xor ax, cx
mov ecx, 0x3500
xor cx, word [0x140301030]
sub cx, ax
mov eax, 0xcaff
xor ax, word [0x140301038]
sub cx, ax
sub cx, dx
mov eax, 0x5214
sub cx, ax
mov eax, 0xcb00
xor cx, ax
mov word [rbp + 0x6f], cx
lea rax, [rbp + 0x6f]
mov qword [rbp - 0x51], rax
lea r12d, [rbx + 2]
mov qword [rbp - 0x49], r12
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], rbx
lea rax, [rbp + 0x6f]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x14004b0ea
lea rdx, [rbp + 0x6f]
mov rcx, r13
call fcn.14002cdd4
mov dword [rbp - 0x59], 1
mov word [rbp + 0x6f], bx
lea rcx, [rbp - 0x41]
call fcn.14006ed5c
mov rax, r13
jmp 0x14004b36d
lea rcx, [rbp - 1]
call fcn.140049368
mov qword [rbp + 0x77], rax
mov dword [rbp + 0x6f], 0x277c86ef
mov r13, rbx
mov r12d, 2
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adbcd969a
div rcx
lea r14d, [rdx + 0x35]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rbp + r13*2 + 0x6f]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x140301058]
sub r10w, word [0x140301050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, word [0x140301048]
sub r10w, 0x50
add r10w, r11w
mov rcx, qword [0x140301040]
add r10w, si
add r10w, cx
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, bx
xor ax, word [0x140301038]
sub dx, ax
movzx eax, r15w
xor ax, word [0x140301030]
add dx, ax
sub dx, di
sub dx, si
sub dx, r14w
sub dx, cx
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rbp + r13*2 + 0x6f], dx
inc r13
cmp r13, r12
jb 0x14004b139
lea rax, [rbp + 0x6f]
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], 4
lea r8, [rbp + 0x6f]
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.140025dd8
nop
mov r9, qword [rbp + 0x77]
mov r8, rax
mov dl, byte [rbp + 0x6f]
mov rcx, qword [rbp + 0x67]
call fcn.14002edd8
mov dword [rbp - 0x59], r12d
and r12d, 0xfffffffd
mov dword [rbp - 0x59], r12d
or r12d, 1
mov dword [rbp - 0x59], r12d
lea rcx, [rbp - 0x21]
call fcn.14006ed5c
nop
xor eax, eax
mov dword [rbp + 0x6f], eax
lea rcx, [rbp - 1]
call fcn.14006ed5c
nop
lea rcx, [rbp - 0x41]
call fcn.14006ed5c
mov rax, qword [rbp + 0x67]
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret