Function at 0x1400b3a28
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
cmp dword [rcx + 0x174], 0
mov esi, r9d
mov r14d, r8d
mov ebp, edx
mov rdi, rcx
je 0x1400b3a62
mov eax, dword [rcx + 0xf8]
sub eax, r8d
dec eax
jmp 0x1400b3a65
mov eax, r14d
imul eax, dword [rdi + 0x158]
mov ecx, dword [rcx + 0x160]
movsxd rbx, eax
mov eax, ecx
imul eax, ebp
cdqe
add rbx, rax
add rbx, qword [rdi + 0x150]
cmp dword [rdi + 0x16c], 0
jne 0x1400b3f13
cmp dword [rdi + 0x170], 0
jne 0x1400b3f13
mov eax, dword [rdi + 0x164]
test al, 2
je 0x1400b3ae1
test r9d, r9d
je 0x1400b3f39
mov al, byte [rdi + 0x180]
xor byte [rbx + 2], al
mov al, byte [rdi + 0x184]
xor byte [rbx + 1], al
mov al, byte [rdi + 0x188]
xor byte [rbx], al
movsxd rax, dword [rdi + 0x160]
add rbx, rax
sub esi, 1
jne 0x1400b3ab3
jmp 0x1400b3f39
bt eax, 8
jae 0x1400b3b21
test r9d, r9d
je 0x1400b3f39
mov al, byte [rdi + 0x180]
mov byte [rbx + 2], al
mov al, byte [rdi + 0x184]
mov byte [rbx + 1], al
mov al, byte [rdi + 0x188]
mov byte [rbx], al
lea rbx, [rbx + 4]
mov al, byte [rdi + 0x18c]
mov byte [rbx - 1], al
sub esi, 1
jne 0x1400b3af0
jmp 0x1400b3f39
test al, 8
je 0x1400b3b51
cmp ecx, 4
jne 0x1400b3f39
test r9d, r9d
je 0x1400b3f39
add rbx, 3
mov al, byte [rdi + 0x18c]
mov byte [rbx], al
lea rbx, [rbx + 4]
sub esi, 1
jne 0x1400b3b3b
jmp 0x1400b3f39
test al, 0x10
je 0x1400b3d30
test r9d, r9d
je 0x1400b3f39
mov r11d, 0x80808081
cmp ecx, 4
jne 0x1400b3cb5
mov ebp, dword [rdi + 0x18c]
lea r10, [rbx + 2]
movzx r9d, byte [rbx + 3]
test ebp, ebp
jne 0x1400b3b8a
movzx eax, byte [r10]
jmp 0x1400b3bca
test r9d, r9d
jne 0x1400b3b9a
mov eax, dword [rdi + 0x180]
cdq
idiv ebp
jmp 0x1400b3bca
imul ecx, dword [rdi + 0x180], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [r10]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, ebp, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [r10], al
mov r10d, dword [rdi + 0x18c]
test r10d, r10d
jne 0x1400b3bdf
movzx eax, byte [rbx + 1]
jmp 0x1400b3c21
test r9d, r9d
jne 0x1400b3bf0
mov eax, dword [rdi + 0x184]
cdq
idiv r10d
jmp 0x1400b3c21
imul ecx, dword [rdi + 0x184], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [rbx + 1]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, r10d, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [rbx + 1], al
mov r10d, dword [rdi + 0x18c]
test r10d, r10d
jne 0x1400b3c35
movzx eax, byte [rbx]
jmp 0x1400b3c76
test r9d, r9d
jne 0x1400b3c46
mov eax, dword [rdi + 0x188]
cdq
idiv r10d
jmp 0x1400b3c76
imul ecx, dword [rdi + 0x188], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [rbx]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, r10d, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [rbx], al
imul eax, dword [rdi + 0x18c], 0xff
imul r9d, dword [rdi + 0x190]
add r9d, eax
mov eax, r11d
imul r9d
add edx, r9d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rbx + 3], dl
add rbx, 4
sub esi, 1
jne 0x1400b3b71
jmp 0x1400b3f39
movzx ecx, byte [rbx + 2]
mov eax, r11d
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x180]
imul ecx
add edx, ecx
movzx ecx, byte [rbx + 1]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
mov byte [rbx + 2], dl
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x184]
imul ecx
add edx, ecx
movzx ecx, byte [rbx]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
mov byte [rbx + 1], dl
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x188]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rbx], dl
lea rbx, [rbx + 3]
sub esi, 1
jne 0x1400b3cb5
jmp 0x1400b3f39
and eax, 0x20
test r9d, r9d
je 0x1400b3f39
test eax, eax
je 0x1400b3ee8
cmp ecx, 4
jne 0x1400b3e6a
mov r11d, dword [rdi + 0x18c]
lea r10, [rbx + 2]
movzx r9d, byte [rbx + 3]
test r11d, r11d
jne 0x1400b3d68
movzx eax, byte [r10]
jmp 0x1400b3daa
test r9d, r9d
jne 0x1400b3d79
mov eax, dword [rdi + 0x180]
cdq
idiv r11d
jmp 0x1400b3daa
imul ecx, dword [rdi + 0x180], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [r10]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, r11d, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [r10], al
mov r10d, dword [rdi + 0x18c]
test r10d, r10d
jne 0x1400b3dbf
movzx eax, byte [rbx + 1]
jmp 0x1400b3e01
test r9d, r9d
jne 0x1400b3dd0
mov eax, dword [rdi + 0x184]
cdq
idiv r10d
jmp 0x1400b3e01
imul ecx, dword [rdi + 0x184], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [rbx + 1]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, r10d, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [rbx + 1], al
mov r10d, dword [rdi + 0x18c]
test r10d, r10d
jne 0x1400b3e15
movzx eax, byte [rbx]
jmp 0x1400b3e56
test r9d, r9d
jne 0x1400b3e26
mov eax, dword [rdi + 0x188]
cdq
idiv r10d
jmp 0x1400b3e56
imul ecx, dword [rdi + 0x188], 0xff
mov r8d, dword [rdi + 0x190]
movzx eax, byte [rbx]
imul eax, r8d
imul r8d, r9d
imul eax, r9d
add eax, ecx
imul ecx, r10d, 0xff
cdq
add r8d, ecx
idiv r8d
mov byte [rbx], al
add rbx, 4
sub esi, 1
jne 0x1400b3d4d
jmp 0x1400b3f39
mov r11d, 0x80808081
movzx ecx, byte [rbx + 2]
mov eax, r11d
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x180]
imul ecx
add edx, ecx
movzx ecx, byte [rbx + 1]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
mov byte [rbx + 2], dl
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x184]
imul ecx
add edx, ecx
movzx ecx, byte [rbx]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
mov byte [rbx + 1], dl
imul ecx, dword [rdi + 0x190]
add ecx, dword [rdi + 0x188]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rbx], dl
lea rbx, [rbx + 3]
sub esi, 1
jne 0x1400b3e70
jmp 0x1400b3f39
mov al, byte [rdi + 0x180]
mov byte [rbx + 2], al
mov al, byte [rdi + 0x184]
mov byte [rbx + 1], al
mov al, byte [rdi + 0x188]
mov byte [rbx], al
movsxd rax, dword [rdi + 0x160]
add rbx, rax
sub esi, 1
jne 0x1400b3ee8
jmp 0x1400b3f39
test r9d, r9d
je 0x1400b3f39
mov r9, rbx
mov r8d, r14d
mov edx, ebp
mov rcx, rdi
call fcn.1400b3558
movsxd rax, dword [rdi + 0x160]
inc ebp
add rbx, rax
sub esi, 1
jne 0x1400b3f18
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret