Function at 0x180014334
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov r9d, dword [rsp + 0x120]
lea r15d, [r8 - 0x160]
mov r11d, dword [rsp + 0x128]
mov r14, rdx
mov edi, dword [rsp + 0x118]
lea edx, [r8 - 0x378a]
add edi, 0xffffce7e
mov dword [rsp + 0x80], edx
lea eax, [r9 - 0x159]
mov dword [rsp + 0x9c], r15d
mov dword [rsp + 0x120], eax
lea r13d, [r9 - 0x132]
mov eax, dword [rsp + 0x110]
lea esi, [r9 + 0x34f]
lea r10d, [r9 - 0x38e3]
mov dword [rsp + 0x98], esi
add r9d, 0xfffffb32
mov dword [rsp + 0x128], edi
add r11d, 0xffffcadd
mov dword [rsp + 0x110], r9d
lea ebx, [rax + 0x879]
lea r8d, [rax + 0x397]
mov dword [rsp + 0x118], ebx
add eax, 0x625
mov dword [rsp + 0x130], r8d
mov dword [rsp + 0xf0], eax
lea eax, [r13 - 0x27]
cmp edx, eax
jge 0x180014d1d
lea eax, [r13 - 0x838]
cmp esi, eax
jl 0x180014d1d
lea eax, [r13 - 0x4c5]
mov r12d, 0x3523
cmp r11d, eax
je 0x180014a5f
mov rax, qword [r14 + 0x358]
mov edx, r12d
mov dword [rax + 4], 0x506c6175
mov rax, qword [r14 + 0x78]
mov r8, qword [r14 + 0x128]
or rax, 0x3053
xor qword [r14 + 0x30], rax
mov eax, dword [r8 + 0x328]
xor eax, 6
cmp eax, r12d
jbe 0x180014487
lea r9, [r14 + 0x1d0]
inc edx
mov qword [r14 + 0x2a8], r9
mov ecx, dword [r8 + 0x328]
xor rcx, 6
movsxd rax, edx
cmp rax, rcx
jb 0x18001446b
mov rax, qword [r14 + 0x358]
imul ecx, dword [r14 + 0x4f8], 0xe323224a
mov dword [rax + 8], ecx
mov eax, dword [r14 + 0x280]
add eax, 0x12f
cmp rax, qword [r14 + 0xb0]
je 0x1800144b8
mov qword [r14 + 0x260], r14
mov rax, qword [r14 + 0x190]
lea r13, [r14 + 0x138]
mov rdx, r13
imul ecx, dword [rax + 0x168], 0xca6b29af
mov rax, qword [r14 + 0x358]
mov dword [rax + 0xc], ecx
mov qword [r14 + 0x30], 0x6c7f
mov rcx, qword [r14 + 0x4c8]
call qword [r14 + 0x2f8]
mov qword [r14 + 0x2f0], rax
xor r15d, r15d
mov rax, qword [r14]
mov edi, 0x338c
add rax, 0x2f79
xor qword [r14 + 0xc8], rax
mov rax, qword [r14 + 0xe8]
add qword [rax + 0x548], 0xffffffffffffc3ee
mov rax, qword [r14 + 0x190]
imul ecx, dword [rax + 0x168], 0x722a6bcf
test ecx, ecx
je 0x18001470e
xor r8d, r8d
lea r9, [r14 + 0x28]
mov rbp, 0xfffffffffffffe16
lea rbx, [r14 + 0x218]
sub rbp, r14
lea rsi, [r14 + 0x1ea]
mov r13d, 0x324b
mov rax, qword [r14 + 0x190]
imul eax, dword [rax + 0x4f8], 0xa14a5f1c
cmp qword [r14 + 0x30], rax
jbe 0x18001459b
movzx ecx, byte [0x1801ae8d9]
mov rax, qword [r14 + 0x340]
sub ecx, 0x3655
movsxd rdx, ecx
imul rax, rdx
mov qword [r14 + 0x340], rax
mov rax, qword [r14 + 0x510]
mov qword [r14 + 0x1d8], r9
mov ecx, dword [rax + 0x4f8]
xor ecx, 0x814c
mov dword [rsi - 2], ecx
lea rcx, [r14 + 0x1a0]
mov rax, qword [r14 + 0x128]
mov edx, dword [r14 + 0x280]
xor edx, 0xe3ff7153
mov eax, dword [rax + 0x328]
sub eax, 0x351a
add rax, rbp
add rax, rsi
mov dword [rax + r14 + 0x1e8], edx
imul rax, qword [r14 + 0xf8], 0x49c
imul rdx, r8, 0xd
mov qword [r14 + 0xf8], rax
mov rax, qword [rbx + 0x20]
mov qword [rsi], rax
mov rax, qword [r14 + 0x128]
mov qword [rsp + 0xa0], rdx
add rcx, rdx
mov rdx, qword [rbx]
imul r8d, dword [rax + 0x4f8], 0x2359a469
call fcn.180005ae0
mov rax, qword [r14 + 0xe8]
imul eax, dword [rax + 0x4f8], 0x18fdd877
cmp rax, qword [r14 + 0x168]
jae 0x180014653
add qword [r14 + 0x108], 0xcb560fb
mov rax, qword [r14 + 0x128]
imul ecx, dword [rax + 0x328], 0xf68d7bee
cmp ecx, edi
je 0x18001467c
mov rax, qword [r14 + 0xf8]
or rax, 0x30f3
mov qword [r14 + 0x4e0], rax
mov rax, qword [rsp + 0xa0]
mov r9d, r12d
add rax, 0x1e8
mov r8d, 0x3655
add rax, r14
mov rdx, r14
mov qword [rsp + 0x38], rax
mov ecx, 0x2f79
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
mov word [rsp + 0x28], r13w
mov qword [rsp + 0x20], 0x3415
call fcn.180016078
mov rax, qword [r14 + 0xf8]
lea r9, [r14 + 0x28]
mov rcx, qword [r14 + 0xe8]
inc r15d
add rbx, 8
movsxd r8, r15d
add rsi, 0xd
or qword [rcx + 0x540], rax
inc qword [r14 + 0xf8]
mov rax, qword [r14 + 0x190]
imul eax, dword [rax + 0x168], 0x722a6bcf
cmp r8, rax
jb 0x180014562
lea r13, [r14 + 0x138]
mov rcx, qword [r14 + 0x118]
mov ebx, 0x3c12
mov rax, qword [r14 + 0x270]
mov rsi, 0xffffffffffffc595
xor rax, qword [rcx + 0x328]
xor rax, rdi
mov qword [r14 + 0x270], rax
mov ecx, dword [rcx + 0x328]
mov rax, qword [r14 + 0x358]
xor ecx, 0x70695144
mov dword [rax], ecx
mov rax, qword [r14 + 0x190]
imul ecx, dword [rax + 0x4f8], 0xfe4f980a
cmp ecx, ebx
jae 0x18001477b
mov rcx, qword [r14 + 0x118]
mov rax, rsi
sub rax, qword [r14 + 0x160]
add qword [rcx + 0x260], rax
mov rax, qword [r14 + 0xe8]
mov ecx, dword [rax + 0x328]
mov rax, qword [r14 + 0x358]
add ecx, 0x2e734049
mov dword [rax + 4], ecx
mov rax, qword [r14 + 0x190]
mov rdx, qword [r14 + 0x128]
mov ecx, dword [rax + 0x290]
xor ecx, 0x1d1
cmp dword [rdx + 0x290], ecx
je 0x1800147cf
mov rax, qword [r14 + 0x1e0]
mov qword [rdx + 0xc0], rax
dec qword [r14 + 0x1e0]
mov rax, qword [r14 + 0x128]
mov ebp, 0x38e3
imul ecx, dword [rax + 0x168], 0x53207af4
mov rax, qword [r14 + 0x358]
mov dword [rax + 8], ecx
mov rax, qword [r14]
mov r9, qword [r14 + 0x118]
add rax, rbp
mov qword [r14 + 0x28], rax
imul eax, dword [r9 + 0x168], 0xc6f28a01
cmp eax, edi
je 0x180014849
mov rcx, qword [r14 + 0x128]
mov r8, qword [r14 + 0x108]
mov rax, qword [rcx + 0x1d0]
inc edi
xor rax, 0x37b1
add r8, rax
movsxd rax, edi
mov qword [r14 + 0x108], r8
imul edx, dword [r9 + 0x168], 0xc6f28a01
cmp rax, rdx
jne 0x18001481d
mov rcx, r13
call qword [r14 + 0x300]
mov qword [r14 + 0x368], rax
mov edx, 0x3c32
mov rax, qword [r14 + 0x170]
add qword [r14 + 0x108], 0xfffffffff5845708
mov rcx, qword [r14 + 0x4a0]
sub rcx, rdx
imul rax, rcx
mov qword [r14 + 0x170], rax
mov rax, qword [r14 + 0x368]
test rax, rax
jne 0x180014899
xor eax, eax
jmp 0x180014d29
add rax, 0xd1e0
mov r15d, 0x3a05
mov qword [r14 + 0x388], rax
mov rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x128]
sub rax, 0x33a3
mov qword [r14], rax
mov rax, qword [rcx + 0x28]
xor rax, r15
sub qword [r14 + 0x170], rax
cmp qword [r14 + 0x388], 0xffffffffffffffff
jne 0x180014935
mov rax, qword [r14 + 0x28]
or rax, rdx
sub qword [r14 + 0x340], rax
imul eax, dword [rcx + 0x290], 0xfae38147
cmp eax, r15d
jbe 0x180014892
mov rcx, qword [r14 + 0xe8]
inc r15d
mov rax, qword [rcx + 0x260]
mov qword [r14 + 0x4e0], rax
dec qword [rcx + 0x260]
mov rax, qword [r14 + 0x128]
imul edx, dword [rax + 0x290], 0xfae38147
movsxd rax, r15d
cmp rax, rdx
jb 0x1800148f8
jmp 0x180014892
mov rax, qword [r14 + 0x190]
imul ecx, dword [rax + 0x4f8], 0xfe4f980a
cmp ecx, ebx
jae 0x18001495f
mov rax, qword [r14 + 0x118]
sub rsi, qword [r14 + 0x160]
add qword [rax + 0x260], rsi
mov r9, qword [r14 + 0x128]
mov r10d, 0xd99
mov byte [r14 + 0x390], 0
mov r8d, 0x32ec
mov eax, dword [r9 + 0x168]
xor eax, r10d
cmp eax, ebx
jb 0x1800149b7
mov rdx, qword [r14 + 0x230]
mov rax, qword [r14 + 0x380]
inc ebx
or rax, r8
or rdx, rax
movsxd rax, ebx
mov qword [r14 + 0x230], rdx
mov ecx, dword [r9 + 0x168]
xor rcx, r10
cmp rax, rcx
jbe 0x18001498f
and qword [r14 + 0x4c0], 0
mov rax, qword [r14 + 0x510]
add qword [rax + 0x2a0], 0xffffffffffffcc74
mov eax, dword [r14 + 0x168]
add eax, 0x624
cmp qword [r14 + 0x280], rax
jne 0x1800149f3
mov rax, qword [r14]
or rax, rbp
mov qword [r14 + 0x2a8], rax
mov rax, qword [r14 + 0x118]
mov ecx, dword [rax + 0x168]
mov rax, qword [r14 + 0x358]
xor ecx, 0x4d7454ca
mov dword [rax], ecx
mov rax, qword [r14 + 0x118]
imul rcx, qword [rax + 0x160], 0x318c
xor qword [r14 + 0xa0], rcx
cmp qword [r14 + 0xc8], rbp
jbe 0x180014a49
mov rax, qword [r14 + 0x170]
add qword [r14 + 0x498], rax
dec rax
mov qword [r14 + 0x170], rax
mov rax, qword [r14 + 0x360]
sub rax, r8
mov qword [r14 + 0xf8], rax
jmp 0x180014d1d
mov eax, edi
lea r9d, [rcx + 0x3c28]
xor eax, edx
add r9d, eax
mov eax, ebx
and rax, r12
or rax, qword [r14 + 0x270]
cmp qword [r14 + 0x30], rax
jae 0x180014d1d
movsxd rax, dword [r14 + 0x380]
movsxd rcx, r11d
or rcx, qword [r14 + 0x4e0]
mov dword [rsp + 0x100], eax
cmp rax, rcx
jne 0x180014d08
mov eax, edx
or eax, r9d
or eax, 0x37b1
mov dword [rsp + 0x84], eax
mov eax, r15d
mov r15d, 0x3a05
or eax, r15d
mov dword [rsp + 0x88], eax
lea eax, [r9 + r13]
imul eax, eax, 0x3a05
lea ecx, [r15 + 0x66]
xor r10d, ecx
and r10d, ebx
mov dword [rsp + 0x90], r10d
mov dword [rsp + 0x8c], eax
mov eax, r8d
and eax, 0x3415
mov dword [rsp + 0x94], eax
xor r13d, ecx
mov edi, dword [r14 + 0x28]
mov ebp, edx
mov eax, dword [r14 + 0x250]
mov r8d, edi
and eax, dword [rsp + 0x118]
mov ecx, dword [r14 + 0x4a0]
mov esi, dword [r14 + 0xc0]
add ecx, r11d
imul r10d, dword [r14 + 0xf8], 0xfffff78a
and esi, edx
imul ebx, dword [r14 + 0x538], 0x3a6b
mov r11d, edi
and edi, dword [r14 + 0x2c0]
imul r11d, dword [r14 + 0x160]
sub edi, 0x324b
xor ebp, dword [r14 + 0x170]
xor r8d, dword [r14 + 0x60]
and r10d, r15d
or ebx, dword [r14 + 0x230]
and ebp, 0x32ec
mov dword [rsp + 0x70], edi
imul edx, eax, 0x3655
xor r11d, 0x32ec
mov eax, dword [rsp + 0x84]
imul r9d, ecx, 0x378a
mov ecx, dword [rsp + 0x110]
xor ecx, 0x38e3
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ecx
mov ecx, ebp
mov dword [rsp + 0x20], esi
call fcn.1800178a8
mov ecx, dword [rsp + 0x120]
mov r11d, ecx
mov edx, dword [r14 + 0x290]
mov ebp, dword [r14 + 0x510]
and ebp, dword [rsp + 0x118]
mov r10d, dword [rsp + 0xf0]
add r10d, dword [r14 + 0xf8]
sub r11d, dword [r14 + 0x70]
mov r8d, dword [r14 + 0x128]
sub r11d, 0x362a
mov r9d, dword [rsp + 0x130]
xor r8d, 0x37b1
mov edi, dword [rsp + 0x9c]
add edi, dword [r14 + 0x4a0]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x94]
sub dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x98]
xor ebp, eax
and r9d, dword [rsp + 0x128]
lea esi, [rdx + rax]
imul edx, ecx
mov eax, ecx
and esi, 0x38e3
imul eax, dword [r14 + 0x108]
mov ecx, ebp
imul ebx, edx, 0x3c12
mov edx, esi
or eax, r12d
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], r10d
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.1800168f0
mov edx, dword [rsp + 0xf0]
mov dword [rsp + 0x110], eax
add edx, dword [r14 + 0x548]
add dword [rsp + 0x120], edx
mov eax, dword [rsp + 0x100]
movsxd r11, dword [rsp + 0xa0]
add eax, 2
mov rdx, r11
movsxd rcx, eax
or rdx, qword [r14 + 0x4e0]
cmp rcx, rdx
mov dword [rsp + 0x100], eax
mov edx, dword [rsp + 0x80]
je 0x180014afd
mov r8d, dword [rsp + 0x130]
lea eax, [r8 - 0x38e3]
movsxd rcx, eax
imul rcx, qword [r14]
add qword [r14 + 0x280], rcx
mov eax, dword [rsp + 0x80]
add eax, 0x3c32
mov rbx, qword [rsp + 0xf8]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret