Function at 0x18003d040
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x1802ac070]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rbx, rcx
mov rax, qword [0x1802ad518]
cmp rax, 0x402402
jne 0x18003d15b
mov eax, dword [0x1802ad510]
movabs rcx, 0xf059c3f3278ce00a
mov qword [rsp + 0x50], rcx
movabs rcx, 0x22d1133eadf525bf
mov qword [rsp + 0x58], rcx
movabs r8, 0x952faa8744cd8c69
mov qword [r11 - 0x48], r8
movabs rdx, 0x22d1133ec09051f6
mov qword [r11 - 0x40], rdx
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [r11 - 0x48]
movdqa xmmword [rsp + 0x50], xmm0
movabs rcx, 0xec4ec6d721beed2b
mov qword [rsp + 0x60], rcx
movabs rcx, 0x22d1133ec0902393
mov qword [rsp + 0x68], rcx
mov qword [r11 - 0x38], r8
mov qword [r11 - 0x30], rdx
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [r11 - 0x38]
movdqa xmmword [rsp + 0x60], xmm0
movabs rcx, 0xec43c8ea21beff28
mov qword [rsp + 0x70], rcx
movabs rcx, 0x22a1615fa8c312db
mov qword [rsp + 0x78], rcx
mov qword [r11 - 0x28], r8
mov qword [r11 - 0x20], rdx
movdqa xmm0, xmmword [rsp + 0x70]
pxor xmm0, xmmword [r11 - 0x28]
movdqa xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x60]
lea rdx, [0x1801dc24a]
lea rcx, [rsp + 0x70]
call fcn.18018f9f0
mov qword [0x1802ad518], rax
mov rdx, qword [rbx]
xor r8d, r8d
cmp byte [0x1802debc8], r8b
je 0x18003d34a
mov ecx, dword [0x1802decf0]
cmp ecx, 0x3e66f
jne 0x18003d200
mov rcx, qword [rdx + rax]
mov qword [rsp + 0x90], rcx
test rcx, rcx
jne 0x18003d198
xor eax, eax
jmp 0x18003d351
mov dword [rsp + 0x98], ecx
lea r8, [rsp + 0x98]
mov qword [rsp + 0x80], r8
mov edx, 2
mov dword [rsp + 0x30], edx
mov eax, dword [r8]
add r8, 4
mov qword [rsp + 0x80], r8
mov ecx, eax
shl ecx, 0x1f
add ecx, 0x80000000
add eax, 0x3ea11ff
shr eax, 1
or ecx, eax
sub ecx, 0x49842854
xor ecx, 0xe6981334
mov dword [r8 - 4], ecx
sub edx, 1
mov dword [rsp + 0x30], edx
jne 0x18003d1b8
mov eax, dword [rsp + 0x98]
jmp 0x18003d351
cmp ecx, 0x9f9
jne 0x18003d261
mov rcx, qword [rdx + rax]
test rcx, rcx
jne 0x18003d218
xor eax, eax
jmp 0x18003d351
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x34], r8d
cmp r8d, 8
jge 0x18003d25a
movsxd rdx, r8d
mov al, byte [rsp + rdx + 0xa0]
sub al, 0x50
movzx ecx, al
xor ecx, 0x78
mov eax, ecx
shr eax, 1
shl cl, 7
or al, cl
mov byte [rsp + rdx + 0xa0], al
inc r8d
mov rcx, qword [rsp + 0xa0]
jmp 0x18003d220
mov eax, ecx
jmp 0x18003d351
movsxd r9, dword [rdx + rax]
test r9d, r9d
jne 0x18003d271
xor eax, eax
jmp 0x18003d351
mov r10, r9
mov qword [rsp + 0xb0], r9
cmp ecx, 0x9fb
jne 0x18003d2eb
mov qword [rsp + 0xa8], r9
lea r8, [rsp + 0xa8]
mov qword [rsp + 0x88], r8
mov edx, 2
mov dword [rsp + 0x38], edx
mov eax, dword [r8]
add r8, 4
mov qword [rsp + 0x88], r8
mov ecx, eax
shl ecx, 0x1f
add ecx, 0x80000000
add eax, 0x3ea11ff
shr eax, 1
or ecx, eax
sub ecx, 0x49842854
xor ecx, 0xe6981334
mov dword [r8 - 4], ecx
sub edx, 1
mov dword [rsp + 0x38], edx
jne 0x18003d2a5
mov r8, qword [rsp + 0xa8]
jmp 0x18003d340
cmp ecx, 0x9f8
jne 0x18003d340
mov dword [rsp + 0x3c], r8d
mov r9d, r8d
mov dword [rsp + 0x40], r8d
cmp r9d, 4
jge 0x18003d33d
lea ecx, [r9*8]
mov rax, r10
shr rax, cl
mov dl, al
xor dl, 0x3d
shl dl, 4
xor al, 0x30
shr al, 4
or dl, al
xor dl, 0xd0
movzx eax, dl
shl eax, cl
or r8d, eax
mov dword [rsp + 0x3c], r8d
inc r9d
mov dword [rsp + 0x40], r9d
jmp 0x18003d300
mov r8d, r8d
mov qword [rsp + 0x48], r8
mov eax, r8d
jmp 0x18003d351
mov eax, dword [rdx + rax]
jmp 0x18003d351
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.180195e30
add rsp, 0x100
pop rbx
ret