Function at 0x180151370
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r13d, r13d
lea rbx, [0x18022c420]
xor r14d, r14d
mov ebp, 1
cmp dword [rsp + 0x90], r13d
mov rsi, r9
mov r12d, r8d
mov r15, rcx
setne r13b
add r13d, 3
lea edi, [rbp + 7]
imul r13d, edx
mov dword [rsp + 0x28], r13d
movsx ecx, byte [rbx]
mov rdx, r15
call fcn.18019276c
lea rbx, [rbx + 1]
sub rdi, rbp
jne 0x1801513c4
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
lea ecx, [rdi + 0xd]
call fcn.18019276c
mov rdx, r15
lea ecx, [rdi + 0x49]
call fcn.18019276c
mov rdx, r15
lea ecx, [rdi + 0x48]
call fcn.18019276c
mov rdx, r15
lea ecx, [rdi + 0x44]
call fcn.18019276c
mov rdx, r15
lea ecx, [rdi + 0x52]
call fcn.18019276c
mov edi, dword [rsp + 0x78]
mov rdx, r15
shr edi, 0x18
mov ecx, edi
call fcn.18019276c
xor edi, 0x575e51f5
lea rcx, [0x18022c3e0]
mov eax, edi
mov rdx, r15
and eax, 0xf
shr edi, 4
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, dword [rsp + 0x78]
shr eax, 0x10
movzx ebx, al
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
mov rdx, r15
and eax, 0xf
shr edi, 4
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, dword [rsp + 0x78]
shr eax, 8
movzx ebx, al
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
movzx ebx, byte [rsp + 0x78]
mov eax, edi
and eax, 0xf
shr edi, 4
mov rdx, r15
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, edi
mov ebx, r12d
and eax, 0xf
shr edi, 4
shr ebx, 0x18
mov rdx, r15
xor edi, dword [rcx + rax*4]
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
mov rdx, r15
and eax, 0xf
shr edi, 4
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, r12d
shr eax, 0x10
movzx ebx, al
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
mov rdx, r15
and eax, 0xf
shr edi, 4
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, r12d
shr eax, 8
movzx ebx, al
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
movzx ebx, r12b
and eax, 0xf
shr edi, 4
mov rdx, r15
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
mov rdx, r15
mov eax, edi
lea rbx, [0x18022c3e0]
and eax, 0xf
shr edi, 4
mov ecx, 8
xor edi, dword [rbx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rbx + rax*4]
call fcn.18019276c
xor edi, 8
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rbx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rbx + rax*4]
mov ebx, 2
cmp dword [rsp + 0x90], r14d
mov eax, 6
cmovne ebx, eax
mov rdx, r15
mov ecx, ebx
call fcn.18019276c
xor edi, ebx
lea rcx, [0x18022c3e0]
mov eax, edi
mov rdx, r15
and eax, 0xf
shr edi, 4
xor edi, dword [rcx + rax*4]
mov eax, edi
and eax, 0xf
mov ebx, dword [rcx + rax*4]
xor ecx, ecx
call fcn.18019276c
lea rcx, [0x18022c3e0]
shr edi, 4
xor edi, ebx
mov rdx, r15
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, edi
and eax, 0xf
mov ebx, dword [rcx + rax*4]
xor ecx, ecx
call fcn.18019276c
lea rcx, [0x18022c3e0]
shr edi, 4
xor edi, ebx
mov rdx, r15
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, edi
and eax, 0xf
mov ebx, dword [rcx + rax*4]
xor ecx, ecx
call fcn.18019276c
shr edi, 4
lea rcx, [0x18022c3e0]
xor edi, ebx
mov rdx, r15
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
mov eax, edi
shr edi, 4
and eax, 0xf
xor edi, dword [rcx + rax*4]
not edi
mov ecx, edi
shr ecx, 0x18
call fcn.18019276c
mov eax, edi
mov rdx, r15
shr eax, 0x10
movzx ecx, al
call fcn.18019276c
mov eax, edi
mov rdx, r15
shr eax, 8
movzx ecx, al
call fcn.18019276c
movzx ecx, dil
mov rdx, r15
call fcn.18019276c
lea edi, [r13 + 1]
mov rdx, r15
lea ebx, [rdi + 5]
imul ebx, r12d
add ebx, 6
mov ecx, ebx
shr ecx, 0x18
call fcn.18019276c
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov rdx, r15
call fcn.18019276c
mov eax, ebx
mov rdx, r15
shr eax, 8
movzx ecx, al
call fcn.18019276c
movzx ecx, bl
mov rdx, r15
call fcn.18019276c
mov rdx, r15
mov ecx, 0x49
call fcn.18019276c
mov rdx, r15
mov ecx, 0x44
call fcn.18019276c
mov rdx, r15
mov ecx, 0x41
call fcn.18019276c
mov rdx, r15
mov ecx, 0x54
call fcn.18019276c
mov rdx, r15
mov ecx, 0x78
call fcn.18019276c
mov rdx, r15
mov ecx, ebp
call fcn.18019276c
mov eax, dword [rsp + 0x80]
xor r12d, r12d
mov ebx, 0x13e5812d
test eax, eax
je 0x18015196c
lea edx, [rax - 1]
movzx eax, dil
mov dword [rsp + 0x78], eax
mov eax, edi
shr eax, 8
not edi
movzx ecx, al
movzx eax, dil
shr edi, 8
mov dword [rsp + 0x20], eax
movzx eax, dil
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x90], ecx
nop word [rax + rax]
xor edi, edi
cmp r12d, edx
mov rdx, r15
sete dil
mov ecx, edi
call fcn.18019276c
xor ebx, edi
lea rcx, [0x18022c3e0]
mov eax, ebx
mov rdx, r15
and eax, 0xf
shr ebx, 4
xor ebx, dword [rcx + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rcx + rax*4]
mov ecx, dword [rsp + 0x78]
call fcn.18019276c
xor ebx, dword [rsp + 0x78]
lea rcx, [0x18022c3e0]
mov eax, ebx
mov rdx, r15
and eax, 0xf
shr ebx, 4
xor ebx, dword [rcx + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rcx + rax*4]
mov ecx, dword [rsp + 0x90]
call fcn.18019276c
xor ebx, dword [rsp + 0x90]
lea rcx, [0x18022c3e0]
mov eax, ebx
mov rdx, r15
and eax, 0xf
shr ebx, 4
xor ebx, dword [rcx + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rcx + rax*4]
mov ecx, dword [rsp + 0x20]
call fcn.18019276c
xor ebx, dword [rsp + 0x20]
lea rcx, [0x18022c3e0]
mov eax, ebx
mov rdx, r15
and eax, 0xf
shr ebx, 4
xor ebx, dword [rcx + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rcx + rax*4]
mov ecx, dword [rsp + 0x24]
call fcn.18019276c
xor ebx, dword [rsp + 0x24]
lea rdi, [0x18022c3e0]
mov eax, ebx
mov rdx, r15
and eax, 0xf
shr ebx, 4
xor ecx, ecx
xor ebx, dword [rdi + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rdi + rax*4]
call fcn.18019276c
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rdi + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [rdi + rax*4]
mov eax, 0x80078071
mul ebp
shr edx, 0xf
imul eax, edx, 0xffff000f
add ebp, eax
mov eax, 0x80078071
add r14d, ebp
mul r14d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r14d, eax
test r13d, r13d
je 0x180151957
mov edi, r13d
lea r13, [0x18022c3e0]
movzx ecx, byte [rsi]
mov rdx, r15
call fcn.18019276c
movzx ecx, byte [rsi]
inc rsi
xor ebx, ecx
add ebp, ecx
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r13 + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r13 + rax*4]
mov eax, 0x80078071
mul ebp
shr edx, 0xf
imul eax, edx, 0xfff1
sub ebp, eax
mov eax, 0x80078071
add r14d, ebp
mul r14d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r14d, eax
sub rdi, 1
jne 0x1801518f4
mov r13d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
inc r12d
cmp r12d, dword [rsp + 0x80]
jb 0x1801517b0
mov esi, ebp
mov edi, r14d
and edi, 0xff00
shr esi, 0x10
or edi, esi
mov rdx, r15
shr edi, 8
mov ecx, edi
call fcn.18019276c
xor ebx, edi
lea r12, [0x18022c3e0]
mov eax, ebx
or esi, r14d
and eax, 0xf
shr ebx, 4
movzx edi, sil
mov rdx, r15
mov ecx, edi
xor ebx, dword [r12 + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
call fcn.18019276c
xor ebx, edi
mov rdx, r15
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
mov eax, ebp
shr eax, 8
movzx edi, al
mov ecx, edi
call fcn.18019276c
xor ebx, edi
mov rdx, r15
mov eax, ebx
movzx edi, bpl
and eax, 0xf
shr ebx, 4
mov ecx, edi
xor ebx, dword [r12 + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
call fcn.18019276c
xor ebx, edi
mov rdx, r15
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
mov eax, ebx
shr ebx, 4
and eax, 0xf
xor ebx, dword [r12 + rax*4]
not ebx
mov ecx, ebx
shr ecx, 0x18
call fcn.18019276c
mov eax, ebx
mov rdx, r15
shr eax, 0x10
movzx ecx, al
call fcn.18019276c
mov eax, ebx
mov rdx, r15
shr eax, 8
movzx ecx, al
call fcn.18019276c
movzx ecx, bl
mov rdx, r15
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
xor ecx, ecx
call fcn.18019276c
mov rdx, r15
mov ecx, 0x49
call fcn.18019276c
mov rdx, r15
mov ecx, 0x45
call fcn.18019276c
mov rdx, r15
mov ecx, 0x4e
call fcn.18019276c
mov rdx, r15
mov ecx, 0x44
call fcn.18019276c
mov rdx, r15
mov ecx, 0xae
call fcn.18019276c
mov rdx, r15
mov ecx, 0x42
call fcn.18019276c
mov rdx, r15
mov ecx, 0x60
call fcn.18019276c
mov rdx, r15
mov ecx, 0x82
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.18019276c