Function at 0x398f20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov qword [rsp + 0x50], rcx
mov eax, dword [rdx]
mov dword [rsp + 0xc], eax
mov eax, dword [rdx + 4]
mov dword [rsp + 0x10], eax
mov eax, dword [rdx + 8]
mov dword [rsp + 0x14], eax
mov r12d, dword [rdx + 0xc]
mov r13d, dword [rdx + 0x10]
mov r14d, dword [rdx + 0x14]
mov r15d, dword [rdx + 0x18]
mov r10d, dword [rdx + 0x1c]
mov edi, dword [rdx + 0x20]
mov r11d, dword [rdx + 0x24]
mov ebx, dword [rdx + 0x28]
mov ebp, dword [rdx + 0x2c]
mov ecx, dword [rdx + 0x30]
mov eax, dword [rdx + 0x34]
mov r9d, dword [rdx + 0x38]
mov r8d, dword [rdx + 0x3c]
mov dword [rsp + 0x4c], 0xfffffff8
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x44], r9d
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x3c], ecx
mov edx, ecx
mov dword [rsp + 0x38], ebp
mov dword [rsp + 8], ebp
mov dword [rsp + 0x34], ebx
mov dword [rsp], ebx
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x2c], edi
mov ebp, edi
mov dword [rsp + 0x28], r10d
mov edi, r10d
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x20], r14d
mov ebx, r14d
mov dword [rsp + 0x1c], r13d
mov dword [rsp + 0x18], r12d
mov r14d, r12d
mov r12d, dword [rsp + 0x14]
mov r10d, dword [rsp + 0x10]
mov ecx, dword [rsp + 0xc]
nop
add ecx, r13d
xor edx, ecx
rol edx, 0x10
add ebp, edx
xor r13d, ebp
rol r13d, 0xc
add ecx, r13d
xor edx, ecx
rol edx, 8
add ebp, edx
xor r13d, ebp
rol r13d, 7
add r10d, ebx
xor eax, r10d
rol eax, 0x10
add r11d, eax
xor ebx, r11d
rol ebx, 0xc
add r10d, ebx
xor eax, r10d
rol eax, 8
add r11d, eax
mov dword [rsp + 4], r11d
xor ebx, r11d
rol ebx, 7
add r12d, r15d
xor r9d, r12d
rol r9d, 0x10
mov esi, dword [rsp]
add esi, r9d
xor r15d, esi
rol r15d, 0xc
add r12d, r15d
xor r9d, r12d
rol r9d, 8
add esi, r9d
xor r15d, esi
rol r15d, 7
add r14d, edi
xor r8d, r14d
rol r8d, 0x10
mov r11d, dword [rsp + 8]
add r11d, r8d
xor edi, r11d
rol edi, 0xc
add r14d, edi
xor r8d, r14d
rol r8d, 8
add r11d, r8d
xor edi, r11d
rol edi, 7
add ecx, ebx
xor r8d, ecx
rol r8d, 0x10
add esi, r8d
xor ebx, esi
rol ebx, 0xc
add ecx, ebx
xor r8d, ecx
rol r8d, 8
add esi, r8d
mov dword [rsp], esi
xor ebx, esi
rol ebx, 7
add r10d, r15d
xor edx, r10d
rol edx, 0x10
add r11d, edx
xor r15d, r11d
rol r15d, 0xc
add r10d, r15d
xor edx, r10d
rol edx, 8
add r11d, edx
mov dword [rsp + 8], r11d
xor r15d, r11d
rol r15d, 7
add r12d, edi
xor eax, r12d
rol eax, 0x10
add ebp, eax
xor edi, ebp
rol edi, 0xc
add r12d, edi
xor eax, r12d
rol eax, 8
add ebp, eax
xor edi, ebp
rol edi, 7
add r14d, r13d
xor r9d, r14d
rol r9d, 0x10
mov esi, dword [rsp + 4]
add esi, r9d
xor r13d, esi
rol r13d, 0xc
add r14d, r13d
xor r9d, r14d
rol r9d, 8
add esi, r9d
mov r11d, esi
xor r13d, esi
rol r13d, 7
add dword [rsp + 0x4c], 2
jne 0x398fe0
add ecx, dword [rsp + 0xc]
add r10d, dword [rsp + 0x10]
add r12d, dword [rsp + 0x14]
add r14d, dword [rsp + 0x18]
add r13d, dword [rsp + 0x1c]
add ebx, dword [rsp + 0x20]
add r15d, dword [rsp + 0x24]
add edi, dword [rsp + 0x28]
add ebp, dword [rsp + 0x2c]
add r11d, dword [rsp + 0x30]
mov dword [rsp + 4], r11d
mov esi, dword [rsp]
add esi, dword [rsp + 0x34]
mov dword [rsp], esi
mov esi, dword [rsp + 8]
add esi, dword [rsp + 0x38]
add edx, dword [rsp + 0x3c]
add eax, dword [rsp + 0x40]
add r9d, dword [rsp + 0x44]
add r8d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dword [r11], ecx
mov dword [r11 + 4], r10d
mov dword [r11 + 8], r12d
mov dword [r11 + 0xc], r14d
mov dword [r11 + 0x10], r13d
mov dword [r11 + 0x14], ebx
mov dword [r11 + 0x18], r15d
mov dword [r11 + 0x1c], edi
mov dword [r11 + 0x20], ebp
mov ecx, dword [rsp + 4]
mov dword [r11 + 0x24], ecx
mov ecx, dword [rsp]
mov dword [r11 + 0x28], ecx
mov dword [r11 + 0x2c], esi
mov dword [r11 + 0x30], edx
mov dword [r11 + 0x34], eax
mov dword [r11 + 0x38], r9d
mov dword [r11 + 0x3c], r8d
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret