Function at 0x1801033e4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x48], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov ebp, edx
mov rdi, r8
add rbp, rcx
mov eax, r9d
add rax, r8
mov esi, edx
mov qword [rsp + 0x40], rbp
mov r13, rcx
mov qword [rsp + 0x58], rax
cmp r9d, 0x12c
jb 0x180103a34
cmp rcx, 0x10001
ja 0x180103441
mov eax, 0xc00000bb
jmp 0x180103a39
mov r14, qword [rsp + 0xe8]
xor edx, edx
mov rcx, r14
mov r8d, 0x40000
call sym.ntdll.dll_memset
xor eax, eax
mov qword [rsp + 0x48], rdi
mov qword [r14 + 0x40000], rax
lea r12, [r14 + 0x147b20]
mov qword [rsp + 0x60], rax
mov rbx, r13
mov qword [rsp + 0x68], rax
mov r15, rdi
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0x70], esi
lea rcx, [r14 + 0x147220]
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x38], rax
mov r8d, 0x800
call sym.ntdll.dll_memset
lea rax, [rbx + 0x10000]
mov r10d, esi
cmp rax, rbp
lea rdi, [r12 + 4]
mov r11, rbp
mov esi, 1
cmovbe r11, rax
add r10, rbx
mov qword [rsp + 0x50], r11
lea r9, [r11 - 5]
cmp r9, r10
mov qword [rsp + 0xf8], r9
cmovb r10, r9
mov qword [rsp + 0xc0], r10
cmp rbx, r13
jne 0x180103508
movzx eax, byte [rbx]
mov esi, 2
inc dword [r14 + rax*4 + 0x147220]
mov al, byte [rbx]
inc rbx
mov byte [rdi], al
inc rdi
cmp rbx, r9
jae 0x180103949
mov rax, rbx
lea r11, [0x180000000]
sub rax, r13
mov ecx, 0x20000
cqo
mov r8, rbx
idiv rcx
movzx eax, byte [r8 + 1]
movzx ecx, word [r11 + rax*2 + 0x1304d0]
movzx eax, byte [r8 + 2]
movzx eax, word [r11 + rax*2 + 0x1306d0]
xor rcx, rax
movzx eax, byte [r8]
movzx eax, word [r11 + rax*2 + 0x1302d0]
xor rcx, rax
mov rax, qword [r14 + rcx*8]
mov qword [r14 + rcx*8], r8
inc r8
mov qword [r14 + rdx*8 + 0x40000], rax
inc rdx
and edx, 0x1ffff
cmp r8, r9
jb 0x18010352b
xor ebp, ebp
cmp rbx, r10
jb 0x1801035a3
cmp rbx, r9
jae 0x18010393a
mov r8, rbx
lea rcx, [rsp + 0x60]
mov rdx, r9
call fcn.180104040
mov qword [rsp + 0xc0], rax
mov r15d, dword [rbx]
mov rax, rbx
sub rax, r13
mov r9d, 0x20000
cqo
idiv r9
mov r8, qword [r14 + rdx*8 + 0x40000]
lea rcx, [r8 + 0x10000]
cmp rcx, rbx
jbe 0x180103812
mov eax, dword [r8]
xor eax, r15d
jne 0x1801035ef
xor eax, eax
lea rbp, [rbx - 0x10000]
mov r9, rbx
mov r10d, eax
lea r11d, [rax + 3]
jmp 0x1801036a2
mov ecx, 0xffffff
test ecx, eax
je 0x18010365a
sub r8, r13
mov rax, r8
cqo
idiv r9
mov r8, qword [r14 + rdx*8 + 0x40000]
lea rax, [r8 + 0x10000]
cmp rax, rbx
jbe 0x180103812
mov eax, dword [r8]
xor eax, r15d
je 0x1801035d7
test ecx, eax
je 0x18010365a
sub r8, r13
mov rax, r8
cqo
idiv r9
mov r8, qword [r14 + rdx*8 + 0x40000]
lea rax, [r8 + 0x10000]
cmp rax, rbx
jbe 0x180103812
mov eax, dword [r8]
xor eax, r15d
je 0x1801035d7
test ecx, eax
jne 0x180103812
xor eax, eax
mov qword [rsp + 0xf0], r8
mov r9, rbx
lea rbp, [rbx - 0x10000]
mov r10d, eax
mov ecx, 0x20000
lea r11d, [rax + 3]
sub r8, r13
mov rax, r8
cqo
idiv rcx
mov r8, qword [r14 + rdx*8 + 0x40000]
cmp r8, rbp
jbe 0x1801037ec
cmp r15d, dword [r8]
jne 0x1801037df
mov rbx, r9
mov rdx, qword [rsp + 0x40]
mov rax, rbx
add rbx, 4
add r8, 4
add rax, 0x24
jmp 0x180103722
mov eax, dword [rbx]
mov ecx, dword [r8]
cmp eax, ecx
jne 0x180103770
mov eax, dword [rbx + 4]
mov ecx, dword [r8 + 4]
cmp eax, ecx
jne 0x180103768
mov eax, dword [rbx + 8]
mov ecx, dword [r8 + 8]
cmp eax, ecx
jne 0x18010375e
mov eax, dword [rbx + 0xc]
mov ecx, dword [r8 + 0xc]
cmp eax, ecx
jne 0x180103754
mov eax, dword [rbx + 0x10]
mov ecx, dword [r8 + 0x10]
cmp eax, ecx
jne 0x18010374a
mov eax, dword [rbx + 0x14]
mov ecx, dword [r8 + 0x14]
cmp eax, ecx
jne 0x180103740
mov eax, dword [rbx + 0x18]
mov ecx, dword [r8 + 0x18]
cmp eax, ecx
jne 0x180103736
mov eax, dword [rbx + 0x1c]
mov ecx, dword [r8 + 0x1c]
cmp eax, ecx
jne 0x18010372c
add rbx, 0x20
add r8, 0x20
lea rax, [rbx + 0x20]
cmp rax, rdx
jb 0x1801036b8
jmp 0x1801037af
add rbx, 0x1c
add r8, 0x1c
jmp 0x180103770
add rbx, 0x18
add r8, 0x18
jmp 0x180103770
add rbx, 0x14
add r8, 0x14
jmp 0x180103770
add rbx, 0x10
add r8, 0x10
jmp 0x180103770
add rbx, 0xc
add r8, 0xc
jmp 0x180103770
add rbx, 8
add r8, 8
jmp 0x180103770
add rbx, 4
add r8, 4
cmp al, cl
jne 0x1801037b4
mov al, byte [r8 + 1]
cmp byte [rbx + 1], al
je 0x180103785
inc rbx
inc r8
jmp 0x1801037b4
mov al, byte [r8 + 2]
cmp byte [rbx + 2], al
je 0x180103798
add rbx, 2
add r8, 2
jmp 0x1801037b4
add rbx, 3
add r8, 3
jmp 0x1801037b4
mov al, byte [r8]
cmp byte [rbx], al
jne 0x1801037b4
inc rbx
inc r8
cmp rbx, rdx
jb 0x1801037a2
sub rbx, r9
mov rax, r8
sub r8, rbx
cmp rbx, r11
jbe 0x1801037d7
mov rcx, r8
mov r11, rbx
mov qword [rsp + 0xf0], rcx
cmp rax, r9
ja 0x1801037f4
jmp 0x1801037da
add r10, rbx
mov ecx, 0x20000
inc r10
cmp r10, 0xc
jb 0x18010367a
mov rcx, qword [rsp + 0xf0]
mov rdx, r9
lea rbx, [r9 + r11]
sub rdx, rcx
cmp r11, 3
jne 0x180103857
cmp rdx, 0x1000
jbe 0x180103857
mov rbx, r9
xor ebp, ebp
movzx eax, r15b
inc rbx
inc dword [r14 + rax*4 + 0x147220]
lea eax, [rsi + rsi]
mov byte [rdi], r15b
inc rdi
test esi, esi
jle 0x180103845
mov esi, eax
mov r9, qword [rsp + 0xf8]
mov r10, qword [rsp + 0xc0]
jmp 0x18010357d
mov esi, 1
mov dword [r12], eax
mov r12, rdi
add rdi, 4
jmp 0x180103830
mov r10d, 0x100
cmp rdx, r10
jb 0x18010387d
mov rax, rdx
lea rcx, [0x180000000]
shr rax, 8
movzx ecx, byte [rax + rcx + 0x119ce0]
add ecx, 8
jmp 0x18010388c
lea rax, [0x180000000]
movzx ecx, byte [rdx + rax + 0x119ce0]
add qword [rsp + 0x30], rcx
lea r8, [rdi + 1]
mov r9d, 1
mov eax, r9d
shl rax, cl
sub rdx, rax
shl cl, 4
lea rax, [r11 - 3]
cmp rax, 0xf
jb 0x180103905
add cl, 0xf
sub rax, 0xf
xor ebp, ebp
mov byte [rdi], cl
lea rdi, [r8 + 1]
cmp rax, 0xff
jae 0x1801038d0
mov byte [r8], al
mov eax, r9d
jmp 0x1801038fe
add rax, 0xf
mov byte [r8], 0xff
cmp rax, 0x10000
jae 0x1801038ee
mov word [rdi], ax
lea rdi, [r8 + 3]
mov eax, 3
jmp 0x1801038fe
mov word [rdi], bp
lea rdi, [r8 + 7]
mov dword [r8 + 3], eax
mov eax, 7
add qword [rsp + 0x38], rax
jmp 0x18010390e
add cl, al
mov byte [rdi], cl
xor ebp, ebp
mov rdi, r8
movzx eax, cl
add eax, r10d
inc dword [r14 + rax*4 + 0x147220]
lea eax, [rsi*2 + 1]
mov word [rdi], dx
add rdi, 2
test esi, esi
jg 0x18010382e
mov esi, r9d
jmp 0x18010384a
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
xor ecx, ecx
cmp rbx, r11
jae 0x180103989
movzx eax, byte [rbx]
inc dword [r14 + rax*4 + 0x147220]
mov al, byte [rbx]
inc rbx
mov byte [rdi], al
inc rdi
lea eax, [rsi + rsi]
test esi, esi
jle 0x180103970
mov esi, eax
jmp 0x18010394b
mov dword [r12], eax
mov esi, 1
mov r12, rdi
add rdi, 4
jmp 0x18010394b
lea esi, [rsi*2 + 1]
test esi, esi
jg 0x180103982
lea eax, [rsi*2 + 1]
mov dword [r12], eax
cmp rbx, rbp
jb 0x1801039ab
inc dword [r14 + 0x147620]
mov esi, 1
jmp 0x1801039ad
mov esi, ecx
lea rbp, [r14 + 0x140000]
mov rcx, rbp
call fcn.180064de8
mov rdx, qword [rsp + 0x30]
add rdx, 0x1f
add rdx, rax
shr rdx, 5
lea rdx, [rdx*4 + 0x102]
add rdx, qword [rsp + 0x38]
add rdx, r15
cmp rdx, qword [rsp + 0x58]
jae 0x180103a34
lea r12, [r14 + 0x147b20]
mov dword [rsp + 0x20], esi
mov rdx, r12
mov r9, r15
mov r8, rdi
mov rcx, rbp
call fcn.180064b00
mov rbp, qword [rsp + 0x40]
mov r15, rax
mov qword [rsp + 0x48], rax
xor eax, eax
test esi, esi
mov esi, dword [rsp + 0x100]
je 0x18010348a
mov rax, qword [rsp + 0xe0]
sub r15d, dword [rsp + 0xd0]
mov dword [rax], r15d
xor eax, eax
jmp 0x180103a39
mov eax, 0xc0000023
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret