Function at 0x14009ee20
Capabilities:
Persist via run registry key

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x14009f17d
sub rsp, 0xc0
mov qword [rsp + 0xb8], rbp
lea rbp, [rsp + 0xb8]
mov r13, 0
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0x3f], 0
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0x90], xmm15
mov eax, 0x80000002
lea rbx, [0x14013d9fa]
mov ecx, 0x37
mov edi, 9
call fcn.140095520
test rbx, rbx
jne 0x14009ef52
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x68], xmm15
lea rcx, [0x14009f1c0]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0xb0], rcx
mov byte [rsp + 0x3f], 1
nop
call fcn.140095620
test rdi, rdi
jne 0x14009eef6
mov qword [rsp + 0x48], rbx
xor ecx, ecx
jmp 0x14009efb2
movups xmmword [rsp + 0xa0], xmm15
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0x3f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
nop
call rax
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
movups xmmword [rsp + 0xa0], xmm15
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rcx
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov rdi, rcx
mov rcx, rdx
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, qword [rsp + 0x88]
add rax, 0x10
mov rcx, qword [rsp + 0x60]
inc rcx
mov rbx, qword [rsp + 0x48]
cmp rbx, rcx
jle 0x14009f077
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x88], rax
mov rbx, qword [rax]
mov qword [rsp + 0x80], rbx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x58], rcx
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x50]
call fcn.14009e9e0
test rbx, rbx
jne 0x14009ef99
test al, al
je 0x14009ef99
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rax
movups xmmword [rsp + 0x90], xmm15
mov byte [rsp + 0x3f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
xor eax, eax
lea rbx, [0x140138e5a]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
lea r8, [0x14013756a]
mov r9d, 0x17
call fcn.14004d500
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], rbx
lea rax, [0x14011eb60]
call fcn.14000dce0
mov rdx, qword [rsp + 0x40]
mov qword [rax + 8], rdx
cmp dword [0x140502fa0], 0
jne 0x14009f0d9
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
jmp 0x14009f0e6
mov rdi, rax
mov rcx, qword [rsp + 0x78]
call fcn.140062fc0
movups xmmword [rsp + 0xa0], xmm15
lea rcx, [0x140161a08]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x3f], 0
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx]
call rax
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.140060ce0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.14009ee20