Function at 0x14000a77e
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
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 [0x1400c7b18]
cmp dword [0x1400c7b1c], 9
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x87], dl
mov al, byte [rbp + 0x87]
xor eax, eax
lea rcx, [0x140050bd0]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x20], 0x1e27
add rax, 4
cmp rax, 0x5c
jne 0x14000a7e1
mov eax, 0x4819
xor ecx, ecx
mov qword [rbp - 0x58], rcx
lea r15, [0x140050d84]
lea r12, [0x140050c80]
lea rbx, [0x140050cd0]
lea rdi, [0x140050d68]
lea r8, [0x140050d60]
lea r13, [0x140050d70]
lea rsi, [0x140050b70]
lea r14, [0x140050d78]
lea r9, [0x140050d20]
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 - 0x78], rcx
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
cmp eax, 0x4818
jg 0x14000a8bd
cmp eax, 0x25fc
jg 0x14000a923
cmp eax, 0x8bf
jg 0x14000a9b2
cmp eax, 0x24e
je 0x14000ae15
cmp eax, 0x348
je 0x14000ab6f
cmp eax, 0x363
je 0x14000b284
jmp 0x14000a87d
cmp eax, 0x6e3e
jle 0x14000a95e
cmp eax, 0x7986
jg 0x14000ab06
cmp eax, 0x6e3f
je 0x14000ae43
cmp eax, 0x70d1
je 0x14000ae5b
cmp eax, 0x735d
jne 0x14000a87d
mov eax, dword [0x1400c7b20]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7f01
mov ecx, 0xe46
cmovne eax, ecx
cmp dword [0x1400c7b24], 9
mov ecx, 0x7f01
cmovle eax, ecx
xor eax, dword [rbp + 0x20]
jmp 0x14000a87d
cmp eax, 0x3148
jle 0x14000abcc
cmp eax, 0x3149
je 0x14000afbc
cmp eax, 0x420b
je 0x14000ad09
cmp eax, 0x45df
jne 0x14000a87d
mov eax, dword [rbp + 0x2c]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x14000a87d
cmp eax, 0x5067
jle 0x14000ac65
cmp eax, 0x5068
je 0x14000b055
cmp eax, 0x52f5
je 0x14000b098
cmp eax, 0x5c3b
lea rbx, [0x140050cd0]
lea rsi, [0x140050b70]
lea rdi, [0x140050d68]
lea r8, [0x140050d60]
lea r9, [0x140050d20]
je 0x14000ad63
jmp 0x14000a87d
cmp eax, 0x8c0
je 0x14000b120
cmp eax, 0x98e
je 0x14000adbc
cmp eax, 0x1ade
jne 0x14000a87d
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.140020f9c
add rsp, 0x20
mov rcx, qword [rbp + 0x68]
mov qword [rcx], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x59b8ecc
call fcn.1400271d0
add rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x78]
lea rcx, section..data
mov qword [rax], rcx
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
sub rsp, 0x20
call fcn.1400012f2
lea r9, [0x140050d20]
lea r8, [0x140050d60]
lea rdi, [0x140050d68]
lea rsi, [0x140050b70]
lea rbx, [0x140050cd0]
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x58]
mov dword [rax], 0
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x7e5f8b9f
mov eax, dword [rbp + 0x24]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x14000a87d
cmp eax, 0x7987
je 0x14000b179
cmp eax, 0x7b6d
je 0x14000b188
cmp eax, 0x7e16
jne 0x14000a87d
mov eax, dword [rbp + 0x4c]
cmp byte [rbp - 0x48], 0
jne 0x14000ab48
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x20], 0x2e15
add rcx, 4
cmp rcx, 0x40
jne 0x14000ab32
mov cl, 1
mov qword [rbp - 0x48], rcx
cmp eax, 0xf39f350e
je 0x14000ad09
cmp eax, 0x4c079081
je 0x14000ad63
cmp eax, 0x7e5f8b9f
jne 0x14000adbc
mov ecx, dword [0x1400c7b28]
cmp dword [0x1400c7b2c], 9
setg dl
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
sete cl
or al, dl
xor al, dl
xor al, cl
cmp byte [rbp - 0x70], 0
jne 0x14000abaf
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rbp + rdx*4 - 0x20], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x14000ab99
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x14000a87d
cmp eax, 0x25fd
je 0x14000b1d7
cmp eax, 0x2fb4
jne 0x14000b277
mov rax, qword [rbp + 0x78]
mov r8, qword [rax]
add r8, 8
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14004193c
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400014b4
lea r9, [0x140050d20]
lea r8, [0x140050d60]
lea rdi, [0x140050d68]
lea rsi, [0x140050b70]
lea rbx, [0x140050cd0]
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov eax, dword [rbp + 0x38]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x14000a87d
cmp eax, 0x4819
je 0x14000b239
cmp eax, 0x489b
jne 0x14000a87d
mov rax, qword [rbp + 0x60]
sub rsp, 0x20
mov ecx, 0x400
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xf39f350e
mov eax, dword [0x1400c7b30]
mov esi, dword [0x1400c7b34]
cmp esi, 0xa
setl dl
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
mov ecx, ebx
and cl, dl
xor cl, dl
xor cl, al
or dl, al
xor dl, cl
xor dl, al
mov ecx, 0x1a4f
mov edx, 0x6241
cmovne ecx, edx
test ebx, ebx
mov eax, ecx
cmove eax, edx
cmp esi, 0xa
lea r9, [0x140050d20]
lea r8, [0x140050d60]
lea rdi, [0x140050d68]
lea rsi, [0x140050b70]
lea rbx, [0x140050cd0]
cmovge eax, ecx
xor eax, dword [rbp + 4]
jmp 0x14000a87d
cmp dword [0x1400c7b38], 0xa
mov eax, dword [0x1400c7b3c]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x14000ad46
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rbp + rdx*4 - 0x20], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x14000ad30
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x14000a87d
cmp dword [0x1400c7b40], 0xa
mov eax, dword [0x1400c7b44]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x14000ad9f
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rbp + rdx*4 - 0x20], 0x476
add rcx, 4
cmp rcx, 0xc
jne 0x14000ad89
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x14000a87d
cmp dword [0x1400c7b48], 0xa
mov eax, dword [0x1400c7b4c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x78], 0
jne 0x14000adf8
xor ecx, ecx
movsxd rdx, dword [rcx + r8]
xor dword [rbp + rdx*4 - 0x20], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x14000ade2
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x14000a87d
mov eax, dword [0x1400c7b50]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2c82
mov ecx, 0x6a3e
cmove eax, ecx
cmp dword [0x1400c7b54], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 4]
jmp 0x14000a87d
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0x28]
mov ecx, 0x608f
xor eax, ecx
jmp 0x14000a87d
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x68]
sub rsp, 0x20
call fcn.140020f9c
add rsp, 0x20
mov rcx, qword [rbp + 0x68]
mov qword [rcx], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x59b8ecc
call fcn.1400271d0
add rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x78]
lea rcx, section..data
mov qword [rax], rcx
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
sub rsp, 0x20
call fcn.1400012f2
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x58]
mov dword [rax], 0
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x7e5f8b9f
cmp dword [0x1400c7b58], 0xa
mov eax, dword [0x1400c7b5c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
lea rbx, [0x140050c30]
jne 0x14000af9f
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x20], 0x52f6
add rcx, 4
cmp rcx, 0x50
jne 0x14000af89
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 0x14000b0f8
mov rax, qword [rbp + 0x78]
mov r8, qword [rax]
add r8, 8
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14004193c
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400014b4
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
cmp dword [0x1400c7b60], 0xa
mov eax, dword [0x1400c7b64]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x14000b038
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 0x14000b0f8
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
mov r8, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.1400095e8
add rsp, 0x20
test eax, eax
mov eax, 0x4c079081
mov ecx, 0x7e5f8b9f
cmove eax, ecx
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov eax, dword [rbp + 0x34]
mov ecx, 0xdd8
xor eax, ecx
jmp 0x14000b0f8
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
mov r8, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.1400095e8
add rsp, 0x20
test eax, eax
mov eax, 0x4c079081
mov ecx, 0x7e5f8b9f
cmove eax, ecx
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov eax, dword [0x1400c7b68]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x1400c7b6c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0xc]
lea rbx, [0x140050cd0]
lea rsi, [0x140050b70]
lea rdi, [0x140050d68]
lea r8, [0x140050d60]
lea r9, [0x140050d20]
jmp 0x14000a87d
cmp dword [0x1400c7b70], 0xa
mov eax, dword [0x1400c7b74]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x14000b15c
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rbp + rdx*4 - 0x20], 0x985
add rcx, 4
cmp rcx, 0x4c
jne 0x14000b146
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 0x14000a87d
mov eax, dword [rbp + 0x3c]
mov ecx, 0x49c
xor eax, ecx
jmp 0x14000a87d
mov rax, qword [rbp + 0x60]
sub rsp, 0x20
mov ecx, 0x400
call qword [rax]
lea r9, [0x140050d20]
lea r8, [0x140050d60]
lea rdi, [0x140050d68]
lea rsi, [0x140050b70]
lea rbx, [0x140050cd0]
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xf39f350e
mov eax, dword [rbp + 0x30]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x14000a87d
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 0x4c], eax
cmp dword [0x1400c7b78], 0xa
mov eax, dword [0x1400c7b7c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x30], 0
jne 0x14000b21c
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x20], 0x2297
add rcx, 4
cmp rcx, 0x44
jne 0x14000b206
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 0x14000a87d
mov al, byte [rbp + 0x87]
cmp byte [rbp - 0x58], 0
jne 0x14000b25a
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor byte [rbp + rdx*4 - 0x20], 0x26
add rcx, 4
cmp rcx, 0x58
jne 0x14000b247
test al, 1
mov eax, 0x6ef6
mov ecx, 0x4f9
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x14000a87d
cmp eax, 0x30a8
jne 0x14000a87d
jmp 0x14000b2d9
cmp dword [0x1400c7b80], 0xa
mov eax, dword [0x1400c7b84]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x28], 0
jne 0x14000b2c0
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rbp + rdx*4 - 0x20], 0x3e31
add rcx, 4
cmp rcx, 8
jne 0x14000b2aa
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
mov cl, 1
jmp 0x14000a879
xor eax, eax
lea rsp, [rbp + 0x88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret