Function at 0x14000f081
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x448
mov rsi, r9
mov r12, r8
mov r13, rdx
mov r15, rcx
lea rbp, str.src_firefox_firefox.rs
mov edx, 1
mov rcx, r13
mov r8, rbp
call fcn.140043c9d
mov rcx, rax
xor edx, edx
mov r8, rbp
call fcn.140043c9d
mov rcx, qword [rax + 0x30]
add rcx, 0xfffffffffffffff7
cmp rcx, 1
ja 0x14000f3d1
mov qword [rsp + 0x28], rsi
lea rcx, [rsp + 0x38]
mov rdx, rax
call fcn.1400317e1
lea rax, [0x1402aa798]
lea rsi, [rsp + 0x240]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0x584066d9c1fdfe7d
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.14000a3af
pxor xmm0, xmm0
movdqa xmmword [rsi], xmm0
mov r9b, 1
xor r14d, r14d
lea r10, [0x1402af020]
movzx r8d, byte [r14 + r10]
mov rcx, r14
or rcx, 1
movzx esi, byte [rcx + r10]
mov rcx, r14
or rcx, 2
movzx r11d, byte [rcx + r10]
mov rcx, r14
or rcx, 3
movzx ebx, byte [rcx + r10]
mov rcx, r14
or rcx, 4
movzx ecx, byte [rcx + r10]
mov rdi, r14
or rdi, 5
movzx ebp, byte [rdi + r10]
mov rdi, r14
or rdi, 6
mov rdx, r14
or rdx, 7
movzx edi, byte [rdi + r10]
movzx edx, byte [rdx + r10]
shl rdx, 0x38
shl rdi, 0x30
or rdi, rdx
shl rbp, 0x28
shl rcx, 0x20
shl rbx, 0x18
shl r11, 0x10
shl rsi, 8
or rsi, r8
or rsi, r11
or rsi, rbx
or rsi, rcx
or rsi, rbp
or rsi, rdi
xor rsi, qword [rax + r14]
mov qword [rsp + r14 + 0x240], rsi
mov r14d, 8
test r9b, 1
mov r9d, 0
jne 0x14000f127
movzx eax, word [rax + 0x10]
xor eax, 0xdb6b
mov word [rsp + 0x250], ax
cmp qword [rsp + 0x48], 0x12
jne 0x14000f229
mov rax, qword [rsp + 0x40]
movdqu xmm0, xmmword [rax]
movzx eax, word [rax + 0x10]
movzx ecx, word [rsp + 0x250]
movd xmm1, eax
movd xmm2, ecx
pcmpeqb xmm2, xmm1
pcmpeqb xmm0, xmmword [rsp + 0x240]
pand xmm0, xmm2
pmovmskb eax, xmm0
cmp eax, 0xffff
sete sil
jmp 0x14000f22b
xor esi, esi
cmp qword [rsp + 0x38], 0
je 0x14000f247
mov r8, qword [rsp + 0x40]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test sil, sil
je 0x14000f3cb
lea rbp, str.src_firefox_firefox.rs
mov edx, 1
mov rcx, r13
mov r8, rbp
call fcn.140043c9d
mov edx, 1
mov rcx, rax
mov r8, rbp
call fcn.140043c9d
mov rcx, qword [rax + 0x30]
lea rdx, [rcx - 2]
cmp rcx, 2
mov ecx, 0x1b
cmovae rcx, rdx
cmp rcx, 0x1b
ja 0x14000f3d1
mov edx, 0x9c3fe1c
bt rdx, rcx
jae 0x14000f3d1
mov rbx, qword [rax]
mov rsi, qword [rax + 8]
lea r8, str.src_firefox_firefox.rs
mov edx, 2
mov rcx, r13
call fcn.140043c9d
mov rcx, qword [rax + 0x30]
lea rdx, [rcx - 2]
cmp rcx, 2
mov ecx, 0x1b
cmovae rcx, rdx
cmp rcx, 0x1b
ja 0x14000f3d1
mov edx, 0x9c3fe1c
bt rdx, rcx
jae 0x14000f3d1
mov rdx, qword [rsp + 0x28]
cmp rdx, 0x17
jbe 0x14000f545
cmp rsi, 8
jne 0x14000f3cb
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [r12]
bswap rdx
lea r13, [rsp + 0x3c8]
mov rcx, r13
call fcn.140045a12
mov rdx, qword [r12 + 8]
bswap rdx
lea r14, [rsp + 0x1c0]
mov rcx, r14
call fcn.140045a12
mov rdx, qword [r12 + 0x10]
bswap rdx
lea rbp, [rsp + 0x140]
mov rcx, rbp
call fcn.140045a12
mov ecx, 0x10
mov rdx, rsi
mov rdi, rsi
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0xc0]
mov ecx, 0x10
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x240]
mov r8d, 0x180
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call fcn.140002faa
mov rdi, rax
lea rcx, [rsp + 0x38]
mov r8d, 0x180
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x78], rdi
mov rdi, qword [rsp + 0x28]
test dil, 7
je 0x14000f3ee
mov byte [r15], 0x15
jmp 0x14000f3da
mov byte [r15], 0x14
mov byte [r15 + 8], 0
add rsp, 0x448
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [rsp + 0x1b8]
mov rcx, rdi
call fcn.140047b2b
mov rbx, rax
mov r12, rdx
mov rcx, rdx
mov rdx, qword [rsp + 0x30]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
call fcn.140002faa
mov qword [rsp + 0x1c0], rax
cmp rdi, 7
jbe 0x14000f4ee
mov qword [rsp + 0x30], rbx
mov rsi, rdi
and rsi, 0xfffffffffffffff8
add rsi, r12
lea r13, [rsp + 0x138]
lea r14, [rsp + 0x38]
mov rdi, r12
mov rcx, rdi
call fcn.140002faa
mov rbp, rax
mov rdx, qword [rdi]
bswap rdx
mov rcx, r13
call fcn.140046054
mov rcx, rax
call fcn.140045d14
mov ebx, 0x80
mov rdx, qword [rsp + rbx + 0x38]
mov rcx, rax
call fcn.140045e3c
add rbx, 8
cmp rbx, 0x100
jne 0x14000f473
lea rbx, [rdi + 8]
rol rax, 0x20
mov rcx, rax
call fcn.140045da7
mov rcx, r14
mov rdx, rax
call fcn.140046054
bswap rax
mov qword [rdi], rax
xor eax, eax
mov cl, byte [rsp + rax + 0x1c0]
xor byte [rdi + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x14000f4b0
mov qword [rsp + 0x1c0], rbp
mov rdi, rbx
cmp rbx, rsi
jne 0x14000f44d
test r12, r12
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
je 0x14000f3cb
test rdi, rdi
je 0x14000f521
movzx eax, byte [rdi + r12 - 1]
xor ecx, ecx
mov rdx, rdi
sub rdx, rax
cmovae rcx, rdx
cmp rdi, rcx
cmovb rcx, rdi
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], rcx
mov byte [r15], 0x18
jmp 0x14000f3da
mov byte [r15], 0x15
test rbx, rbx
je 0x14000f3da
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14000f3da
lea r8, str.src_firefox_firefox.rs
mov ecx, 0x18
call fcn.1402a6550
ud2