Function at 0x180007dc0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x128
mov rsi, rcx
mov qword [rsp + 0xa8], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xb8], 0x10111fd
mov rax, qword [rsp + 0xb8]
xor rax, 0x3a
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x98], 0x3a
mov qword [rsp + 0x38], 0xa0
mov qword [rsp + 0x58], 5
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x38]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180007e83
cqo
idiv rcx
jmp 0x180007e87
xor edx, edx
div ecx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsi]
mov rax, qword [0x18002a088]
movabs rdi, 0x20a163ccac324bf3
mov rdx, rdi
xchg qword [rsp + 0x70], rdx
xchg qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x70]
xor qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
lea rdx, [rsp + 0xa8]
xor r8d, r8d
xor r9d, r9d
call rax
mov ecx, eax
mov qword [rsp + 0xb8], 0x10111ea
mov rax, qword [rsp + 0xb8]
xor rax, 0x3a
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x98], 0x3a
mov qword [rsp + 0x38], 0xa0
mov qword [rsp + 0x58], 5
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x38]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
sub rax, rdx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x180007f5c
cqo
idiv r8
jmp 0x180007f61
xor edx, edx
div r8d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
test ecx, ecx
js 0x1800087c2
mov qword [rsp + 0xb8], 0x10111e5
mov rax, qword [rsp + 0xb8]
xor rax, 0x3a
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x98], 0x3a
mov qword [rsp + 0x38], 0xa0
mov qword [rsp + 0x58], 5
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x38]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180007ff4
cqo
idiv rcx
jmp 0x180007ff8
xor edx, edx
div ecx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0xb8]
call fcn.1800032e0
mov qword [rsp + 0x70], 0x10111d1
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], 0x3a
mov qword [rsp + 0x58], 0xa0
mov qword [rsp + 0x50], 5
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180008092
cqo
idiv rcx
jmp 0x180008096
xor edx, edx
div ecx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp byte [0x18002ad9d], 1
jne 0x180008111
xor r11d, r11d
cmp byte [0x18002ad97], 0
mov ecx, 0x32
mov r10d, 0
cmovne r10d, ecx
cmp byte [0x18002ad9b], 0
mov r8d, 0x35
cmove r8d, r11d
cmp byte [0x18002ad98], 0
mov eax, 0x30
cmove eax, r11d
cmp byte [0x18002ad99], 0
cmove ecx, r11d
cmp byte [0x18002ad9a], 0
mov edx, 0x31
cmove edx, r11d
cmp byte [0x18002ad9c], 0
mov r9d, 0x38
cmove r9d, r11d
jmp 0x180008163
mov byte [0x18002ad97], 1
mov byte [0x18002ad98], 1
mov byte [0x18002ad99], 1
mov byte [0x18002ad9a], 1
mov byte [0x18002ad9b], 1
mov byte [0x18002ad9c], 1
mov byte [0x18002ad9d], 1
mov r8d, 0x35
mov eax, 0x30
mov ecx, 0x32
mov edx, 0x31
mov r9d, 0x38
mov r10d, 0x32
mov ebx, r10d
imul ebx, r8d
add ebx, eax
shl rbx, 0x38
mov r11d, r8d
imul r11d, eax
add r11d, r10d
shl r11, 0x30
mov r14d, r8d
imul r14d, ecx
add r14d, edx
shl r14, 0x28
imul r8d, edx
add r8d, ecx
shl r8, 0x20
or r8, r14
mov r14d, r10d
imul r14d, r9d
add r14d, eax
shl r14, 0x18
or r14, rbx
imul eax, r9d
or eax, r10d
shl eax, 0x10
or rax, r8
mov r8d, ecx
imul r8d, r9d
add r8d, edx
shl r8d, 8
imul edx, r9d
add edx, ecx
or edx, r8d
or rdx, r11
or rdx, rax
or rdx, r14
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x78]
mov rax, qword [rsp + 0x70]
movabs rcx, 0x72005000730050
xor rcx, rax
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x70]
movabs rcx, 0x7300650063006f
xor rcx, rax
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0x70]
movabs rcx, 0x70007900540073
xor rcx, rax
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x70]
xor rax, 0x65
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 4
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18000827a
xor eax, eax
nop dword [rax]
mov rcx, qword [rsp + 0x70]
xor qword [rsp + rax*8 + 0x78], rcx
inc rax
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jb 0x180008260
mov rax, qword [0x18002a1e0]
mov rcx, rdi
xchg qword [rsp + 0x38], rcx
xchg qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
lea rcx, [rsp + 0x98]
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0x70], 0x10111ce
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x18000832b
cqo
idiv rcx
jmp 0x18000832f
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [0x18002a268]
mov rcx, rdi
xchg qword [rsp + 0x38], rcx
xchg qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x98]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov rcx, rax
mov qword [rsp + 0x70], 0x10111c7
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
sub rax, rdx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x40]
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1800083e6
cqo
idiv r8
jmp 0x1800083eb
xor edx, edx
div r8d
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [0x18002a210]
mov r8, rdi
xchg qword [rsp + 0x38], r8
xchg qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x38]
xor qword [rsp + 0x70], rdx
mov r10, qword [rsp + 0x70]
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
mov edx, 0x240
xor r8d, r8d
mov r9d, 0x400
call r10
test eax, eax
js 0x1800085e3
mov qword [rsp + 0x70], 0x101121b
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800084cb
cqo
idiv rcx
jmp 0x1800084cf
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsi + 8]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [0x18002a108]
mov r8, rdi
xchg qword [rsp + 0x38], r8
xchg qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
lea r8, [rsp + 0xe8]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], 0x30
lea r9, [rsp + 0xf0]
xor r8d, r8d
call rax
mov qword [rsp + 0x70], 0x1011210
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800085a0
cqo
idiv rcx
jmp 0x1800085a4
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [0x18002a090]
mov rdx, rdi
xchg qword [rsp + 0x38], rdx
xchg qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0x70], 0x1011203
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180008658
cqo
idiv rcx
jmp 0x18000865c
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0xb8]
call fcn.180003550
mov qword [rsp + 0x70], 0x1011278
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800086e8
cqo
idiv rcx
jmp 0x1800086ec
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [0x18002a178]
xchg qword [rsp + 0x38], rdi
xchg qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0x70], 0x1011274
mov rax, qword [rsp + 0x70]
xor rax, 0x3a
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], 0x3a
mov qword [rsp + 0x50], 0xa0
mov qword [rsp + 0x48], 5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x18000879d
cqo
idiv rcx
jmp 0x1800087a1
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0xf0]
mov r8d, 0x30
call fcn.1800039d0
mov qword [rsp + 0xb8], 0x1011267
mov rax, qword [rsp + 0xb8]
xor rax, 0x3a
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x98], 0x3a
mov qword [rsp + 0x38], 0xa0
mov qword [rsp + 0x58], 5
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x38]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180008843
cqo
idiv rcx
jmp 0x180008847
xor edx, edx
div ecx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r14
ret