Function at 0x14003f920
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x1400d41c0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rax, rcx
mov qword [rsp + 0x38], rcx
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x18], ecx
mov dword [rsp + 4], ecx
mov ecx, dword [rax + 0xc]
mov dword [rsp + 0x1c], ecx
mov dword [rsp], ecx
mov ecx, dword [rax + 0x10]
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x14], ecx
mov ecx, dword [rax + 0x14]
mov r15d, ecx
mov dword [rsp + 0x24], ecx
mov ecx, dword [rax + 0x18]
mov r13d, ecx
mov dword [rsp + 0x28], ecx
mov ecx, dword [rax + 0x1c]
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 8], ecx
mov ecx, dword [rax + 0x20]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0xc], ecx
movzx ecx, byte [rdx]
shl ecx, 8
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x10], eax
movzx eax, byte [rdx + 1]
or ecx, eax
movzx eax, byte [rdx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 5]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 9]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xd]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x11]
mov dword [rsp + 0x4c], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x13]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x50], ecx
movzx eax, byte [rdx + 0x15]
movzx ecx, byte [rdx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x19]
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x5c], ecx
movzx ecx, byte [rdx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x22]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x60], ecx
movzx ecx, byte [rdx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x64], ecx
movzx ecx, byte [rdx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x68], ecx
movzx ecx, byte [rdx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x6c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x32]
mov ebp, 6
movzx r12d, byte [rdx + 0x38]
shl ecx, 8
or ecx, eax
shl r12d, 8
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x70], ecx
movzx ecx, byte [rdx + 0x34]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x36]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x39]
or r12d, eax
mov dword [rsp + 0x74], ecx
movzx eax, byte [rdx + 0x3a]
movzx ecx, byte [rdx + 0x3c]
shl ecx, 8
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 0x3b]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 0x3d]
or ecx, eax
mov dword [rsp + 0x78], r12d
movzx eax, byte [rdx + 0x3e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3f]
shl ecx, 8
or ecx, eax
lea rax, [rsp + 0x78]
mov dword [rsp + 0x7c], ecx
nop
mov r9d, dword [rax - 0x34]
mov edx, r12d
mov r11d, dword [rax - 0x30]
mov r14d, r9d
mov esi, dword [rax + 4]
mov ecx, r9d
mov r10d, dword [rax - 0x2c]
mov r8d, esi
mov ebx, dword [rax - 0x28]
ror ecx, 7
ror edx, 0x13
ror r8d, 0x13
ror r14d, 0x12
xor r14d, ecx
mov ecx, r9d
shr ecx, 3
xor r14d, ecx
mov ecx, r12d
ror ecx, 0x11
xor edx, ecx
mov ecx, r12d
shr ecx, 0xa
xor edx, ecx
mov ecx, esi
ror ecx, 0x11
add r14d, edx
add r14d, dword [rax - 0x38]
xor r8d, ecx
add r14d, dword [rax - 0x14]
mov edx, r11d
ror edx, 0x12
mov ecx, esi
shr ecx, 0xa
xor r8d, ecx
mov dword [rax + 8], r14d
mov ecx, r11d
ror ecx, 7
xor edx, ecx
mov ecx, r11d
shr ecx, 3
xor edx, ecx
mov ecx, r14d
add r8d, edx
ror ecx, 0x11
add r8d, dword [rax - 0x10]
mov edx, r10d
add r9d, r8d
ror edx, 0x12
mov edi, r9d
mov dword [rax + 0xc], r9d
ror edi, 0x13
mov r8d, r14d
ror r8d, 0x13
xor r8d, ecx
mov ecx, r14d
shr ecx, 0xa
xor r8d, ecx
mov ecx, r10d
ror ecx, 7
xor edx, ecx
mov ecx, r10d
shr ecx, 3
xor edx, ecx
mov ecx, r9d
ror ecx, 0x11
add r8d, edx
add r8d, dword [rax - 0xc]
xor edi, ecx
shr r9d, 0xa
add r11d, r8d
mov ecx, ebx
mov dword [rax + 0x10], r11d
ror ecx, 7
mov edx, ebx
ror edx, 0x12
xor edi, r9d
xor edx, ecx
mov ecx, ebx
shr ecx, 3
xor edx, ecx
add edi, edx
mov r9d, dword [rax - 0x20]
mov edx, r11d
add edi, dword [rax - 8]
ror edx, 0x13
add edi, r10d
mov r10d, dword [rax - 0x24]
mov r8d, r10d
ror r8d, 0x12
mov ecx, r10d
ror ecx, 7
xor r8d, ecx
mov dword [rax + 0x14], edi
mov ecx, r10d
shr ecx, 3
xor r8d, ecx
mov ecx, r11d
ror ecx, 0x11
xor edx, ecx
shr r11d, 0xa
xor edx, r11d
mov ecx, r9d
add r8d, edx
ror ecx, 7
add r8d, dword [rax - 4]
mov r11d, edi
add ebx, r8d
ror r11d, 0x13
mov r8d, r9d
mov dword [rax + 0x18], ebx
ror r8d, 0x12
xor r8d, ecx
mov ecx, r9d
shr ecx, 3
xor r8d, ecx
mov ecx, edi
ror ecx, 0x11
xor r11d, ecx
shr edi, 0xa
xor r11d, edi
mov edi, dword [rax - 0x1c]
lea ecx, [r10 + r8]
mov r8d, edi
add r11d, ecx
ror r8d, 0x12
add r11d, r12d
mov ecx, edi
ror ecx, 7
mov r12d, ebx
xor r8d, ecx
ror r12d, 0x13
mov ecx, edi
mov dword [rax + 0x1c], r11d
shr ecx, 3
xor r8d, ecx
mov ecx, ebx
ror ecx, 0x11
xor r12d, ecx
shr ebx, 0xa
xor r12d, ebx
lea ecx, [r9 + r8]
mov r9d, dword [rax - 0x18]
add r12d, ecx
mov r8d, r11d
ror r8d, 0x13
mov ecx, r11d
ror ecx, 0x11
mov edx, r9d
xor r8d, ecx
ror edx, 0x12
shr r11d, 0xa
mov ecx, r9d
ror ecx, 7
xor r8d, r11d
xor edx, ecx
shr r9d, 3
xor edx, r9d
add r12d, esi
mov dword [rax + 0x20], r12d
lea ecx, [r14 + r8]
add edx, ecx
add edx, edi
mov dword [rax + 0x24], edx
lea rax, [rax + 0x20]
sub rbp, 1
jne 0x14003fbf0
mov r12d, dword [rsp]
lea r14, [0x1400af0a0]
mov ebp, dword [rsp + 4]
xor r11d, r11d
mov ebx, dword [rsp + 8]
mov edi, dword [rsp + 0xc]
mov esi, dword [rsp + 0x10]
mov r8d, dword [rsp + 0x14]
nop dword [rax]
nop word [rax + rax]
mov edx, r13d
mov eax, r13d
ror eax, 0xb
mov ecx, ebp
ror edx, 0x19
mov r9d, ebp
xor edx, eax
ror ecx, 0x16
mov eax, r13d
ror eax, 6
xor edx, eax
mov eax, ebx
xor eax, edi
and eax, r13d
xor eax, edi
add edx, eax
mov eax, ebp
add edx, dword [r11 + r14]
add edx, dword [rsp + r11 + 0x40]
ror eax, 0xd
add edx, esi
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, r12d
and eax, ebp
lea esi, [r15 + rdx]
mov r15d, r12d
or r15d, ebp
and r15d, r8d
or r15d, eax
lea eax, [rdx + rcx]
add r15d, eax
mov edx, esi
ror edx, 0x19
mov eax, esi
ror eax, 0xb
mov ecx, r15d
xor edx, eax
ror ecx, 0x16
mov eax, esi
mov r10d, r15d
ror eax, 6
or r10d, ebp
xor edx, eax
and r10d, r12d
mov eax, ebx
xor eax, r13d
and eax, esi
xor eax, ebx
add edx, eax
mov eax, r15d
add edx, dword [r11 + r14 + 4]
add edx, dword [rsp + r11 + 0x44]
ror eax, 0xd
add edx, edi
xor ecx, eax
mov eax, r15d
ror eax, 2
xor ecx, eax
mov eax, r15d
and eax, ebp
lea edi, [r8 + rdx]
or r10d, eax
mov r8d, edi
ror r8d, 0x19
lea eax, [rdx + rcx]
add r10d, eax
mov eax, edi
ror eax, 0xb
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, esi
xor eax, r13d
and eax, edi
xor eax, r13d
add r8d, eax
add r8d, dword [r11 + r14 + 8]
add r8d, dword [rsp + r11 + 0x48]
mov edx, r10d
add r8d, ebx
ror edx, 0x16
mov eax, r10d
ror eax, 0xd
xor edx, eax
mov eax, r10d
ror eax, 2
lea ebx, [r12 + r8]
xor edx, eax
mov r12d, r10d
or r12d, r15d
mov eax, r10d
and eax, r15d
and r12d, ebp
or r12d, eax
lea eax, [r8 + rdx]
mov r8d, ebx
add r12d, eax
ror r8d, 0x19
mov eax, ebx
mov edx, r12d
ror eax, 0xb
mov ebp, r12d
xor r8d, eax
ror edx, 0x16
or ebp, r10d
mov eax, ebx
ror eax, 6
and ebp, r15d
xor r8d, eax
mov eax, edi
xor eax, esi
and eax, ebx
xor eax, esi
add r8d, eax
mov eax, r12d
add r8d, dword [r11 + r14 + 0xc]
add r8d, dword [rsp + r11 + 0x4c]
add r11, 0x10
ror eax, 0xd
add r8d, r13d
xor edx, eax
mov eax, r12d
ror eax, 2
xor edx, eax
mov eax, r12d
and eax, r10d
lea r13d, [r9 + r8]
or ebp, eax
lea eax, [r8 + rdx]
mov r8d, r10d
add ebp, eax
cmp r11, 0x100
jl 0x14003fe20
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x18]
add eax, ebp
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x1c]
add eax, r12d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x20]
add eax, r10d
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x24]
add eax, r15d
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x28]
add eax, r13d
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x2c]
add eax, ebx
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x30]
add eax, edi
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x34]
add eax, esi
mov dword [rcx + 0x24], eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140073fb0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret