Function at 0x180036710
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x318
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov r8d, 1
xor r9d, r9d
mov edx, r8d
movsxd rax, r9d
mov byte [rsp + rax + 0x100], dl
lea eax, [r9 + 0xff]
movsxd rcx, eax
movsxd rax, edx
mov byte [rsp + rcx + 0x100], dl
mov byte [rsp + rax], r9b
mov eax, edx
and al, 0x80
inc r9d
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
and ecx, 0x11b
xor ecx, eax
xor edx, ecx
cmp edx, r8d
jne 0x180036735
xor edx, edx
lea r9, [0x1800f14e0]
nop dword [rax]
mov eax, r8d
mov byte [r9], r8b
and al, 0x80
lea r9, [r9 + 1]
neg al
lea eax, [r8 + r8]
sbb ecx, ecx
inc edx
and ecx, 0x11b
mov r8d, ecx
xor r8d, eax
cmp edx, 0x1e
jb 0x180036780
xor r9d, r9d
lea r11, [0x180000000]
xor r10d, r10d
test r9b, r9b
je 0x1800367d4
movzx eax, r9b
movzx ecx, byte [rsp + rax]
mov eax, 0xff
sub eax, ecx
cdqe
movzx ecx, byte [rsp + rax + 0x100]
jmp 0x1800367d6
xor ecx, ecx
lea eax, [rcx + rcx]
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor ecx, eax
mov edx, ecx
xor edx, 0x6300
sar edx, 8
xor edx, ecx
mov byte [r10 + r11 + 0xf12e0], dl
mov byte [r11 + r10*4 + 0xf2101], dl
mov byte [r11 + r10*4 + 0xf2100], dl
mov byte [r11 + r10*4 + 0xf1d03], dl
mov byte [r11 + r10*4 + 0xf1d00], dl
mov byte [r11 + r10*4 + 0xf1903], dl
mov byte [r11 + r10*4 + 0xf1902], dl
mov byte [r11 + r10*4 + 0xf1502], dl
mov byte [r11 + r10*4 + 0xf1501], dl
test dl, dl
je 0x180036851
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x180036853
xor eax, eax
mov byte [r11 + r10*4 + 0xf2103], al
mov byte [r11 + r10*4 + 0xf1d02], al
mov byte [r11 + r10*4 + 0xf1901], al
mov byte [r11 + r10*4 + 0xf1500], al
test dl, dl
je 0x180036888
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x101]
jmp 0x18003688a
xor eax, eax
mov byte [r11 + r10*4 + 0xf2102], al
mov byte [r11 + r10*4 + 0xf1d01], al
mov byte [r11 + r10*4 + 0xf1900], al
mov byte [r11 + r10*4 + 0xf1503], al
movzx r8d, r9b
lea eax, [r8*8]
xor eax, r8d
shl eax, 2
xor eax, r8d
add eax, eax
mov ecx, eax
sar ecx, 8
xor cl, al
cmp cl, 5
je 0x18003690a
lea edx, [r8*8]
xor edx, r8d
shl edx, 2
xor edx, r8d
add edx, edx
mov eax, edx
sar eax, 8
movzx ecx, al
movzx eax, dl
xor rcx, rax
xor rcx, 5
movzx eax, byte [rsp + rcx]
mov ecx, 0xff
sub ecx, eax
movsxd rax, ecx
movzx edx, byte [rsp + rax + 0x100]
jmp 0x18003690c
xor dl, dl
mov byte [r10 + r11 + 0xf13e0], dl
test dl, dl
je 0x180036929
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x168]
jmp 0x18003692b
xor eax, eax
movzx r8d, dl
mov byte [r11 + r10*4 + 0xf3102], al
mov byte [r11 + r10*4 + 0xf2d01], al
mov byte [r11 + r10*4 + 0xf2900], al
mov byte [r11 + r8*4 + 0xf4102], al
mov byte [r11 + r8*4 + 0xf3d01], al
mov byte [r11 + r8*4 + 0xf3900], al
mov byte [r11 + r8*4 + 0xf3503], al
mov byte [r11 + r10*4 + 0xf2503], al
test dl, dl
je 0x180036982
movzx eax, byte [rsp + r8]
movzx ecx, byte [rsp + rax + 0x1c7]
jmp 0x180036984
xor ecx, ecx
mov byte [r11 + r10*4 + 0xf3100], cl
mov byte [r11 + r10*4 + 0xf2d03], cl
mov byte [r11 + r10*4 + 0xf2902], cl
mov byte [r11 + r10*4 + 0xf2501], cl
mov byte [r11 + r8*4 + 0xf4100], cl
mov byte [r11 + r8*4 + 0xf3d03], cl
mov byte [r11 + r8*4 + 0xf3902], cl
mov byte [r11 + r8*4 + 0xf3501], cl
test dl, dl
je 0x1800369d7
movzx eax, byte [rsp + r8]
movzx ecx, byte [rsp + rax + 0x1ee]
jmp 0x1800369d9
xor ecx, ecx
mov byte [r11 + r10*4 + 0xf3101], cl
mov byte [r11 + r10*4 + 0xf2d00], cl
mov byte [r11 + r10*4 + 0xf2903], cl
mov byte [r11 + r10*4 + 0xf2502], cl
mov byte [r11 + r8*4 + 0xf4101], cl
mov byte [r11 + r8*4 + 0xf3d00], cl
mov byte [r11 + r8*4 + 0xf3903], cl
mov byte [r11 + r8*4 + 0xf3502], cl
test dl, dl
je 0x180036a2c
movzx eax, byte [rsp + r8]
movzx ecx, byte [rsp + rax + 0x1df]
jmp 0x180036a2e
xor ecx, ecx
mov byte [r11 + r10*4 + 0xf3103], cl
inc r9d
mov byte [r11 + r10*4 + 0xf2d02], cl
mov byte [r11 + r10*4 + 0xf2901], cl
mov byte [r11 + r10*4 + 0xf2500], cl
inc r10
mov byte [r11 + r8*4 + 0xf4103], cl
mov byte [r11 + r8*4 + 0xf3d02], cl
mov byte [r11 + r8*4 + 0xf3901], cl
mov byte [r11 + r8*4 + 0xf3500], cl
cmp r9d, 0x100
jl 0x1800367b4
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.180072920
add rsp, 0x318
ret