Function at 0x14000abf0
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 r11, rdx
mov r10, rcx
xorps xmm0, 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 qword [rbp], 0
cmp dword [0x140038d00], 9
mov eax, dword [0x140038d04]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x5f], dl
mov eax, 1
lea rcx, [0x140030010]
nop
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
cmp rax, 0x1d
je 0x14000ac85
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
add rax, 2
jmp 0x14000ac60
mov eax, 0x98e
xor r13d, r13d
lea r14, [0x140030090]
lea r12, [0x14002ffa0]
lea rsi, [0x140030170]
lea r15, [0x140030100]
lea rbx, [0x1400301d0]
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x34], 0
mov dword [rbp + 0x24], 0
xor r9d, r9d
mov dword [rbp + 0xc], 0
mov dword [rbp + 0x10], 0
mov dword [rbp + 0x14], 0
mov dword [rbp + 0x18], 0
mov dword [rbp + 0x1c], 0
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x28], 0
mov qword [rbp - 0x80], r8
jmp 0x14000ad20
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp]
mov ecx, 0x1286
xor eax, ecx
nop dword [rax + rax]
cmp eax, 0x420a
jg 0x14000ade0
cmp eax, 0x2d80
jg 0x14000ae30
cmp eax, 0x1add
jg 0x14000af2a
cmp eax, 0x91a
jg 0x14000b09a
cmp eax, 0x348
je 0x14000b237
cmp eax, 0x363
jne 0x14000ad20
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
cdqe
mov rdx, qword [rbp + 0x40]
cmp qword [rdx], rax
mov eax, 0x551e788d
mov ecx, 0xec68ac8c
cmova eax, ecx
mov rdx, qword [rbp + 0x50]
mov dword [rdx], eax
mov eax, dword [0x1400384f8]
mov edx, dword [0x1400384fc]
cmp edx, 9
setg cl
cmp edx, 0xa
mov r8, rbx
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
mov edx, ebx
xor dl, al
or cl, al
xor cl, bl
mov rbx, r8
mov r8, qword [rbp - 0x80]
mov eax, 0x2388
mov ecx, 0x3e66
cmovne eax, ecx
test dl, dl
mov ecx, 0x2388
cmovne eax, ecx
xor eax, dword [rbp - 0x4c]
jmp 0x14000ad20
cmp eax, 0x5c3a
jg 0x14000aeb0
cmp eax, 0x489a
jle 0x14000af73
cmp eax, 0x5067
jg 0x14000b0fb
cmp eax, 0x489b
je 0x14000b33f
cmp eax, 0x4b40
jne 0x14000ad20
mov eax, dword [rbp + 4]
mov ecx, 0x6d65
xor eax, ecx
jmp 0x14000ad20
cmp eax, 0x3028
jle 0x14000aff2
cmp eax, 0x3148
jg 0x14000b175
cmp eax, 0x3029
je 0x14000b384
cmp eax, 0x30a8
jne 0x14000ad20
cmp dword [0x140038480], 0xa
mov eax, dword [0x140038484]
setl dl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, dl
cmp byte [rbp + 0xc], 0
jne 0x14000ae8f
xor dword [rbp - 0x4c], 0x28d2
xor dword [rbp - 0x10], 0x28d2
test al, al
mov eax, 0x16b4
mov ecx, 0x4a93
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov dword [rbp + 0xc], ecx
jmp 0x14000ad20
cmp eax, 0x72db
jle 0x14000b02b
cmp eax, 0x7986
jg 0x14000b19a
cmp eax, 0x72dc
je 0x14000b3c3
cmp eax, 0x735d
jne 0x14000ad20
cmp dword [0x140038558], 0xa
mov eax, dword [0x14003855c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x10], 0
jne 0x14000af0e
xor dword [rbp - 0x44], 0x16dd
xor dword [rbp - 0xc], 0x16dd
test al, al
mov eax, 0x6471
mov ecx, 0x532e
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov dword [rbp + 0x10], ecx
jmp 0x14000ad20
cmp eax, 0x1d99
jg 0x14000b1fe
cmp eax, 0x1ade
je 0x14000b463
cmp eax, 0x1c08
jne 0x14000ad20
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
add eax, 1
mov rcx, qword [rbp + 0x60]
mov dword [rcx], eax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x3340b92f
mov eax, dword [rbp - 4]
mov ecx, 0x49a1
xor eax, ecx
jmp 0x14000ad20
cmp eax, 0x420b
je 0x14000b4a3
cmp eax, 0x42aa
je 0x14000b4f1
cmp eax, 0x45df
jne 0x14000ad20
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x60]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x60]
mov edx, dword [rdx]
movsxd rdx, edx
mov byte [rcx + rdx], al
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x1867a24a
mov eax, dword [0x1400384e8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7daf
mov ecx, 0xf2c
cmove eax, ecx
cmp dword [0x1400384ec], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x3c]
jmp 0x14000ad20
cmp eax, 0x2d81
je 0x14000b53f
cmp eax, 0x2fb4
je 0x14000b66a
cmp eax, 0x2ff7
jne 0x14000ad20
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 8], eax
mov eax, dword [rbp - 0x18]
mov ecx, 0x779
xor eax, ecx
jmp 0x14000ad20
cmp eax, 0x5c3b
je 0x14000b6bf
cmp eax, 0x5f44
je 0x14000b55c
cmp eax, 0x6e3f
jne 0x14000ad20
cmp dword [0x140038560], 0xa
mov eax, dword [0x140038564]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x14], 0
jne 0x14000b07e
xor dword [rbp - 0x3c], 0x476
xor dword [rbp - 8], 0x476
test al, al
mov eax, 0x79d9
mov ecx, 0xc2f
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov dword [rbp + 0x14], ecx
jmp 0x14000ad20
cmp eax, 0x91b
je 0x14000ad06
cmp eax, 0x98e
jne 0x14000ad20
mov rcx, r8
mov al, byte [rbp + 0x5f]
test r13b, r13b
jne 0x14000b0de
mov edx, 1
movsxd r8, dword [r12 + rdx*4 - 4]
xor byte [rbp + r8*4 - 0x70], 0x26
movsxd rdi, dword [r12 + rdx*4]
xor byte [rbp + rdi*4 - 0x70], 0x26
add rdx, 2
cmp rdx, 0x1d
jne 0x14000b0c0
test al, 1
mov eax, 0x1d6f
mov edx, 0x6cfb
cmovne eax, edx
xor eax, dword [rbp - 0x70]
mov r13b, 1
mov r8, rcx
jmp 0x14000ad20
cmp eax, 0x5068
je 0x14000b58d
cmp eax, 0x52f5
jne 0x14000ad20
mov eax, dword [rbp + 8]
cmp byte [rbp + 0x24], 0
jne 0x14000b143
mov edx, 1
nop
movsxd rdi, dword [rbx + rdx*4 - 4]
xor dword [rbp + rdi*4 - 0x70], 0x2e15
movsxd rdi, dword [rbx + rdx*4]
xor dword [rbp + rdi*4 - 0x70], 0x2e15
add rdx, 2
cmp rdx, 0x17
jne 0x14000b120
mov cl, 1
mov dword [rbp + 0x24], ecx
cmp eax, 0x1867a249
jle 0x14000b658
cmp eax, 0x1867a24a
je 0x14000b1b0
cmp eax, 0x3340b92f
je 0x14000ae5c
cmp eax, 0x551e788d
je 0x14000aedc
jmp 0x14000b6bf
cmp eax, 0x3149
je 0x14000b5d8
cmp eax, 0x34c1
jne 0x14000ad20
mov eax, dword [rbp - 0x14]
mov ecx, 0x5814
xor eax, ecx
jmp 0x14000ad20
cmp eax, 0x7987
je 0x14000b606
cmp eax, 0x7b6d
jne 0x14000ad20
cmp dword [0x140038540], 0xa
mov eax, dword [0x140038544]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x18], 0
jne 0x14000b1e2
xor dword [rbp - 0x34], 0x5039
xor dword [rbp - 4], 0x5039
test al, al
mov eax, 0x55f8
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov dword [rbp + 0x18], ecx
jmp 0x14000ad20
cmp eax, 0x1dcd
jne 0x14000b779
mov eax, dword [0x1400384c0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x3be8
mov ecx, 0x3833
cmove eax, ecx
cmp dword [0x1400384c4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x20]
jmp 0x14000ad20
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r8
mov rax, qword [rbp + 0x38]
mov qword [rax], r11
mov rax, qword [rbp + 0x48]
mov qword [rax], r10
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x3340b92f
cmp dword [0x140038d40], 0xa
mov eax, dword [0x140038d44]
setl dl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, dl
cmp byte [rbp + 0x2c], 0
jne 0x14000b323
mov edx, 1
nop word cs:[rax + rax]
nop dword [rax]
movsxd rdi, dword [r14 + rdx*4 - 4]
xor dword [rbp + rdi*4 - 0x70], 0x52f6
movsxd rdi, dword [r14 + rdx*4]
xor dword [rbp + rdi*4 - 0x70], 0x52f6
add rdx, 2
cmp rdx, 0x1b
jne 0x14000b300
test al, al
mov eax, 0x6cdd
mov ecx, 0x569a
cmovne eax, ecx
xor eax, dword [rbp - 0x68]
mov cl, 1
mov dword [rbp + 0x2c], ecx
jmp 0x14000ad20
cmp dword [0x140038450], 0xa
mov eax, dword [0x140038454]
setl dl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, dl
cmp byte [rbp + 0x30], 0
je 0x14000b711
test al, al
mov eax, 0x6300
mov ecx, 0xefc
cmovne eax, ecx
xor eax, dword [rbp - 0x64]
mov cl, 1
mov dword [rbp + 0x30], ecx
jmp 0x14000ad20
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x60]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x60]
mov edx, dword [rdx]
movsxd rdx, edx
mov byte [rcx + rdx], al
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x1867a24a
mov eax, dword [rbp - 8]
mov ecx, 0x859
xor eax, ecx
jmp 0x14000ad20
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r8
mov rax, qword [rbp + 0x38]
mov qword [rax], r11
mov rax, qword [rbp + 0x48]
mov qword [rax], r10
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x3340b92f
mov eax, dword [rbp - 0x1c]
mov ecx, 0x1d49
xor eax, ecx
jmp 0x14000ad20
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x92e88e0
mov eax, dword [0x140038488]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x72ac
mov ecx, 0x1d87
cmove eax, ecx
cmp dword [0x14003848c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x44]
jmp 0x14000ad20
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 8], eax
cmp dword [0x1400384bc], 0xa
mov eax, dword [0x1400384b8]
setl dl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, dl
cmp byte [rbp + 0x34], 0
je 0x14000b749
test al, al
mov eax, 0x6a85
mov ecx, 0x1787
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov dword [rbp + 0x34], ecx
jmp 0x14000ad20
cmp dword [0x140038460], 0xa
mov eax, dword [0x140038464]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x28], 0
jne 0x14000b523
xor dword [rbp - 0x20], 0x3958
xor dword [rbp + 4], 0x3958
test al, al
mov eax, 0x2b0
mov ecx, 0x543d
cmovne eax, ecx
xor eax, dword [rbp - 0x24]
mov cl, 1
mov dword [rbp + 0x28], ecx
jmp 0x14000ad20
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x92e88e0
mov eax, dword [rbp - 0xc]
mov ecx, 0x45f3
xor eax, ecx
jmp 0x14000ad20
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
cdqe
mov rcx, qword [rbp + 0x40]
cmp qword [rcx], rax
mov eax, 0x551e788d
mov ecx, 0xec68ac8c
cmova eax, ecx
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov eax, dword [rbp - 0x10]
mov ecx, 0x6241
xor eax, ecx
jmp 0x14000ad20
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
add eax, 1
mov rcx, qword [rbp + 0x60]
mov dword [rcx], eax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x3340b92f
mov eax, dword [0x1400384f0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x5c1
mov ecx, 0x5b63
cmove eax, ecx
cmp dword [0x1400384f4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x14000ad20
mov eax, dword [0x140038474]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x5d9c
mov ecx, 0x2bf7
cmove eax, ecx
cmp dword [0x140038470], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x54]
jmp 0x14000ad20
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp dword [0x14003849c], 0xa
mov eax, dword [0x140038498]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x20], 0
jne 0x14000b63c
xor dword [rbp - 0x28], 0x66ad
test al, al
mov eax, 0x621a
mov ecx, 0x769b
cmovne eax, ecx
xor eax, dword [rbp - 0x2c]
mov cl, 1
mov dword [rbp + 0x20], ecx
jmp 0x14000ad20
cmp eax, 0xec68ac8c
je 0x14000b04c
cmp eax, 0x92e88e0
jne 0x14000b6bf
cmp dword [0x140038530], 0xa
mov eax, dword [0x140038534]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x1c], 0
jne 0x14000b6a3
xor dword [rbp - 0x2c], 0x22f1
xor dword [rbp - 0x28], 0x22f1
xor dword [rbp], 0x22f1
test al, al
mov eax, 0x40eb
mov ecx, 0x3077
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov dword [rbp + 0x1c], ecx
jmp 0x14000ad20
mov edi, dword [0x14003847c]
cmp dword [0x140038478], 0xa
setl dl
mov eax, edi
not eax
add eax, edi
add eax, edi
add eax, 2
imul eax, edi
test al, 1
sete al
or al, dl
test r9b, r9b
jne 0x14000b6f7
xor dword [rbp - 0x54], 0x20ad
xor dword [rbp - 0x14], 0x20ad
test al, al
mov eax, 0x7d31
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov r9b, 1
jmp 0x14000ad20
mov edx, 1
nop word cs:[rax + rax]
movsxd rdi, dword [r15 + rdx*4 - 4]
xor dword [rbp + rdi*4 - 0x70], 0x985
cmp rdx, 0x19
je 0x14000b368
movsxd rcx, dword [r15 + rdx*4]
xor dword [rbp + rcx*4 - 0x70], 0x985
add rdx, 2
jmp 0x14000b720
mov edx, 1
nop
movsxd rdi, dword [rsi + rdx*4 - 4]
xor dword [rbp + rdi*4 - 0x70], 0x2297
cmp rdx, 0x17
je 0x14000b4d5
movsxd rcx, dword [rsi + rdx*4]
xor dword [rbp + rcx*4 - 0x70], 0x2297
add rdx, 2
jmp 0x14000b750
cmp eax, 0x1d9a
jne 0x14000ad20
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x68]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret