Function at 0x180004e60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x100
mov rsi, rcx
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0x7548a4
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180004efe
cqo
idiv rcx
jmp 0x180004f02
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsi]
mov rax, qword [0x18002a088]
movabs rbx, 0x20a163ccac322131
mov rdx, rbx
xchg qword [rsp + 0x80], rdx
xchg qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x80]
xor qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0xb8]
xor r8d, r8d
xor r9d, r9d
call rax
test eax, eax
js 0x1800058ef
mov dword [rsp + 0xb4], 0
mov qword [rsp + 0xc0], 0x7548b8
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180004fee
cqo
idiv rcx
jmp 0x180004ff2
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsi + 0x18]
lea rdi, [rsp + 0xb4]
mov r8d, 4
mov rcx, rdi
call fcn.1800039d0
test al, al
je 0x18000574c
mov eax, dword [rsi + 0x10]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xc0], 0x7548cb
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800050aa
cqo
idiv rcx
jmp 0x1800050ae
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0xc0]
call fcn.1800032e0
mov qword [rsp + 0x80], 0x7548d9
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], 0xe
mov qword [rsp + 0x60], 0x50
mov qword [rsp + 0x58], 1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
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 0x180005148
cqo
idiv rcx
jmp 0x18000514c
xor edx, edx
div ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp byte [0x18002ad8d], 1
jne 0x1800051c7
xor r11d, r11d
cmp byte [0x18002ad87], 0
mov ecx, 0x32
mov r10d, 0
cmovne r10d, ecx
cmp byte [0x18002ad8b], 0
mov eax, 0x31
mov r8d, 0
cmovne r8d, eax
cmp byte [0x18002ad88], 0
cmove eax, r11d
cmp byte [0x18002ad89], 0
cmove ecx, r11d
cmp byte [0x18002ad8a], 0
mov edx, 0x38
cmove edx, r11d
cmp byte [0x18002ad8c], 0
mov r9d, 0x34
cmove r9d, r11d
jmp 0x180005219
mov byte [0x18002ad87], 1
mov byte [0x18002ad88], 1
mov byte [0x18002ad89], 1
mov byte [0x18002ad8a], 1
mov byte [0x18002ad8b], 1
mov byte [0x18002ad8c], 1
mov byte [0x18002ad8d], 1
mov eax, 0x31
mov ecx, 0x32
mov edx, 0x38
mov r9d, 0x34
mov r8d, 0x31
mov r10d, 0x32
mov r14d, r10d
imul r14d, r8d
add r14d, eax
shl r14, 0x38
mov r11d, r8d
imul r11d, eax
add r11d, r10d
shl r11, 0x30
mov r15d, r8d
imul r15d, ecx
add r15d, edx
shl r15, 0x28
imul r8d, edx
add r8d, ecx
shl r8, 0x20
or r8, r15
mov r15d, r10d
imul r15d, r9d
add r15d, eax
shl r15, 0x18
or r15, r14
imul eax, r9d
add 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, r15
mov qword [rsp + 0x80], rdx
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x80]
movabs rcx, 0x72005000730050
xor rcx, rax
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x80]
movabs rcx, 0x7300650063006f
xor rcx, rax
mov qword [rsp + 0x90], rcx
mov rax, qword [rsp + 0x80]
movabs rcx, 0x70007900540073
xor rcx, rax
mov qword [rsp + 0x98], rcx
mov rax, qword [rsp + 0x80]
xor rax, 0x65
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x70], 4
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18000533d
xor eax, eax
nop
mov rcx, qword [rsp + 0x80]
xor qword [rsp + rax*8 + 0x88], rcx
inc rax
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jb 0x180005320
mov rax, qword [0x18002a1e0]
mov rcx, rbx
xchg qword [rsp + 0x40], rcx
xchg qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x40]
xor qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0x80], 0x7548ee
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 0xe
mov qword [rsp + 0x58], 0x50
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800053e8
cqo
idiv rcx
jmp 0x1800053ec
xor edx, edx
div ecx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [0x18002a268]
mov rcx, rbx
xchg qword [rsp + 0x40], rcx
xchg qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x40]
xor qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
lea rcx, [rsp + 0x70]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov rcx, rax
mov qword [rsp + 0x80], 0x7548e7
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 0xe
mov qword [rsp + 0x58], 0x50
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
sub rax, rdx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1800054b5
cqo
idiv r8
jmp 0x1800054ba
xor edx, edx
div r8d
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rcx]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [0x18002a210]
mov r8, rbx
xchg qword [rsp + 0x40], r8
xchg qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x40]
xor qword [rsp + 0x80], rdx
mov r10, qword [rsp + 0x80]
lea rdx, [rsp + 0xf0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
mov edx, 0x240
xor r8d, r8d
mov r9d, 0x1fffff
call r10
mov qword [rsp + 0x80], 0x754904
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 0xe
mov qword [rsp + 0x58], 0x50
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800055a7
cqo
idiv rcx
jmp 0x1800055ab
xor edx, edx
div ecx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov r9d, dword [rsp + 0xb4]
lea rdx, [rsi + 8]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [0x18002a208]
mov r8, rbx
xchg qword [rsp + 0x40], r8
xchg qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x40]
xor qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0xf8]
call rax
mov qword [rsp + 0x80], 0x75491d
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 0xe
mov qword [rsp + 0x58], 0x50
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180005685
cqo
idiv rcx
jmp 0x180005689
xor edx, edx
div ecx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.180003550
mov qword [rsp + 0x80], 0x754912
mov rax, qword [rsp + 0x80]
xor rax, 0xe
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 0xe
mov qword [rsp + 0x58], 0x50
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180005721
cqo
idiv rcx
jmp 0x180005725
xor edx, edx
div ecx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsi + 0x18]
lea rdx, [rsp + 0xb4]
mov r8d, 4
call fcn.1800039d0
mov qword [rsp + 0xc0], 0x75493f
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800057cd
cqo
idiv rcx
jmp 0x1800057d1
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [0x18002a090]
mov rdx, rbx
xchg qword [rsp + 0x80], rdx
xchg qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x80]
xor qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0xc0], 0x754934
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1800058a0
cqo
idiv rcx
jmp 0x1800058a4
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [0x18002a178]
xchg qword [rsp + 0x80], rbx
xchg qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x80]
xor qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
mov qword [rsp + 0xc0], 0x754948
mov rax, qword [rsp + 0xc0]
xor rax, 0xe
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], 0xe
mov qword [rsp + 0x40], 0x50
mov qword [rsp + 0x60], 1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x180005970
cqo
idiv rcx
jmp 0x180005974
xor edx, edx
div ecx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
add rsp, 0x100
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret