Function at 0x140013cd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov r15, rdx
mov rdi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x70], xmm0
mov dword [rbp + 0x10], 0
cmp dword [0x1400672a0], 9
mov eax, dword [0x1400672a4]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x67], dl
xor eax, eax
lea rcx, [0x14005af20]
nop
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
movsxd rdx, dword [rcx + rax*4 + 4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
add rax, 2
cmp rax, 0x20
jne 0x140013d40
mov eax, 0x489b
mov dword [rbp + 0x34], 0
lea r9, [0x14005b100]
lea r10, [0x14005b090]
lea r13, [0x14005aea0]
lea r12, [0x14005afa0]
lea r11, [0x14005b020]
mov dword [rbp + 0x48], 0
mov dword [rbp + 0x3c], 0
mov dword [rbp + 0x4c], 0
mov dword [rbp + 0x40], 0
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x30], 0
xor r14d, r14d
xor r8d, r8d
mov dword [rbp + 0x38], 0
mov dword [rbp + 0x44], 0
jmp 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x70]
mov eax, dword [rbp + 0xc]
mov ecx, 0x6db2
xor eax, ecx
cmp eax, 0x42a9
jle 0x140013e90
cmp eax, 0x5c3a
jg 0x140013f10
cmp eax, 0x5067
jg 0x140014004
cmp eax, 0x489a
jg 0x14001421f
cmp eax, 0x42aa
je 0x1400147d7
cmp eax, 0x45df
jne 0x140013e00
cmp dword [0x1400672a8], 0xa
mov eax, dword [0x1400672ac]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x28], 0
jne 0x140013e70
xor dword [rbp - 0x44], 0x16dd
xor dword [rbp - 4], 0x16dd
test al, al
mov eax, 0x1f92
mov ecx, 0x329d
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov dword [rbp + 0x28], ecx
jmp 0x140013e00
cmp eax, 0x2d80
jg 0x140013fa0
cmp eax, 0x1c07
jg 0x1400140e1
cmp eax, 0x91a
jg 0x140014265
cmp eax, 0x363
je 0x140014822
cmp eax, 0x44e
jne 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
lea rcx, [rax + rax]
sub rcx, rax
add rcx, 1
mov rax, qword [rbp + 0x70]
mov qword [rax], rcx
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x58]
mov qword [rcx], rax
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x256755e9
mov eax, dword [rbp + 8]
mov ecx, 0x76cc
xor eax, ecx
jmp 0x140013e00
cmp eax, 0x72db
jg 0x14001413a
cmp eax, 0x692f
jg 0x1400142cf
cmp eax, 0x5c3b
je 0x1400144be
cmp eax, 0x5f44
jne 0x140013e00
mov ecx, dword [0x140066af8]
cmp dword [0x140066afc], 0xa
setl dl
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
sete sil
mov ebx, edx
and bl, al
mov ecx, edx
or cl, sil
or al, dl
xor al, bl
xor al, cl
xor dl, sil
xor al, 1
or al, dl
cmp byte [rbp + 0x44], 0
jne 0x140013f83
xor dword [rbp - 0x18], 0x7c93
xor dword [rbp + 0x10], 0x7c93
test al, al
mov eax, 0x6924
mov ecx, 0x6471
cmovne eax, ecx
xor eax, dword [rbp - 0x1c]
mov cl, 1
mov dword [rbp + 0x44], ecx
jmp 0x140013e00
cmp eax, 0x30a7
jg 0x140014189
cmp eax, 0x2ff6
jg 0x140014334
cmp eax, 0x2d81
je 0x14001452f
cmp eax, 0x2fb4
jne 0x140013e00
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x9db0c7cf
mov eax, dword [0x140066af4]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7abe
mov ecx, 0x12c2
cmove eax, ecx
cmp dword [0x140066af0], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x3c]
jmp 0x140013e00
cmp eax, 0x5493
jg 0x1400143d0
cmp eax, 0x5068
je 0x140014732
cmp eax, 0x52f5
jne 0x140013e00
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x50]
mov qword [rax], r15
mov rax, qword [rbp + 0x58]
mov qword [rax], rdi
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x70]
mov qword [rax], 0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x256755e9
cmp dword [0x1400672c0], 0xa
mov eax, dword [0x1400672c4]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x48], 0
je 0x1400148b5
test al, al
mov eax, 0x2e28
mov ecx, 0x423a
cmovne eax, ecx
xor eax, dword [rbp - 0x68]
mov cl, 1
mov dword [rbp + 0x48], ecx
jmp 0x140013e00
cmp eax, 0x1dcc
jg 0x140014413
cmp eax, 0x1c08
je 0x140014601
cmp eax, 0x1d9a
jne 0x140013e00
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x30d5c6ea
mov eax, dword [0x140066b6c]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x70f9
mov ecx, 0x468d
cmove eax, ecx
cmp dword [0x140066b68], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x140013e00
cmp eax, 0x7986
jg 0x140014438
cmp eax, 0x72dc
je 0x140014658
cmp eax, 0x735d
jne 0x140013e00
mov eax, dword [0x1400672d0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x6046
mov ecx, 0x3619
cmove eax, ecx
cmp dword [0x1400672d4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x54]
jmp 0x140013e00
cmp eax, 0x34c0
jg 0x14001449a
cmp eax, 0x30a8
je 0x140014619
cmp eax, 0x3149
jne 0x140013e00
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
mov dword [rbp + 0x1c], eax
cmp dword [0x1400672d8], 0xa
mov eax, dword [0x1400672dc]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x4c], 0
jne 0x140014203
mov edx, 1
nop dword [rax]
movsxd rsi, dword [r10 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x2297
movsxd rsi, dword [r10 + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x2297
add rdx, 2
cmp rdx, 0x1b
jne 0x1400141e0
test al, al
mov eax, 0x597a
mov ecx, 0x75da
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov dword [rbp + 0x4c], ecx
jmp 0x140013e00
cmp eax, 0x489b
je 0x14001455d
cmp eax, 0x4b40
jne 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x50]
cmp rax, qword [rcx]
mov eax, 0x9db0c7cf
mov ecx, 0xed81a83d
cmovb eax, ecx
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
mov eax, dword [rbp - 8]
mov ecx, 0xf1d
xor eax, ecx
jmp 0x140013e00
cmp eax, 0x91b
je 0x1400146aa
cmp eax, 0x1ade
jne 0x140013e00
mov ecx, dword [0x1400672e0]
cmp dword [0x1400672e4], 0xa
setl al
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
or al, cl
or al, dl
cmp byte [rbp + 0x24], 0
jne 0x1400142b3
xor dword [rbp - 0x4c], 0x28d2
xor dword [rbp - 8], 0x28d2
test al, al
mov eax, 0x2b0
mov ecx, 0x27cf
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov dword [rbp + 0x24], ecx
jmp 0x140013e00
cmp eax, 0x6930
je 0x140014592
cmp eax, 0x6e3f
jne 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x50]
cmp rax, qword [rcx]
mov eax, 0x9db0c7cf
mov ecx, 0xed81a83d
cmovb eax, ecx
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
mov eax, dword [0x1400672e8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2a62
mov ecx, 0x3e66
cmove eax, ecx
cmp dword [0x1400672ec], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x4c]
jmp 0x140013e00
cmp eax, 0x2ff7
je 0x1400145ab
cmp eax, 0x3029
jne 0x140013e00
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x50]
mov qword [rax], r15
mov rax, qword [rbp + 0x58]
mov qword [rax], rdi
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp + 0x70]
mov qword [rax], 0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x256755e9
mov eax, dword [rbp - 0x14]
mov ecx, 0x4cf4
xor eax, ecx
jmp 0x140013e00
cmp eax, 0x5494
je 0x140013de7
cmp eax, 0x5662
jne 0x140013e00
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x2c79f1a7
mov ecx, 0x34e541a5
cmove eax, ecx
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
mov eax, dword [rbp - 4]
mov ecx, 0x2440
xor eax, ecx
jmp 0x140013e00
cmp eax, 0x1dcd
je 0x1400146b9
cmp eax, 0x20d4
jne 0x140013e00
mov eax, dword [rbp + 0x10]
mov ecx, 0x18e2
xor eax, ecx
jmp 0x140013e00
cmp eax, 0x7987
je 0x140014780
cmp eax, 0x7b6d
jne 0x140013e00
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x2c79f1a7
mov ecx, 0x34e541a5
cmove eax, ecx
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
mov eax, dword [0x140066ab8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x94f
mov ecx, 0x69
cmove eax, ecx
cmp dword [0x140066abc], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x44]
jmp 0x140013e00
cmp eax, 0x3738
jne 0x140014919
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x9db0c7cf
mov eax, dword [rbp]
mov ecx, 0x6232
xor eax, ecx
jmp 0x140013e00
cmp dword [0x1400672f8], 0xa
mov eax, dword [0x1400672fc]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x3c], 0
jne 0x140014513
mov edx, 1
nop dword [rax + rax]
movsxd rsi, dword [r11 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x985
movsxd rsi, dword [r11 + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x985
add rdx, 2
cmp rdx, 0x1d
jne 0x1400144f0
test al, al
mov eax, 0x50ff
mov ecx, 0x7dbe
cmovne eax, ecx
xor eax, dword [rbp - 0x64]
mov cl, 1
mov dword [rbp + 0x3c], ecx
jmp 0x140013e00
mov eax, dword [0x140066b20]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x15b7
mov ecx, 0x6958
cmove eax, ecx
cmp dword [0x140066b24], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x18]
jmp 0x140013e00
mov rsi, rdi
mov rdi, r15
mov al, byte [rbp + 0x67]
cmp byte [rbp + 0x34], 0
je 0x14001488a
test al, 1
mov eax, 0x4cd2
mov ecx, 0x2e0e
cmovne eax, ecx
xor eax, dword [rbp - 0x70]
mov cl, 1
mov dword [rbp + 0x34], ecx
mov r15, rdi
mov rdi, rsi
jmp 0x140013e00
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x30d5c6ea
mov eax, dword [rbp + 4]
mov ecx, 0x453
xor eax, ecx
jmp 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x70]
cmp dword [0x140066b18], 0xa
mov eax, dword [0x140066b1c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x38], 0
jne 0x1400145e5
xor dword [rbp - 0x20], 0x3958
test al, al
mov eax, 0x16d1
mov ecx, 0x7684
cmovne eax, ecx
xor eax, dword [rbp - 0x24]
mov cl, 1
mov dword [rbp + 0x38], ecx
jmp 0x140013e00
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp - 0x10]
mov ecx, 0x743b
xor eax, ecx
jmp 0x140013e00
mov eax, dword [rbp + 0x1c]
cmp byte [rbp + 0x40], 0
je 0x1400148e9
mov cl, 1
mov dword [rbp + 0x40], ecx
cmp eax, 0x2c79f1a6
jg 0x140014715
cmp eax, 0x9db0c7cf
je 0x140014658
cmp eax, 0xed81a83d
je 0x140013e3e
cmp eax, 0x256755e9
je 0x14001427b
jmp 0x140014822
cmp dword [0x140066b14], 0xa
mov eax, dword [0x140066b10]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r8b, r8b
jne 0x140014690
xor dword [rbp - 0x24], 0xbb5
xor dword [rbp - 0x20], 0xbb5
xor dword [rbp + 0xc], 0xbb5
test al, al
mov eax, 0x1d64
mov ecx, 0x6607
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov r8b, 1
jmp 0x140013e00
mov eax, dword [rbp - 0xc]
mov ecx, 0x1a00
xor eax, ecx
jmp 0x140013e00
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
add rax, 1
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x58]
mov qword [rcx], rax
mov rax, qword [rbp + 0x68]
mov dword [rax], 0x256755e9
mov eax, dword [0x140066b5c]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x6f4f
mov ecx, 0x3445
cmove eax, ecx
cmp dword [0x140066b58], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x2c]
jmp 0x140013e00
cmp eax, 0x2c79f1a7
je 0x140014780
cmp eax, 0x30d5c6ea
je 0x1400147d7
cmp eax, 0x34e541a5
jne 0x140014822
cmp dword [0x140066ad0], 0xa
mov eax, dword [0x140066ad4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x2c], 0
jne 0x140014764
xor dword [rbp - 0x3c], 0x476
xor dword [rbp], 0x476
test al, al
mov eax, 0x7ec8
mov ecx, 0x6644
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov dword [rbp + 0x2c], ecx
jmp 0x140013e00
mov eax, dword [0x140066b08]
cmp dword [0x140066b0c], 0xa
setl cl
lea edx, [rax + rax]
mov esi, eax
not esi
add edx, esi
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x30], 0
jne 0x1400147bb
xor dword [rbp - 0x34], 0x5039
xor dword [rbp + 4], 0x5039
test al, al
mov eax, 0x20c0
mov ecx, 0x546a
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov dword [rbp + 0x30], ecx
jmp 0x140013e00
cmp dword [0x140066b04], 0xa
mov eax, dword [0x140066b00]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r14b, r14b
jne 0x140014808
xor dword [rbp - 0x2c], 0x22f1
xor dword [rbp + 8], 0x22f1
test al, al
mov eax, 0x4dbe
mov ecx, 0x543d
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov r14b, 1
jmp 0x140013e00
mov edx, dword [0x140067338]
mov esi, dword [0x14006733c]
cmp esi, 9
setg bl
lea eax, [rdx - 1]
imul eax, edx
xor edx, edx
and eax, 1
sete dl
cmp esi, 0xa
mov esi, eax
cmovl esi, edx
setl cl
or al, cl
or cl, dl
or bl, dl
xor al, bl
xor al, cl
xor al, sil
cmp byte [rbp + 0x20], 0
jne 0x14001486e
xor dword [rbp - 0x54], 0x20ad
xor dword [rbp - 0xc], 0x20ad
test al, 1
mov eax, 0x3aad
mov ecx, 0x40eb
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov cl, 1
mov dword [rbp + 0x20], ecx
jmp 0x140013e00
mov edx, 1
nop
movsxd r15, dword [r13 + rdx*4 - 4]
xor byte [rbp + r15*4 - 0x70], 0x26
cmp rdx, 0x1f
je 0x140014570
movsxd rcx, dword [r13 + rdx*4]
xor byte [rbp + rcx*4 - 0x70], 0x26
add rdx, 2
jmp 0x140014890
mov edx, 1
nop word [rax + rax]
movsxd rsi, dword [r12 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x52f6
cmp rdx, 0x1d
je 0x1400140c5
movsxd rcx, dword [r12 + rdx*4]
xor dword [rbp + rcx*4 - 0x70], 0x52f6
add rdx, 2
jmp 0x1400148c0
mov edx, 1
nop
movsxd rsi, dword [r9 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x2e15
cmp rdx, 0x19
je 0x140014626
movsxd rcx, dword [r9 + rdx*4]
xor dword [rbp + rcx*4 - 0x70], 0x2e15
add rdx, 2
jmp 0x1400148f0
cmp eax, 0x34c1
jne 0x140013e00
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret