Function at 0x1400038e6
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov eax, dword [rdx + 0xc]
mov ebx, dword [rdx]
mov r12d, dword [rdx + 4]
mov r13d, dword [rdx + 8]
lea rsi, [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx + 0x10]
mov r8, rcx
mov r11, rdx
mov rcx, rsi
mov edx, 0x10
mov rdi, rsi
mov dword [rsp + 0x2c], eax
call fcn.140002c93
lea rcx, [rsp + 0x130]
mov rdx, rsi
mov eax, dword [rdx + 0x34]
xor eax, dword [rdx + 0x20]
add rdx, 4
xor eax, dword [rdx + 4]
xor eax, dword [rdx - 4]
rol eax, 1
mov dword [rdx + 0x3c], eax
cmp rcx, rdx
jne 0x140003937
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
lea rbp, [rsi + 0x50]
mov r8, rsi
mov edx, r13d
mov r9d, r12d
mov r10d, ebx
mov r14d, dword [r8]
mov r15d, r10d
rol r15d, 5
lea r15d, [r15 + r14 + 0x5a827999]
mov r14d, edx
xor r14d, eax
and r14d, r9d
ror r9d, 2
xor r14d, eax
add r15d, r14d
mov r14d, r9d
add ecx, r15d
xor r14d, edx
mov r15d, dword [r8 + 4]
and r14d, r10d
ror r10d, 2
xor r14d, edx
lea eax, [rax + r15 + 0x5a827999]
mov r15d, dword [r8 + 8]
add r14d, eax
mov eax, ecx
rol eax, 5
lea edx, [rdx + r15 + 0x5a827999]
mov r15d, dword [r8 + 0xc]
add eax, r14d
mov r14d, r9d
xor r14d, r10d
and r14d, ecx
ror ecx, 2
xor r14d, r9d
lea r9d, [r9 + r15 + 0x5a827999]
mov r15d, dword [r8 + 0x10]
add r14d, edx
mov edx, eax
rol edx, 5
add edx, r14d
mov r14d, r10d
xor r14d, ecx
and r14d, eax
ror eax, 2
xor r14d, r10d
lea r10d, [r10 + r15 + 0x5a827999]
add r14d, r9d
mov r9d, edx
rol r9d, 5
add r9d, r14d
mov r14d, ecx
xor r14d, eax
and r14d, edx
xor r14d, ecx
add r14d, r10d
mov r10d, r9d
rol r10d, 5
add r8, 0x14
ror edx, 2
add r10d, r14d
cmp rbp, r8
jne 0x140003969
mov r8, rsi
mov r14d, r9d
mov r15d, r10d
ror r9d, 2
add r8, 0x14
xor r14d, edx
rol r15d, 5
xor r14d, eax
lea r14d, [r14 + r15 + 0x6ed9eba1]
add r14d, dword [r8 + 0x3c]
add ecx, r14d
mov r14d, r10d
ror r10d, 2
xor r14d, edx
xor r14d, r9d
lea r14d, [rax + r14 + 0x6ed9eba1]
mov eax, ecx
add r14d, dword [r8 + 0x40]
rol eax, 5
add eax, r14d
mov r14d, dword [r8 + 0x44]
lea edx, [rdx + r14 + 0x6ed9eba1]
mov r14d, r9d
xor r14d, r10d
xor r14d, ecx
ror ecx, 2
add r14d, edx
mov edx, eax
rol edx, 5
add edx, r14d
mov r14d, dword [r8 + 0x48]
lea r9d, [r9 + r14 + 0x6ed9eba1]
mov r14d, r10d
xor r14d, ecx
xor r14d, eax
ror eax, 2
add r14d, r9d
mov r9d, edx
rol r9d, 5
add r9d, r14d
mov r14d, dword [r8 + 0x4c]
lea r10d, [r10 + r14 + 0x6ed9eba1]
mov r14d, ecx
xor r14d, eax
xor r14d, edx
ror edx, 2
add r14d, r10d
mov r10d, r9d
rol r10d, 5
add r10d, r14d
cmp rbp, r8
jne 0x140003a3e
mov r8d, edx
mov r14d, edx
mov r15d, r10d
or r8d, eax
and r14d, eax
rol r15d, 5
and r8d, r9d
ror r9d, 2
or r8d, r14d
mov r14d, dword [rsi + 0xa0]
lea r14d, [r15 + r14 - 0x70e44324]
add r8d, r14d
mov r14d, r9d
add ecx, r8d
or r14d, edx
mov r8d, r9d
and r14d, r10d
and r8d, edx
ror r10d, 2
or r8d, r14d
mov r14d, dword [rsi + 0xa4]
lea eax, [rax + r14 - 0x70e44324]
mov r14d, r9d
add r8d, eax
mov eax, ecx
or r14d, r10d
rol eax, 5
and r14d, ecx
ror ecx, 2
add eax, r8d
mov r8d, r9d
and r8d, r10d
or r8d, r14d
mov r14d, dword [rsi + 0xa8]
lea edx, [rdx + r14 - 0x70e44324]
mov r14d, r10d
add r8d, edx
mov edx, eax
or r14d, ecx
rol edx, 5
and r14d, eax
ror eax, 2
add edx, r8d
mov r8d, r10d
and r8d, ecx
or r8d, r14d
mov r14d, dword [rsi + 0xac]
lea r9d, [r9 + r14 - 0x70e44324]
mov r14d, ecx
add r8d, r9d
mov r9d, edx
rol r9d, 5
add r9d, r8d
or r14d, eax
mov r8d, ecx
add rsi, 0x14
and r14d, edx
and r8d, eax
ror edx, 2
or r8d, r14d
mov r14d, dword [rsi + 0x9c]
lea r10d, [r10 + r14 - 0x70e44324]
add r8d, r10d
mov r10d, r9d
rol r10d, 5
add r10d, r8d
cmp rbp, rsi
jne 0x140003afc
mov r8d, r9d
mov esi, r10d
ror r9d, 2
add rdi, 0x14
xor r8d, edx
rol esi, 5
xor r8d, eax
lea r8d, [r8 + rsi - 0x359d3e2a]
add r8d, dword [rdi + 0xdc]
add ecx, r8d
mov r8d, r10d
ror r10d, 2
xor r8d, edx
xor r8d, r9d
lea r8d, [rax + r8 - 0x359d3e2a]
mov eax, ecx
add r8d, dword [rdi + 0xe0]
rol eax, 5
add eax, r8d
mov r8d, dword [rdi + 0xe4]
lea r8d, [rdx + r8 - 0x359d3e2a]
mov edx, r9d
xor edx, r10d
xor edx, ecx
ror ecx, 2
add r8d, edx
mov edx, eax
rol edx, 5
add edx, r8d
mov r8d, dword [rdi + 0xe8]
lea r8d, [r9 + r8 - 0x359d3e2a]
mov r9d, r10d
xor r9d, ecx
xor r9d, eax
ror eax, 2
add r8d, r9d
mov r9d, edx
rol r9d, 5
add r9d, r8d
mov r8d, dword [rdi + 0xec]
lea r8d, [r10 + r8 - 0x359d3e2a]
mov r10d, ecx
xor r10d, eax
xor r10d, edx
ror edx, 2
add r8d, r10d
mov r10d, r9d
rol r10d, 5
add r10d, r8d
cmp rbp, rdi
jne 0x140003bfc
add ebx, r10d
add r12d, r9d
add r13d, edx
mov dword [r11], ebx
mov ebx, dword [rsp + 0x28]
mov dword [r11 + 4], r12d
add ebx, eax
mov eax, dword [rsp + 0x2c]
mov dword [r11 + 8], r13d
mov dword [r11 + 0xc], ebx
add eax, ecx
mov dword [r11 + 0x10], eax
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret