Function at 0x14001a03c
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]
mov r13, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x4c], xmm0
movaps xmmword [rbp + 0x40], 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
mov eax, dword [0x1400c85e0]
cmp dword [0x1400c85e4], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
mov byte [rbp + 0x7f], dl
xor cl, al
mov byte [rbp + 0x7e], cl
xor eax, eax
lea rcx, [0x140051da0]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x10], 0x1e27
add rax, 4
cmp rax, 0x68
jne 0x14001a0ae
mov eax, 0x8c0
xor ecx, ecx
mov qword [rbp - 0x48], rcx
lea r12, [0x140051ed0]
lea rdx, [0x140051f20]
lea r10, [0x140051f84]
lea r8, [0x140051f8c]
lea rsi, [0x140051d30]
lea rdi, [0x140051e70]
lea r9, [0x140051f7c]
lea r14, [0x140051f6c]
lea r15, [0x140051f74]
lea r11, [0x140051f98]
lea rbx, [0x140051e10]
mov ecx, 0
mov qword [rbp - 0x30], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
xor ecx, ecx
mov qword [rbp - 0x20], rcx
xor ecx, ecx
mov qword [rbp - 0x40], 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 - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x38], rcx
xor ecx, ecx
mov qword [rbp - 0x18], rcx
cmp eax, 0x420a
jg 0x14001a219
cmp eax, 0x1d99
jle 0x14001a280
cmp eax, 0x2ff6
jle 0x14001a3a1
cmp eax, 0x3148
jg 0x14001a64e
cmp eax, 0x2ff7
je 0x14001a6df
cmp eax, 0x30a8
jne 0x14001a161
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x54223864
mov eax, dword [0x1400c85e8]
mov ecx, dword [0x1400c85ec]
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
lea rsi, [0x140051d30]
sete al
mov ebx, eax
or bl, cl
xor bl, dl
and cl, al
or dl, al
xor dl, cl
xor dl, al
test bl, bl
lea r12, [0x140051ed0]
lea rbx, [0x140051e10]
mov eax, 0x2440
mov ecx, 0x42e0
cmovne eax, ecx
test dl, dl
lea rdx, [0x140051f20]
mov ecx, 0x2440
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
jmp 0x14001a161
cmp eax, 0x6e3e
jg 0x14001a321
cmp eax, 0x5067
jg 0x14001a439
cmp eax, 0x45de
jg 0x14001a673
cmp eax, 0x420b
je 0x14001a764
cmp eax, 0x42aa
jne 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0xa30448a7
mov ecx, 0x9d9711b4
cmove eax, ecx
mov rcx, qword [rbp + 0x70]
mov dword [rcx], eax
mov eax, dword [rbp + 0x48]
mov ecx, 0x3d19
xor eax, ecx
jmp 0x14001a161
cmp eax, 0x8bf
jg 0x14001a4e3
cmp eax, 0x24e
je 0x14001a792
cmp eax, 0x348
je 0x14001a7fc
cmp eax, 0x363
jne 0x14001a161
mov eax, dword [0x1400c85f0]
cmp dword [0x1400c85f4], 0xa
setl cl
lea edx, [rax + 0x6811169]
not edx
add edx, eax
add edx, 0x6811169
add edx, eax
add edx, 0xf8000002
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x14001a2fd
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rbp + rdx*4 - 0x10], 0x476
add rcx, 4
cmp rcx, 8
jne 0x14001a2e7
test al, al
mov eax, 0x3b2c
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x58], rcx
lea rdx, [0x140051f20]
jmp 0x14001a161
cmp eax, 0x7986
jg 0x14001a564
cmp eax, 0x6e3f
je 0x14001a8ab
cmp eax, 0x72dc
je 0x14001a94c
cmp eax, 0x735d
jne 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6b328617
mov eax, dword [0x1400c85f8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x3f5a
mov ecx, 0x36eb
cmove eax, ecx
cmp dword [0x1400c85fc], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x24]
jmp 0x14001a161
cmp eax, 0x1d9a
je 0x14001a97d
cmp eax, 0x1dcd
je 0x14001a98c
cmp eax, 0x2fb4
jne 0x14001a161
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 + 0x80], rax
mov rax, qword [rbp + 0x68]
mov qword [rax], r13
mov rax, qword [rbp + 0x80]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6b328617
mov eax, dword [rbp + 0x3c]
mov ecx, 0x6017
xor eax, ecx
jmp 0x14001a161
cmp eax, 0x5068
je 0x14001a9a5
cmp eax, 0x52f5
je 0x14001ab3f
cmp eax, 0x5c3b
jne 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0xa30448a7
mov ecx, 0x9d9711b4
cmove eax, ecx
mov rcx, qword [rbp + 0x70]
mov dword [rcx], eax
mov eax, dword [0x1400c8600]
mov ecx, dword [0x1400c8604]
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
lea rsi, [0x140051d30]
sete al
mov ecx, edx
xor cl, al
or bl, al
xor bl, dl
lea rdx, [0x140051f20]
lea r12, [0x140051ed0]
mov eax, 0x1a4f
mov ebx, 0x2388
cmovne eax, ebx
lea rbx, [0x140051e10]
test cl, cl
mov ecx, 0x1a4f
cmovne eax, ecx
xor eax, dword [rbp + 0x14]
jmp 0x14001a161
cmp eax, 0x8c0
je 0x14001a9fd
cmp eax, 0x98e
je 0x14001aa49
cmp eax, 0x1ade
jne 0x14001a161
cmp dword [0x1400c8608], 0xa
mov eax, dword [0x1400c860c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x14001a540
xor ecx, ecx
movsxd rdx, dword [rcx + r8]
xor dword [rbp + rdx*4 - 0x10], 0x5039
add rcx, 4
cmp rcx, 0xc
jne 0x14001a52a
test al, al
mov eax, 0x6607
mov ecx, 0x27cf
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov cl, 1
mov qword [rbp - 0x50], rcx
lea rdx, [0x140051f20]
jmp 0x14001a161
cmp eax, 0x7987
je 0x14001aaaa
cmp eax, 0x7b6d
je 0x14001aac2
cmp eax, 0x7e16
jne 0x14001a161
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 + 0x80], rax
mov rax, qword [rbp + 0x68]
mov qword [rax], r13
mov rax, qword [rbp + 0x80]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6b328617
cmp dword [0x1400c8610], 0xa
mov eax, dword [0x1400c8614]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x30], 0
jne 0x14001a62a
xor ecx, ecx
movsxd rsi, dword [rcx + rbx]
xor dword [rbp + rsi*4 - 0x10], 0x52f6
add rcx, 4
cmp rcx, 0x5c
jne 0x14001a614
test al, al
mov eax, 0x31b5
mov ecx, 0x178f
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x30], rcx
lea rsi, [0x140051d30]
jmp 0x14001a161
cmp eax, 0x3149
je 0x14001a84b
cmp eax, 0x34c1
jne 0x14001a161
mov eax, dword [rbp + 0x58]
mov ecx, 0x7f35
xor eax, ecx
jmp 0x14001a161
cmp eax, 0x489b
jne 0x14001aba0
cmp dword [0x1400c8618], 0xa
mov eax, dword [0x1400c861c]
setl cl
lea esi, [rax - 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x14001a6bb
xor ecx, ecx
movsxd rsi, dword [rcx + r14]
xor dword [rbp + rsi*4 - 0x10], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x14001a6a5
test al, al
mov eax, 0x546a
mov ecx, 0xbfb
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x70], rcx
lea rsi, [0x140051d30]
jmp 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
mov esi, 0xe1eb9ba6
lea rdx, [rsi + rax]
inc rdx
sub rdx, rcx
not rcx
add rax, rsi
lea rax, [rcx + rax + 1]
mov rcx, rax
mov rbx, r11
mov r11, r13
movabs r13, 0xffffffff1e146459
and rcx, r13
mov r13, r11
mov r11, rbx
lea rbx, [0x140051e10]
or rax, rsi
lea rsi, [0x140051d30]
not rax
add rdx, rcx
add rdx, rax
sar rdx, 1
mov qword [rbp - 0x78], rdx
lea rdx, [0x140051f20]
mov rax, qword [rbp + 0x80]
mov eax, dword [rbp + 0x54]
mov ecx, 0x77f6
xor eax, ecx
jmp 0x14001a161
mov eax, dword [0x1400c8620]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x74c7
mov ecx, 0x1230
cmove eax, ecx
cmp dword [0x1400c8624], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0xc]
jmp 0x14001a161
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
cmp dword [0x1400c8628], 0xa
mov eax, dword [0x1400c862c]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x20], 0
jne 0x14001a7d8
xor ecx, ecx
movsxd rsi, dword [rcx + r12]
xor dword [rbp + rsi*4 - 0x10], 0x2297
add rcx, 4
cmp rcx, 0x50
jne 0x14001a7c2
test al, al
mov eax, 0x3cf5
mov ecx, 0x463a
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x20], rcx
lea rsi, [0x140051d30]
jmp 0x14001a161
mov eax, dword [rbp + 0x64]
cmp byte [rbp - 0x40], 0
jne 0x14001a81d
xor ecx, ecx
movsxd rsi, dword [rcx + rdx]
xor dword [rbp + rsi*4 - 0x10], 0x2e15
add rcx, 4
cmp rcx, 0x4c
jne 0x14001a807
mov cl, 1
mov qword [rbp - 0x40], rcx
cmp eax, 0x54223863
jg 0x14001ab22
cmp eax, 0x9d9711b4
lea rsi, [0x140051d30]
je 0x14001a504
cmp eax, 0xa30448a7
jne 0x14001a67e
cmp dword [0x1400c8630], 0xa
mov eax, dword [0x1400c8634]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x14001a887
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x10], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x14001a871
test al, al
mov eax, 0x543d
mov ecx, 0x7958
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp - 0x60], rcx
lea rdx, [0x140051f20]
jmp 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
lea rdx, [rax - 0x51f91c3e]
mov rsi, rcx
not rsi
or rsi, rdx
and rdx, rcx
add rsi, rax
sub rsi, rdx
inc rsi
sar rsi, 1
mov qword [rbp - 0x78], rsi
mov rax, qword [rbp + 0x80]
mov eax, dword [0x1400c8638]
cmp dword [0x1400c863c], 0xa
setl cl
lea edx, [rax + 0x5239db09]
lea esi, [rax + rdx + 0x5239db09]
not edx
add edx, esi
dec edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x14001a921
xor dword [rbp + 0x30], 0x3e31
test al, al
mov eax, 0x363e
mov ecx, 0x5c16
cmovne eax, ecx
xor eax, dword [rbp + 0x2c]
mov cl, 1
mov qword [rbp - 0x38], rcx
lea rdx, [0x140051f20]
lea rsi, [0x140051d30]
jmp 0x14001a161
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x80]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6b328617
mov eax, dword [rbp + 0x50]
mov ecx, 0x3edb
xor eax, ecx
jmp 0x14001a161
mov eax, dword [rbp + 0x44]
mov ecx, 0x2b56
xor eax, ecx
jmp 0x14001a161
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x54223864
mov eax, dword [rbp + 0x4c]
mov ecx, 0x6f85
xor eax, ecx
jmp 0x14001a161
mov eax, dword [0x1400c8640]
mov ecx, dword [0x1400c8644]
cmp ecx, 0xa
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
xor al, dl
lea rdx, [0x140051f20]
mov eax, 0x1b9c
mov ebx, 0x26d3
cmovne eax, ebx
test sil, 1
lea rsi, [0x140051d30]
cmove eax, ebx
cmp ecx, 0xa
cmovl eax, ebx
lea rbx, [0x140051e10]
xor eax, dword [rbp + 0x38]
jmp 0x14001a161
mov rdx, r13
mov al, byte [rbp + 0x7f]
or al, byte [rbp + 0x7e]
cmp byte [rbp - 0x48], 0
jne 0x14001aa22
xor ecx, ecx
movsxd r13, dword [rcx + rsi]
xor byte [rbp + r13*4 - 0x10], 0x26
add rcx, 4
cmp rcx, 0x64
jne 0x14001aa0e
test al, 1
mov eax, 0x3193
mov ecx, 0x6031
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x48], rcx
mov r13, rdx
lea rdx, [0x140051f20]
jmp 0x14001a161
cmp dword [0x1400c8648], 0xa
mov eax, dword [0x1400c864c]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x28], 0
jne 0x14001aa86
xor ecx, ecx
movsxd rsi, dword [rcx + rdi]
xor dword [rbp + rsi*4 - 0x10], 0x985
add rcx, 4
cmp rcx, 0x58
jne 0x14001aa70
test al, al
mov eax, 0x3570
mov ecx, 0x4eb9
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov qword [rbp - 0x28], rcx
lea rsi, [0x140051d30]
jmp 0x14001a161
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x40]
mov ecx, 0x473c
xor eax, ecx
jmp 0x14001a161
cmp dword [0x1400c8650], 0xa
mov eax, dword [0x1400c8654]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x18], 0
jne 0x14001aafe
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rbp + rdx*4 - 0x10], 0x66ad
add rcx, 4
cmp rcx, 8
jne 0x14001aae8
test al, al
mov eax, 0x7d31
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp + 0x34]
mov cl, 1
mov qword [rbp - 0x18], rcx
lea rdx, [0x140051f20]
jmp 0x14001a161
cmp eax, 0x54223864
lea rsi, [0x140051d30]
je 0x14001a2ac
cmp eax, 0x6b328617
jne 0x14001a67e
cmp dword [0x1400c8658], 0xa
mov eax, dword [0x1400c865c]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x14001ab7c
xor ecx, ecx
movsxd rsi, dword [rcx + r15]
xor dword [rbp + rsi*4 - 0x10], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x14001ab66
test al, al
mov eax, 0xb5a
mov ecx, 0x15cb
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x68], rcx
lea rsi, [0x140051d30]
jmp 0x14001a161
cmp eax, 0x45df
jne 0x14001a161
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret