Function at 0x140008890
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]
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 [0x1400a4cdc], 9
mov eax, dword [0x1400a4cd8]
setg bl
lea edx, [rax + 1]
imul edx, eax
and dl, bl
mov byte [rbp + 0x57], dl
xor eax, eax
lea rbx, [0x1400346e0]
nop dword [rax]
movsxd rdx, dword [rbx + rax*4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
movsxd rdx, dword [rbx + rax*4 + 4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
add rax, 2
cmp rax, 0x20
jne 0x140008900
mov eax, 0x489b
xor r10d, r10d
mov esi, 0x72968b02
lea r9, [0x1400348c0]
lea r14, [0x140034850]
lea r13, [0x140034660]
lea r12, [0x140034760]
lea r11, [0x1400347e0]
mov dword [rbp + 0x40], 0
mov dword [rbp + 0x34], 0
mov dword [rbp + 0x44], 0
mov dword [rbp + 0x38], 0
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
xor r15d, r15d
xor edi, edi
xor r8d, r8d
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x3c], 0
jmp 0x1400089c0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x48]
mov eax, dword [rbp + 0xc]
mov edx, 0x6db2
xor eax, edx
nop dword [rax]
cmp eax, 0x42a9
jle 0x140008a50
cmp eax, 0x5c3a
jg 0x140008ac0
cmp eax, 0x5067
jg 0x140008bb3
cmp eax, 0x489a
jg 0x140008dbf
cmp eax, 0x42aa
je 0x14000934a
cmp eax, 0x45df
jne 0x1400089c0
cmp dword [0x1400a4d64], 0xa
mov eax, dword [0x1400a4d60]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x28], 0
jne 0x140008a30
xor dword [rbp - 0x44], 0x16dd
xor dword [rbp - 4], 0x16dd
test al, al
mov eax, 0x1f92
mov edx, 0x329d
cmovne eax, edx
xor eax, dword [rbp - 0x48]
mov dl, 1
mov dword [rbp + 0x28], edx
jmp 0x1400089c0
cmp eax, 0x2d80
jg 0x140008b40
cmp eax, 0x1c07
jg 0x140008c77
cmp eax, 0x91a
jg 0x140008e02
cmp eax, 0x363
je 0x140009395
cmp eax, 0x44e
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 2
mov rdx, qword [rbp + 0x60]
mov qword [rdx], rax
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xf411b87a
mov eax, dword [rbp + 8]
mov edx, 0x76cc
xor eax, edx
jmp 0x1400089c0
cmp eax, 0x72db
jg 0x140008cdb
cmp eax, 0x692f
jg 0x140008e66
cmp eax, 0x5c3b
je 0x14000904d
cmp eax, 0x5f44
jne 0x1400089c0
cmp dword [0x1400a4dbc], 0xa
mov eax, dword [0x1400a4db8]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x3c], 0
jne 0x140008b1e
xor dword [rbp - 0x18], 0x7c93
xor dword [rbp + 0x10], 0x7c93
test al, al
mov eax, 0x6924
mov edx, 0x6471
cmovne eax, edx
xor eax, dword [rbp - 0x1c]
mov dl, 1
mov dword [rbp + 0x3c], edx
jmp 0x1400089c0
cmp eax, 0x30a7
jg 0x140008d2a
cmp eax, 0x2ff6
jg 0x140008ecc
cmp eax, 0x2d81
je 0x1400090bf
cmp eax, 0x2fb4
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0x40
mov eax, 0xfd09290b
cmova eax, esi
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [0x1400a4d14]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x7abe
mov edx, 0x12c2
cmove eax, edx
cmp dword [0x1400a4d10], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x3c]
jmp 0x1400089c0
cmp eax, 0x5493
jg 0x140008f50
cmp eax, 0x5068
je 0x1400091e9
cmp eax, 0x52f5
jne 0x1400089c0
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x48]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rbx, qword [rbp + 0x48]
mov qword [rbx], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xf411b87a
cmp dword [0x1400a4dc0], 0xa
mov eax, dword [0x1400a4dc4]
setl bl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, bl
cmp byte [rbp + 0x40], 0
je 0x140009414
test al, al
mov eax, 0x2e28
mov edx, 0x423a
cmovne eax, edx
xor eax, dword [rbp - 0x68]
mov dl, 1
mov dword [rbp + 0x40], edx
jmp 0x1400089c0
cmp eax, 0x1dcc
jg 0x140008f93
cmp eax, 0x1c08
je 0x140009196
cmp eax, 0x1d9a
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add word [rax], 0x20
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xfd09290b
mov eax, dword [0x1400a4d84]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x70f9
mov edx, 0x468d
cmove eax, edx
cmp dword [0x1400a4d80], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x34]
jmp 0x1400089c0
cmp eax, 0x7986
jg 0x140008fb8
cmp eax, 0x72dc
je 0x140009237
cmp eax, 0x735d
jne 0x1400089c0
mov eax, dword [0x1400a4d2c]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x6046
mov edx, 0x3619
cmove eax, edx
cmp dword [0x1400a4d28], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x54]
jmp 0x1400089c0
cmp eax, 0x34c0
jg 0x14000901a
cmp eax, 0x30a8
je 0x1400091ae
cmp eax, 0x3149
jne 0x1400089c0
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x1c], eax
cmp dword [0x1400a4df8], 0xa
mov eax, dword [0x1400a4dfc]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x44], 0
jne 0x140008da3
mov ebx, 1
nop dword [rax]
movsxd rdx, dword [r14 + rbx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x2297
movsxd rdx, dword [r14 + rbx*4]
xor dword [rbp + rdx*4 - 0x70], 0x2297
add rbx, 2
cmp rbx, 0x1b
jne 0x140008d80
test al, al
mov eax, 0x597a
mov edx, 0x75da
cmovne eax, edx
xor eax, dword [rbp - 0x60]
mov dl, 1
mov dword [rbp + 0x44], edx
jmp 0x1400089c0
cmp eax, 0x489b
je 0x1400090ed
cmp eax, 0x4b40
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x1da432b7
mov edx, 0xdc43d233
cmove eax, edx
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [rbp - 8]
mov edx, 0xf1d
xor eax, edx
jmp 0x1400089c0
cmp eax, 0x91b
je 0x140009289
cmp eax, 0x1ade
jne 0x1400089c0
cmp dword [0x1400a4d6c], 0xa
mov eax, dword [0x1400a4d68]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x24], 0
jne 0x140008e4a
xor dword [rbp - 0x4c], 0x28d2
xor dword [rbp - 8], 0x28d2
test al, al
mov eax, 0x2b0
mov edx, 0x27cf
cmovne eax, edx
xor eax, dword [rbp - 0x50]
mov dl, 1
mov dword [rbp + 0x24], edx
jmp 0x1400089c0
cmp eax, 0x6930
je 0x140009118
cmp eax, 0x6e3f
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x1da432b7
mov edx, 0xdc43d233
cmove eax, edx
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [0x1400a4de4]
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
mov eax, 0x2a62
mov edx, 0x3e66
cmove eax, edx
cmp dword [0x1400a4de0], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x4c]
jmp 0x1400089c0
cmp eax, 0x2ff7
je 0x14000913c
cmp eax, 0x3029
jne 0x1400089c0
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0x48]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x48]
mov qword [rdx], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xf411b87a
mov eax, dword [rbp - 0x14]
mov edx, 0x4cf4
xor eax, edx
jmp 0x1400089c0
cmp eax, 0x5494
je 0x1400089a3
cmp eax, 0x5662
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0x5b
mov eax, 0xfd09290b
mov edx, 0x8d63d1a2
cmovb eax, edx
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [rbp - 4]
mov edx, 0x2440
xor eax, edx
jmp 0x1400089c0
cmp eax, 0x1dcd
je 0x140009298
cmp eax, 0x20d4
jne 0x1400089c0
mov eax, dword [rbp + 0x10]
mov edx, 0x18e2
xor eax, edx
jmp 0x1400089c0
cmp eax, 0x7987
je 0x1400092ff
cmp eax, 0x7b6d
jne 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0x5b
mov eax, 0xfd09290b
mov edx, 0x8d63d1a2
cmovb eax, edx
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [0x1400a4d0c]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x94f
mov edx, 0x69
cmove eax, edx
cmp dword [0x1400a4d08], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x44]
jmp 0x1400089c0
cmp eax, 0x3738
jne 0x140009479
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp word [rax], 0x40
mov eax, 0xfd09290b
cmova eax, esi
mov rdx, qword [rbp + 0x58]
mov dword [rdx], eax
mov eax, dword [rbp]
mov edx, 0x6232
xor eax, edx
jmp 0x1400089c0
cmp dword [0x1400a4cd4], 0xa
mov eax, dword [0x1400a4cd0]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x34], 0
jne 0x1400090a3
mov ebx, 1
nop word cs:[rax + rax]
movsxd rdx, dword [r11 + rbx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x985
movsxd rdx, dword [r11 + rbx*4]
xor dword [rbp + rdx*4 - 0x70], 0x985
add rbx, 2
cmp rbx, 0x1d
jne 0x140009080
test al, al
mov eax, 0x50ff
mov edx, 0x7dbe
cmovne eax, edx
xor eax, dword [rbp - 0x64]
mov dl, 1
mov dword [rbp + 0x34], edx
jmp 0x1400089c0
mov eax, dword [0x1400a55f0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x15b7
mov edx, 0x6958
cmove eax, edx
cmp dword [0x1400a55f4], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x18]
jmp 0x1400089c0
mov al, byte [rbp + 0x57]
test r10b, r10b
je 0x1400093e3
test al, 1
mov eax, 0x4cd2
mov edx, 0x2e0e
cmovne eax, edx
xor eax, dword [rbp - 0x70]
mov r10b, 1
mov esi, 0x72968b02
jmp 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add word [rax], 0x20
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xfd09290b
mov eax, dword [rbp + 4]
mov edx, 0x453
xor eax, edx
jmp 0x1400089c0
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x48]
mov eax, dword [0x1400a4cb8]
cmp dword [0x1400a4cbc], 0xa
setl dl
mov ebx, 0xe9b4ff
sub ebx, eax
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x30], 0
jne 0x14000917a
xor dword [rbp - 0x20], 0x3958
test al, al
mov eax, 0x16d1
mov edx, 0x7684
cmovne eax, edx
xor eax, dword [rbp - 0x24]
mov dl, 1
mov dword [rbp + 0x30], edx
jmp 0x1400089c0
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp - 0x10]
mov edx, 0x743b
xor eax, edx
jmp 0x1400089c0
mov eax, dword [rbp + 0x1c]
cmp byte [rbp + 0x38], 0
je 0x140009449
mov dl, 1
mov dword [rbp + 0x38], edx
cmp eax, 0xfd09290a
jg 0x1400092e2
cmp eax, 0x8d63d1a2
je 0x1400091e9
cmp eax, 0xdc43d233
je 0x140009237
cmp eax, 0xf411b87a
je 0x140008e18
jmp 0x140009395
cmp dword [0x1400a4d04], 0xa
mov eax, dword [0x1400a4d00]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x2c], 0
jne 0x14000921b
xor dword [rbp - 0x3c], 0x476
xor dword [rbp], 0x476
test al, al
mov eax, 0x7ec8
mov edx, 0x6644
cmovne eax, edx
xor eax, dword [rbp - 0x40]
mov dl, 1
mov dword [rbp + 0x2c], edx
jmp 0x1400089c0
cmp dword [0x1400a4db0], 0xa
mov eax, dword [0x1400a4db4]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
test r8b, r8b
jne 0x14000926f
xor dword [rbp - 0x24], 0xbb5
xor dword [rbp - 0x20], 0xbb5
xor dword [rbp + 0xc], 0xbb5
test al, al
mov eax, 0x1d64
mov edx, 0x6607
cmovne eax, edx
xor eax, dword [rbp - 0x28]
mov r8b, 1
jmp 0x1400089c0
mov eax, dword [rbp - 0xc]
mov edx, 0x1a00
xor eax, edx
jmp 0x1400089c0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 2
mov rdx, qword [rbp + 0x60]
mov qword [rdx], rax
mov rax, qword [rbp + 0x58]
mov dword [rax], 0xf411b87a
mov eax, dword [0x1400a4de8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x6f4f
mov edx, 0x3445
cmove eax, edx
cmp dword [0x1400a4dec], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x2c]
jmp 0x1400089c0
cmp eax, 0xfd09290b
je 0x14000934a
cmp eax, 0x1da432b7
je 0x1400089fe
cmp eax, 0x72968b02
jne 0x140009395
cmp dword [0x1400a4d8c], 0xa
mov eax, dword [0x1400a4d88]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
test r15b, r15b
jne 0x140009330
xor dword [rbp - 0x34], 0x5039
xor dword [rbp + 4], 0x5039
test al, al
mov eax, 0x20c0
mov edx, 0x546a
cmovne eax, edx
xor eax, dword [rbp - 0x38]
mov r15b, 1
jmp 0x1400089c0
cmp dword [0x1400a4d34], 0xa
mov eax, dword [0x1400a4d30]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
test dil, dil
jne 0x14000937b
xor dword [rbp - 0x2c], 0x22f1
xor dword [rbp + 8], 0x22f1
test al, al
mov eax, 0x4dbe
mov edx, 0x543d
cmovne eax, edx
xor eax, dword [rbp - 0x30]
mov dil, 1
jmp 0x1400089c0
cmp dword [0x1400a4cec], 0xa
mov eax, dword [0x1400a4ce8]
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
cmp byte [rbp + 0x20], 0
jne 0x1400093c7
xor dword [rbp - 0x54], 0x20ad
xor dword [rbp - 0xc], 0x20ad
test al, al
mov eax, 0x40eb
mov edx, 0x3aad
cmovne eax, edx
xor eax, dword [rbp - 0x58]
mov dl, 1
mov dword [rbp + 0x20], edx
jmp 0x1400089c0
mov r10d, 1
nop dword [rax]
movsxd rbx, dword [r13 + r10*4 - 4]
xor byte [rbp + rbx*4 - 0x70], 0x26
cmp r10, 0x1f
je 0x1400090f9
movsxd rdx, dword [r13 + r10*4]
xor byte [rbp + rdx*4 - 0x70], 0x26
add r10, 2
jmp 0x1400093f0
mov ebx, 1
nop dword [rax]
movsxd rdx, dword [r12 + rbx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x52f6
cmp rbx, 0x1d
je 0x140008c5b
movsxd rdx, dword [r12 + rbx*4]
xor dword [rbp + rdx*4 - 0x70], 0x52f6
add rbx, 2
jmp 0x140009420
mov ebx, 1
nop
movsxd rdx, dword [r9 + rbx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x2e15
cmp rbx, 0x19
je 0x1400091bb
movsxd rdx, dword [r9 + rbx*4]
xor dword [rbp + rdx*4 - 0x70], 0x2e15
add rbx, 2
jmp 0x140009450
cmp eax, 0x34c1
jne 0x1400089c0
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