Function at 0x100102bcc
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r14, rdx
mov r13, rcx
mov rcx, qword [rcx + 0x10]
lea rsi, [rcx + 1]
mov rdx, rsi
mov qword [rsp + 0x20], rsi
mov eax, 0x4c8dbba9
mov r8d, dword [rsi + 8]
mov eax, 0xfffffff
mov r11d, dword [rsi + 0xc]
mov rdi, 0xfffffffffffff000
lea r9, [0x100000000]
and qword [rsp + 0xa0], 0
mov rcx, r9
and r11, rax
and r8, rax
mov rax, qword [0x1003f4900]
add r11, r9
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x100102ca3
xor r9d, r9d
test r8, r8
je 0x100102f4d
mov ecx, dword [rsp + 0xa4]
mov edx, dword [rsp + 0xa0]
mov ebp, 0x7d86fbd4
movzx eax, byte [r9 + r11]
add r9, 1
sub eax, ebp
add edx, eax
add eax, ecx
imul eax, eax, 0x8279042c
ror eax, 0xd
mov ecx, eax
imul ecx, ecx, 0xf04d
rol ecx, 0xc
ror eax, 0xc
xor ecx, eax
add edx, ecx
cmp r9, r8
jb 0x100102c61
mov dword [rsp + 0xa4], ecx
mov dword [rsp + 0xa0], edx
jmp 0x100102f4d
movsxd rdx, dword [0x10000003c]
lea rax, [r11 + r8]
mov qword [rsp + 0x38], rax
lea rax, [0x1000000b0]
add rdx, rax
mov eax, r11d
sub eax, r9d
mov r10d, eax
and r10, rdi
lea rsi, [rax + r8]
mov ebx, eax
mov r12d, dword [rdx + 4]
mov r8d, dword [rdx]
mov r15, rsi
and r15, rdi
add r8, r9
sub rbx, r10
sub rsi, r15
add r12, r8
mov qword [rsp + 0x30], rsi
jmp 0x100102cfe
mov eax, dword [r8]
cmp rax, r10
jae 0x100102d03
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r12
jne 0x100102cef
xor r9d, r9d
cmp r8, r12
mov edx, 0xfff
je 0x100102d3c
mov eax, dword [r8]
cmp rax, r10
jne 0x100102d3c
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x100102d3c
mov ax, word [r8 + r9*2 + 8]
and rax, rdx
cmp rax, rbx
jae 0x100102d3c
add r9, 1
cmp r9, rcx
jne 0x100102d25
lea r13, [0x100000000]
mov ebp, 0x7d86fbd4
mov r14, qword [rsp + 0x28]
mov edi, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0xa4]
cmp r8, r12
je 0x100102ee1
mov eax, dword [r8]
cmp rax, r15
ja 0x100102ee1
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r9, rax
jne 0x100102d9e
add r8, rcx
cmp r8, r12
je 0x100102ee1
mov eax, dword [r8]
cmp rax, r15
ja 0x100102ee1
xor r9d, r9d
jmp 0x100102d71
mov eax, dword [r8]
cmp rax, r15
jne 0x100102db8
mov ax, word [r8 + r9*2 + 8]
and rax, rdx
cmp rax, rsi
jae 0x100102ee1
mov rax, r9
add r9, 1
test word [r8 + rax*2 + 8], 0xf000
je 0x100102d5c
movzx ecx, word [r8 + rax*2 + 8]
xor ebx, ebx
mov esi, ecx
and esi, edx
add esi, dword [r8]
add rsi, r13
mov rdx, rsi
sub rdx, r11
je 0x100102e27
movzx eax, byte [rbx + r11]
add rbx, 1
sub eax, ebp
add edi, eax
add eax, r10d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r10d, eax
imul r10d, r10d, 0xf04d
rol r10d, 0xc
ror eax, 0xc
xor r10d, eax
add edi, r10d
cmp rbx, rdx
jb 0x100102de3
mov dword [rsp + 0xa4], r10d
mov dword [rsp + 0xa0], edi
shr ecx, 0xc
cmp ecx, 3
mov rax, qword [rsi]
mov qword [rsp + 0xa8], rax
je 0x100102e46
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x100102e4b
mov edx, 2
mov r11, r14
neg r11
sub edx, 2
je 0x100102e73
cmp edx, 1
je 0x100102e61
or rcx, 0xffffffffffffffff
jmp 0x100102e80
add rax, r11
mov ecx, 8
mov qword [rsp + 0xa8], rax
jmp 0x100102e80
mov ecx, 4
add dword [rsp + 0xa8], r11d
xor edx, edx
test rcx, rcx
je 0x100102ece
movzx eax, byte [rsp + rdx + 0xa8]
add rdx, 1
sub eax, ebp
add edi, eax
add eax, r10d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r10d, eax
imul r10d, r10d, 0xf04d
rol r10d, 0xc
ror eax, 0xc
xor r10d, eax
add edi, r10d
cmp rdx, rcx
jb 0x100102e87
mov dword [rsp + 0xa4], r10d
mov dword [rsp + 0xa0], edi
lea r11, [rcx + rsi]
mov rsi, qword [rsp + 0x30]
mov edx, 0xfff
jmp 0x100102d5c
xor ecx, ecx
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x38]
sub rsi, r11
je 0x100102f41
movzx eax, byte [rcx + r11]
add rcx, 1
sub eax, ebp
add edi, eax
add eax, r10d
imul eax, eax, 0x8279042c
ror eax, 0xd
mov r10d, eax
imul r10d, r10d, 0xf04d
rol r10d, 0xc
ror eax, 0xc
xor r10d, eax
add edi, r10d
cmp rcx, rsi
jb 0x100102efd
mov dword [rsp + 0xa4], r10d
mov dword [rsp + 0xa0], edi
mov rdi, 0xfffffffffffff000
mov rsi, qword [rsp + 0x20]
lea rbp, [0x100000000]
mov r12d, 0xfffffff
add qword [r13 + 0x10], 0x11
mov eax, dword [rsi + 4]
and rax, r12
mov rax, qword [rax + rbp]
cmp qword [rsp + 0xa0], rax
je 0x100103078
call fcn.1002d3e40
mov r11, rax
lea r9, [r13 + 0x18]
and r9, 0xfffffffffffffff8
and r11, rdi
lea r10, [r9 + 0xfff]
and r10, rdi
mov ebx, 0xffff
lea rdi, [0x1003e8888]
xor r8d, r8d
mov qword [r13 + 0x10], rdi
mov rcx, qword [0x100495210]
imul rcx, rcx, 0x343fd
shl r8, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r8, rdx
shr rbx, 0x10
jne 0x100102fae
movabs rax, 0x8000800080008001
mul r8
mov qword [0x100495210], rcx
mov qword [r14 + 0x98], r11
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
add r8, 1
mov qword [r14 + 0xb0], r8
mov qword [rsp + 0x90], 0
jmp 0x100103024
mov rax, qword [rsp + 0x90]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x100103015
movabs r8, 0x2f28cd3e0000
mov qword [r13 + 0x10], rdi
mov eax, dword [rsi]
mov rdx, qword [r14 + 0xb0]
shr rax, 1
mov qword [r14 + 0x80], rdx
and rax, r12
mov eax, dword [rax + rbp]
mov rcx, rdx
xor rcx, r8
shl rcx, 0x10
xor rcx, rax
mov eax, dword [0x100479c00]
xor rcx, rax
xor rcx, rdx
and qword [r14 + 0xb0], 0
mov qword [r14 + 0xa0], rcx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret