Function at 0x180130480
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov edi, r9d
mov rsi, r8
mov ebp, edx
mov r13, rcx
cmp r9d, 0x20
je 0x1801304a6
cmp edi, 0x10
jne 0x1801304bf
mov dword [rsp + 0x20], edi
mov rcx, r13
mov edx, ebp
xor r8d, r8d
mov r9, rsi
call fcn.1801303ff
jmp 0x1801305a2
cmp edi, 0x1f
ja 0x18013065f
lea rcx, [rsp + 0x40]
mov rdx, rsi
mov r8d, edi
call fcn.1802737e8
mov dword [rsp + 0x20], 0x10
mov rcx, r13
mov edx, ebp
xor r8d, r8d
mov r9, rsi
call fcn.1801303ff
mov r14d, eax
test ebp, ebp
jne 0x1801305d7
test r14d, r14d
je 0x180130515
lea rdx, [rsp + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.1802737e8
jmp 0x18013059f
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rsi
mov r8d, 0x10
call fcn.1802737e8
mov r15d, edi
and r15d, 0xf
je 0x180130549
mov eax, r15d
xor ecx, ecx
mov dl, byte [rsi + rcx + 0x10]
xor byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, rax
jne 0x180130539
mov dword [r13 + 0x12], ebp
shr rbp, 0x20
mov dword [r13 + 0x5c], ebp
mov dword [r13 + 0x16], 0x13f0002
xor r14d, r14d
mov byte [r13 + 0x55], r14b
mov word [r13 + 0x3e], r14w
mov ecx, 1
mov rdx, r13
call fcn.18006c728
mov byte [r13 + 0x55], r14b
mov word [r13 + 0x16], r14w
mov ecx, eax
call fcn.1801a833c
test eax, eax
je 0x1801305b3
mov ebx, eax
lea rdx, [rsp + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.1802737e8
mov r14d, ebx
mov eax, r14d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsi + 0x10]
mov rdx, rsi
mov r8d, r15d
call fcn.1802737e8
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x10
call fcn.1802737e8
jmp 0x18013059f
test r14d, r14d
jne 0x180130500
mov r15d, edi
and r15d, 0xf
jne 0x1801305ed
xor ebx, ebx
jmp 0x180130601
mov ebx, r15d
xor eax, eax
mov cl, byte [rsi + rax + 0x10]
xor byte [rsi + rax], cl
inc rax
cmp rax, rbx
jne 0x1801305f2
lea r12, [rsi + 0x10]
lea rcx, [rsp + 0x30]
mov rdx, r12
mov r8d, r15d
call fcn.1802737e8
mov r14d, 0x10
mov r8d, 0x10
sub r8d, r15d
lea rdx, [rsi + rbx]
lea rcx, [rsp + rbx]
add rcx, 0x30
call fcn.1802737e8
mov dword [rsp + 0x20], r14d
xor r14d, r14d
mov rcx, r13
mov edx, ebp
xor r8d, r8d
lea r9, [rsp + 0x30]
call fcn.1801303ff
test eax, eax
jne 0x18013058a
mov rcx, r12
jmp 0x1801305b7
lea r9, [fcn.1801303ff]
mov rcx, r13
mov rdx, rsi
mov r8d, edi
test ebp, ebp
je 0x180130688
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x18013908a
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1801382c4
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov r15, rdx
mov qword [rsp + 0x68], rcx
lea rax, [fcn.1802737e8]
mov ecx, eax
not ecx
and ecx, 1
xor edx, edx
add ecx, eax
sete dl
mov eax, edx
or eax, 0x814
and eax, 0x815
xor rdx, 0x4eb
lea r13, [rdx + rax*2]
lea rax, [0x180136e28]
mov ecx, eax
and ecx, r13d
xor rax, r13
lea rax, [rax + rcx*2]
jmp rax
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
mov r15, r9
mov rbx, rdx
mov r14, rcx
lea rax, [0x18013908a]
mov ecx, eax
and ecx, 1
inc ecx
xor edx, edx
xor ecx, eax
sete dl
mov eax, edx
or eax, 0x50
movzx eax, al
xor rdx, 0x1827
lea r12, [rdx + rax*2]
mov qword [rsp + 0x78], r8
lea edi, [r8 - 0x10]
lea rcx, [0x1802a860d]
mov eax, ecx
and eax, r12d
xor rcx, r12
mov qword [rsp + 0xf0], rcx
lea rax, [rcx + rax*2]
lea rsi, [rsp + 0x170]
mov rcx, rsi
call rax
lea rdx, [rbx + 0x10]
lea rcx, [0x1802a86a7]
mov eax, ecx
and eax, r12d
xor rcx, r12
mov qword [rsp + 0xe8], rcx
lea rax, [rcx + rax*2]
mov rcx, rsi
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x3c], edi
mov r8d, edi
call rax
lea r13, [0x1802aa0dd]
mov eax, r13d
and eax, r12d
xor r13, r12
lea rax, [rax*2]
add rax, r13
lea rbp, [rsp + 0x140]
mov rcx, rbp
mov rdx, rsi
call rax
lea rcx, [0x180271f21]
mov eax, ecx
and eax, r12d
xor rcx, r12
mov qword [rsp + 0x50], rcx
lea rdi, [rcx + rax*2]
lea rsi, [rsp + 0xb0]
mov rcx, rsi
mov qword [rsp + 0x90], rbx
mov rdx, rbx
mov r8d, 0x10
call rdi
lea rcx, [rsp + 0x130]
mov rdx, rbp
mov r8d, 0x10
call rdi
lea rbx, [rsp + 0x100]
mov rcx, rbx
mov rdx, rsi
mov r8d, 0x10
call rdi
lea rcx, [rsp + 0x110]
mov rdx, rbp
mov r8d, 0x10
call rdi
mov qword [rsp + 0xf8], r15
lea r15, [r15 - 0x18c7]
mov eax, r15d
and eax, r12d
mov qword [rsp + 0xe0], r15
xor r15, r12
lea rax, [r15 + rax*2]
mov dword [rsp + 0x20], 0x20
mov qword [rsp + 0x70], r14
mov rcx, r14
mov edx, 1
mov r8d, 1
mov r9, rbx
call rax
mov esi, eax
lea rax, [0x180137bfb]
mov ecx, eax
and ecx, r12d
xor rax, r12
lea rbp, [0x180138286]
mov edx, ebp
and edx, r12d
mov rdi, rbp
xor rdi, r12
test esi, esi
lea rax, [rax + rcx*2]
lea rcx, [rdi + rdx*2]
cmove rcx, rax
jmp rcx