Function at 0x2101b47d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov eax, dword [rcx]
mov ebx, dword [rcx + 0x34]
mov dword [rsp + 0x24], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0x1c], ebx
mov ebx, dword [rcx + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 8]
mov qword [rsp + 0xf0], rcx
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0xc]
mov qword [rsp + 0x100], r8
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0x5c], eax
mov ebx, dword [rcx + 0x3c]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x18], 0x400
nop
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x14], 0xa
mov r14d, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x4c]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x1c]
mov edi, dword [rsp + 0x38]
mov dword [rsp + 8], eax
mov esi, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x20]
mov ebp, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x24]
nop dword [rax + rax]
add r13d, ebp
add esi, edi
add ebx, r8d
xor ecx, r13d
xor edx, esi
xor eax, ebx
rol ecx, 0x10
rol edx, 0x10
add r11d, ecx
add r9d, edx
rol eax, 0x10
xor ebp, r11d
xor edi, r9d
add r12d, eax
rol ebp, 0xc
rol edi, 0xc
xor r8d, r12d
add r13d, ebp
add esi, edi
rol r8d, 0xc
xor ecx, r13d
xor edx, esi
add ebx, r8d
rol ecx, 8
rol edx, 8
xor eax, ebx
add r11d, ecx
add r9d, edx
xor ebp, r11d
xor edi, r9d
mov dword [rsp + 0xc], r9d
rol ebp, 7
rol edi, 7
mov dword [rsp + 8], r11d
rol eax, 8
add r10d, r15d
add r13d, edi
xor r14d, r10d
add r12d, eax
mov r9d, r14d
mov r14d, dword [rsp + 0x10]
xor r8d, r12d
rol r9d, 0x10
rol r8d, 7
add r14d, r9d
add esi, r8d
xor r15d, r14d
mov r11d, r14d
xor ecx, esi
rol r15d, 0xc
rol ecx, 0x10
add r10d, r15d
xor r9d, r10d
rol r9d, 8
add r11d, r9d
xor r9d, r13d
rol r9d, 0x10
xor r15d, r11d
add r11d, ecx
add r12d, r9d
rol r15d, 7
xor edi, r12d
rol edi, 0xc
add r13d, edi
xor r9d, r13d
mov r14d, r9d
mov r9d, dword [rsp + 0xc]
rol r14d, 8
add r12d, r14d
xor edi, r12d
rol edi, 7
xor r8d, r11d
add ebx, r15d
add r10d, ebp
rol r8d, 0xc
xor edx, ebx
xor eax, r10d
rol edx, 0x10
add esi, r8d
rol eax, 0x10
xor ecx, esi
add r9d, eax
rol ecx, 8
xor ebp, r9d
add r11d, ecx
rol ebp, 0xc
xor r8d, r11d
mov dword [rsp + 0x10], r11d
mov r11d, dword [rsp + 8]
add r10d, ebp
xor eax, r10d
rol r8d, 7
add r11d, edx
rol eax, 8
xor r15d, r11d
add r9d, eax
rol r15d, 0xc
xor ebp, r9d
add ebx, r15d
rol ebp, 7
xor edx, ebx
rol edx, 8
add r11d, edx
xor r15d, r11d
rol r15d, 7
sub dword [rsp + 0x14], 1
jne 0x2101b48d0
add r8d, dword [rsp + 0x3c]
add r10d, dword [rsp + 0x30]
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x100]
add r13d, dword [rsp + 0x24]
add esi, dword [rsp + 0x28]
add ebx, dword [rsp + 0x2c]
add ebp, dword [rsp + 0x34]
add edi, dword [rsp + 0x38]
mov dword [rax + 0x18], r8d
mov r8d, dword [rsp + 0x10]
add r8d, dword [rsp + 0x50]
mov dword [rax + 0xc], r10d
mov r10d, r8d
mov r8d, dword [rsp + 0x20]
add r15d, dword [rsp + 0x40]
mov dword [rax], r13d
add r11d, dword [rsp + 0x44]
mov r13, rax
add r9d, dword [rsp + 0x48]
mov dword [rax + 4], esi
add ecx, r8d
add r8d, 1
mov dword [rax + 8], ebx
add edx, dword [rsp + 0x1c]
add r12d, dword [rsp + 0x4c]
add r14d, dword [rsp + 0x58]
mov dword [rsp + 0x20], r8d
mov eax, dword [rsp + 8]
mov dword [r13 + 0x10], ebp
add eax, dword [rsp + 0x54]
mov dword [r13 + 0x14], edi
cmp r8d, 1
mov dword [r13 + 0x1c], r15d
adc dword [rsp + 0x1c], 0
mov dword [r13 + 0x20], r11d
mov dword [r13 + 0x24], r9d
cmp dword [rsp + 0x18], 0x40
mov dword [r13 + 0x28], r12d
mov dword [r13 + 0x2c], r10d
mov dword [r13 + 0x30], ecx
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], eax
mov dword [r13 + 0x3c], r14d
je 0x2101b4b12
sub dword [rsp + 0x18], 0x40
mov ebx, dword [rsp + 0x18]
lea rax, [rsp + 0x60]
add qword [rsp + 0x100], 0x40
cmp ebx, 0x40
cmovae rax, qword [rsp + 0x100]
mov qword [rsp + 0x100], rax
jmp 0x2101b4870
mov eax, dword [rsp + 0x5c]
mov rsi, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0x1c]
add eax, 0x10
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], ebx
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret