Function at 0x14000d830
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x60], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov eax, dword [0x1400c7c80]
cmp dword [0x1400c7c84], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov byte [rbp + 0x67], al
xor eax, eax
lea rcx, [0x140052d90]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x20], 0x1e27
add rax, 4
cmp rax, 0x5c
jne 0x14000d894
mov eax, 0x4819
xor ecx, ecx
mov qword [rbp - 0x58], rcx
lea rsi, [0x140052f44]
lea r11, [0x140052e40]
lea r13, [0x140052e90]
lea r8, [0x140052f28]
lea r14, [0x140052f20]
lea r12, [0x140052f30]
lea r15, [0x140052d30]
lea r10, [0x140052f38]
lea r9, [0x140052df0]
lea rbx, [0x140052ee0]
xor ecx, ecx
mov qword [rbp - 0x40], rcx
xor ecx, ecx
mov qword [rbp - 0x38], rcx
xor ecx, ecx
mov qword [rbp - 0x30], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
xor ecx, ecx
mov qword [rbp - 0x80], rcx
xor ecx, ecx
mov qword [rbp - 0x78], rcx
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
cmp eax, 0x4818
jg 0x14000d977
cmp eax, 0x25fc
jg 0x14000d9d8
cmp eax, 0x8bf
jg 0x14000da52
cmp eax, 0x24e
je 0x14000dd53
cmp eax, 0x348
je 0x14000dc93
cmp eax, 0x363
je 0x14000e184
jmp 0x14000d937
cmp eax, 0x6e3e
jle 0x14000da13
cmp eax, 0x7986
jg 0x14000dae1
cmp eax, 0x6e3f
je 0x14000dde1
cmp eax, 0x70d1
je 0x14000ddf9
cmp eax, 0x735d
jne 0x14000d937
mov eax, dword [0x1400c7560]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xe46
mov ecx, 0x7f01
cmove eax, ecx
cmp dword [0x1400c7564], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x20]
jmp 0x14000d937
cmp eax, 0x3148
jle 0x14000dba7
cmp eax, 0x3149
je 0x14000deb2
cmp eax, 0x420b
je 0x14000dc3a
cmp eax, 0x45df
jne 0x14000d937
mov eax, dword [rbp + 0x2c]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x14000d937
cmp eax, 0x5067
jle 0x14000dbd9
cmp eax, 0x5068
je 0x14000df07
cmp eax, 0x52f5
je 0x14000df90
cmp eax, 0x5c3b
lea r9, [0x140052df0]
lea rbx, [0x140052ee0]
je 0x14000db4a
jmp 0x14000d937
cmp eax, 0x8c0
je 0x14000e031
cmp eax, 0x98e
je 0x14000dcec
cmp eax, 0x1ade
jne 0x14000d937
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x58]
mov dword [rax], 0x6a6ccc06
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov dword [rax], 0xf5c53fdf
mov eax, dword [rbp + 0x24]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x14000d937
cmp eax, 0x7987
je 0x14000e08b
cmp eax, 0x7b6d
je 0x14000e09a
cmp eax, 0x7e16
jne 0x14000d937
mov eax, dword [rbp + 0x44]
cmp byte [rbp - 0x48], 0
jne 0x14000db23
xor edi, edi
movsxd rcx, dword [rdi + rbx]
xor dword [rbp + rcx*4 - 0x20], 0x2e15
add rdi, 4
cmp rdi, 0x40
jne 0x14000db0d
mov cl, 1
mov qword [rbp - 0x48], rcx
cmp eax, 0x81db637a
je 0x14000dc3a
cmp eax, 0xf5c53fdf
je 0x14000dc93
cmp eax, 0x19c7aab7
jne 0x14000dcec
mov eax, dword [0x1400c7554]
cmp dword [0x1400c7550], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x14000db8a
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rbp + rdx*4 - 0x20], 0x476
add rcx, 4
cmp rcx, 0xc
jne 0x14000db74
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x14000d937
cmp eax, 0x25fd
je 0x14000e0c6
cmp eax, 0x2fb4
jne 0x14000e177
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x40], eax
mov rax, qword [rbp + 0x58]
mov eax, dword [rbp + 0x38]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x14000d937
cmp eax, 0x4819
je 0x14000e13a
cmp eax, 0x489b
jne 0x14000d937
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
cmp byte [rax], 0
mov eax, 0x81db637a
mov ecx, 0x19c7aab7
cmove eax, ecx
mov rcx, qword [rbp + 0x48]
mov dword [rcx], eax
mov eax, dword [0x1400c7ca0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a4f
mov ecx, 0x6241
cmove eax, ecx
cmp dword [0x1400c7ca4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 4]
jmp 0x14000d937
cmp dword [0x1400c7cac], 0xa
mov eax, dword [0x1400c7ca8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x14000dc76
xor edi, edi
movsxd rcx, dword [rdi + r12]
xor dword [rbp + rcx*4 - 0x20], 0x16dd
add rdi, 4
cmp rdi, 8
jne 0x14000dc60
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x14000d937
cmp dword [0x1400c7d98], 0xa
mov eax, dword [0x1400c7d9c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x78], 0
jne 0x14000dccf
xor edi, edi
movsxd rcx, dword [rdi + r8]
xor dword [rbp + rcx*4 - 0x20], 0x28d2
add rdi, 4
cmp rdi, 8
jne 0x14000dcb9
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x14000d937
mov eax, dword [0x1400c7c90]
cmp dword [0x1400c7c94], 0xa
setl cl
lea edx, [rax + rax]
add edx, 0xf2690827
add edx, eax
add edx, 0xf2690826
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x80], 0
jne 0x14000dd36
xor edi, edi
movsxd rcx, dword [rdi + r14]
xor dword [rbp + rcx*4 - 0x20], 0x20ad
add rdi, 4
cmp rdi, 8
jne 0x14000dd20
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x80], rcx
jmp 0x14000d937
mov eax, dword [0x1400c7c98]
mov ecx, dword [0x1400c7c9c]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl bl
lea edi, [rax + 1]
imul edi, eax
and edi, 1
sete al
mov r15, r12
mov r12, r14
mov r14, r8
mov r9, r13
mov r13, r11
mov r10d, edi
or r10b, bl
xor bl, al
and dl, al
xor dl, bl
xor r10b, dl
lea r10, [0x140052f38]
mov r13, r9
lea r9, [0x140052df0]
mov r14, r12
mov r12, r15
lea r15, [0x140052d30]
mov edx, 0x6a3e
mov eax, 0x2c82
cmovne edx, eax
test edi, edi
mov eax, edx
mov ebx, 0x6a3e
cmove eax, ebx
lea rbx, [0x140052ee0]
cmp ecx, 0xa
cmovge eax, edx
xor eax, dword [rbp - 4]
jmp 0x14000d937
mov rax, qword [rbp + 0x48]
mov eax, dword [rax]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x28]
mov ecx, 0x608f
xor eax, ecx
jmp 0x14000d937
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x58]
mov dword [rax], 0x6a6ccc06
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov dword [rax], 0xf5c53fdf
cmp dword [0x1400c7c8c], 0xa
mov eax, dword [0x1400c7c88]
setl cl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x14000de95
xor edi, edi
movsxd rcx, dword [rdi + r9]
xor dword [rbp + rcx*4 - 0x20], 0x52f6
add rdi, 4
cmp rdi, 0x50
jne 0x14000de7f
test al, al
mov eax, 0x4df
mov ecx, 0x16c1
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x14000d937
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x40], eax
mov rax, qword [rbp + 0x58]
cmp dword [0x1400c755c], 0xa
mov eax, dword [0x1400c7558]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x14000deea
xor dword [rbp + 0x18], 0x119
test al, al
mov eax, 0x6232
mov ecx, 0x7d2e
cmovne eax, ecx
xor eax, dword [rbp + 0x14]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x14000d937
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
lea rcx, [rax + 1]
mov rdx, qword [rbp + 0x50]
mov qword [rdx], rcx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x58]
mov ecx, dword [rcx]
mov edx, ecx
not edx
mov r10d, 0xa20cb3ca
and edx, r10d
mov ebx, ecx
mov r9d, 0x5df34c35
xor ebx, r9d
mov edi, ecx
or edi, r9d
and ecx, 0xddf34c35
lea ecx, [rbx + rcx*2]
sub ecx, edi
or ecx, edx
mov edx, eax
and edx, 0x35
xor eax, r10d
lea r10, [0x140052f38]
sub eax, edx
or eax, edx
xor eax, ecx
mov rcx, qword [rbp + 0x58]
mov dword [rcx], eax
mov rax, qword [rbp + 0x58]
imul eax, dword [rax], 0x25ede3fb
mov rcx, qword [rbp + 0x58]
mov dword [rcx], eax
mov rax, qword [rbp + 0x48]
mov dword [rax], 0xf5c53fdf
mov eax, dword [rbp + 0x34]
mov ecx, 0xdd8
xor eax, ecx
jmp 0x14000e01e
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
lea rcx, [rax + 1]
mov rdx, qword [rbp + 0x50]
mov qword [rdx], rcx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x58]
mov ecx, dword [rcx]
mov edx, ecx
xor edx, 0x93
mov ebx, eax
xor ebx, 0xee1e7c93
mov edi, ecx
xor edi, eax
mov r9d, 0x11e1836c
xor eax, r9d
and eax, edx
add eax, edi
xor ecx, r9d
or ecx, ebx
add eax, ecx
inc eax
mov rcx, qword [rbp + 0x58]
mov dword [rcx], eax
mov rax, qword [rbp + 0x58]
imul eax, dword [rax], 0x25ede3fb
mov rcx, qword [rbp + 0x58]
mov dword [rcx], eax
mov rax, qword [rbp + 0x48]
mov dword [rax], 0xf5c53fdf
mov eax, dword [0x1400c7dc0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x1400c7dc4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0xc]
lea r9, [0x140052df0]
lea rbx, [0x140052ee0]
jmp 0x14000d937
cmp dword [0x1400c7dc8], 0xa
mov eax, dword [0x1400c7dcc]
setl cl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x14000e06e
xor edi, edi
movsxd rcx, dword [rdi + r11]
xor dword [rbp + rcx*4 - 0x20], 0x985
add rdi, 4
cmp rdi, 0x4c
jne 0x14000e058
test al, al
mov eax, 0x22c8
mov ecx, 0x690a
cmovne eax, ecx
xor eax, dword [rbp - 0x14]
mov cl, 1
mov qword [rbp - 0x38], rcx
jmp 0x14000d937
mov eax, dword [rbp + 0x3c]
mov ecx, 0x49c
xor eax, ecx
jmp 0x14000d937
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
cmp byte [rax], 0
mov eax, 0x81db637a
mov ecx, 0x19c7aab7
cmove eax, ecx
mov rcx, qword [rbp + 0x48]
mov dword [rcx], eax
mov eax, dword [rbp + 0x30]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x14000d937
mov rax, qword [rbp + 0x48]
mov eax, dword [rax]
mov dword [rbp + 0x44], eax
mov ecx, dword [0x1400c7dd0]
mov edi, dword [0x1400c7dd4]
cmp edi, 0xa
setl al
cmp edi, 9
setg dl
lea edi, [rcx + 1]
imul edi, ecx
test dil, 1
sete cl
or dl, cl
xor dl, al
xor dl, 1
xor al, cl
or al, dl
cmp byte [rbp - 0x30], 0
jne 0x14000e11d
xor edi, edi
movsxd rcx, dword [rdi + r13]
xor dword [rbp + rcx*4 - 0x20], 0x2297
add rdi, 4
cmp rdi, 0x44
jne 0x14000e107
test al, al
mov eax, 0x2b4d
mov ecx, 0x3b64
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x30], rcx
jmp 0x14000d937
mov al, byte [rbp + 0x67]
cmp byte [rbp - 0x58], 0
jne 0x14000e158
xor eax, eax
movsxd rdi, dword [rax + r15]
xor byte [rbp + rdi*4 - 0x20], 0x26
add rax, 4
cmp rax, 0x58
jne 0x14000e145
cmp byte [rbp + 0x67], 0
mov eax, 0x4f9
mov ecx, 0x6ef6
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x14000d937
cmp eax, 0x30a8
jne 0x14000d937
jmp 0x14000e1da
cmp dword [0x1400c7dd8], 0xa
mov eax, dword [0x1400c7ddc]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x28], 0
jne 0x14000e1c1
xor edi, edi
movsxd rcx, dword [rdi + rsi]
xor dword [rbp + rcx*4 - 0x20], 0x3e31
add rdi, 4
cmp rdi, 8
jne 0x14000e1ab
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
mov cl, 1
jmp 0x14000d933
mov eax, dword [rbp + 0x40]
lea rsp, [rbp + 0x68]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret