Function at 0x7feeffa564f
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov qword [rsp + 0x98], r8
mov rsi, rdx
mov rdi, rcx
call fcn.7feeff31066
mov rbx, rax
xorps xmm0, xmm0
mov qword [rsp + 0x90], rdi
movups xmmword [rdi], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.7feeff75ed8
mov rbp, qword [rsi + 8]
cmp byte [rbx], 0
jne 0x7feeffa5f4e
lea rdi, [rbp + 8]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call fcn.7feeffa5f69
mov rbp, qword [rsp + 0x20]
mov qword [rsp + 0x38], rax
cmp byte [rbx], 0
jne 0x7feeffa5f4e
mov qword [rsp + 0x28], rbx
cmp qword [rsp + 0x38], 0
je 0x7feeffa5f0a
mov edx, 5
mov rcx, rdi
call fcn.7feeffa5fbd
mov r14, rax
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
mov rbp, qword [rsp + 0x20]
jne 0x7feeffa5f4e
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
movsxd rdx, dword [rax + 0x50]
mov rcx, rsi
mov r8d, 0x3000
mov r9d, 0x40
call qword [reloc.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x7feeffa5737
test r14, r14
je 0x7feeffa5f0a
test rax, rax
jne 0x7feeffa575e
test r14, r14
je 0x7feeffa575e
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0x50]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 0x40
call qword [reloc.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x7feeffa5f0a
mov qword [rsp + 0x58], rsi
mov rsi, qword [rsp + 0x38]
mov qword [rsi + 0x30], rax
movsxd r15, dword [rsi + 0x54]
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rdx, rdi
mov r8, r15
call fcn.7feeff32cd3
cmp word [rsi + 6], 0
je 0x7feeffa58c0
mov eax, r15d
not eax
mov rbp, qword [rsp + 0x30]
or eax, ebp
mov ecx, r15d
or ecx, ebp
not ecx
lea ecx, [rcx + rcx*2]
mov edx, ebp
not edx
add edx, edx
sub edx, r15d
xor r15d, ebp
sub r15d, eax
add r15d, ecx
xor r15d, edx
movabs rax, 0x96f1411616095f63
xor rax, r15
add rax, qword [rsp + 0x38]
movabs rbx, 0x690ebee9e9f6a1a5
add rbx, rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0x28]
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
call fcn.7feeff6cb1a
cmp byte [rsi], 0
mov rbp, qword [rsp + 0x20]
jne 0x7feeffa5f4e
mov r12d, dword [rax + 0xc]
movsxd rdx, r12d
mov rcx, qword [rsp + 0x30]
call fcn.7feeff6cad5
mov r14, rax
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
call fcn.7feeff6cb1a
mov rbp, qword [rsp + 0x20]
cmp byte [rsi], 0
jne 0x7feeffa5f4e
movsxd r15, dword [rax + 0x14]
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
call fcn.7feeff6cb1a
mov rbp, qword [rsp + 0x20]
cmp byte [rsi], 0
jne 0x7feeffa5f4e
mov r13, rax
mov rcx, rdi
mov rdx, r15
call fcn.7feeff6cad5
movsxd rbp, dword [r13 + 0x10]
mov rcx, r14
mov rdx, rax
mov r8, rbp
call fcn.7feeff32cd3
lea eax, [r12 + rbp]
mov ecx, ebp
xor ecx, r12d
sub eax, ecx
and r12d, ebp
add r12d, r12d
xor r12d, eax
movabs rax, 0xf2a46f16c860924e
xor r12, rax
add r12, qword [rsp + 0x68]
movabs rax, 0xd5b90e9379f6db3
add r12, rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 6]
mov qword [rsp + 0x68], r12
cmp r12, rax
jb 0x7feeffa57ed
mov rcx, qword [rsp + 0x30]
call fcn.7feeffa600a
mov rcx, qword [rsp + 0x28]
cmp byte [rcx], 0
mov rbp, qword [rsp + 0x20]
jne 0x7feeffa5f4e
test al, al
je 0x7feeffa5ef7
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x58]
cmp rsi, rdx
mov rdi, qword [rsp + 0x28]
je 0x7feeffa5944
mov rax, qword [rsp + 0x38]
movsxd r9, dword [rax + 0x50]
mov rcx, rsi
mov r8, rsi
call fcn.7feeffa61a1
xor ecx, ecx
test al, al
mov edx, 0xe
cmovne edx, ecx
cmp byte [rdi], 0
mov eax, 2
cmove eax, edx
cmp eax, 0xe
je 0x7feeffa5944
cmp eax, 2
mov rbp, qword [rsp + 0x20]
je 0x7feeffa5f4e
test eax, eax
mov rsi, qword [rsp + 0x30]
jne 0x7feeffa5dcd
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x28]
mov qword [rsp + 0x68], rax
mov rcx, rsi
xor edx, edx
call fcn.7feeffa5fbd
cmp byte [rdi], 0
mov rbp, qword [rsp + 0x20]
jne 0x7feeffa5f4e
test rax, rax
je 0x7feeffa5ef7
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rax + rcx + 0x1c]
mov qword [rsp + 0x88], rdx
mov esi, dword [rax + rcx + 0x18]
xor r15d, r15d
test esi, esi
jle 0x7feeffa5de1
movsxd r13, dword [rax + rcx + 0x20]
add r13, rcx
movsxd r14, dword [rax + rcx + 0x24]
add r14, rcx
lea rdi, [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
movsxd rax, r15d
movzx edx, word [r14 + rax*2]
mov qword [rsp + 0x38], rdx
movsxd rbp, dword [r13 + rax*4]
add rbp, rcx
mov rcx, rdi
mov rdx, rbp
call fcn.7feeff9d560
mov r12, qword [rsp + 0x48]
cmp byte [rbx], 0
je 0x7feeffa5a1f
mov rbp, qword [rsp + 0x20]
test r12, r12
je 0x7feeffa5a02
movabs rax, 0x4000000000000000
test qword [r12], rax
jne 0x7feeffa5a02
mov rcx, r12
call fcn.7feeff311e0
mov rbp, qword [rsp + 0x20]
cmp byte [rbx], 0
jne 0x7feeffa5f4e
cmp r15d, esi
mov rcx, qword [rsp + 0x30]
lea rdi, [rsp + 0x40]
jl 0x7feeffa59b1
jmp 0x7feeffa5ded
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r12
mov rcx, rdi
lea rdx, [rsp + 0x70]
call fcn.7feeff5b4b4
mov rcx, qword [rsp + 0x48]
cmp byte [rbx], 0
je 0x7feeffa5a4f
mov rbp, qword [rsp + 0x20]
jmp 0x7feeffa5be5
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rcx
movups xmm0, xmmword [0x7feeffd2690]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.7feeff5b307
cmp byte [rbx], 0
je 0x7feeffa5a88
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x58]
jmp 0x7feeffa5be5
test al, al
je 0x7feeffa5b15
xor edi, edi
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor ebp, ebp
inc r15d
test rbp, rbp
je 0x7feeffa5ac2
movabs rax, 0x4000000000000000
test qword [rbp], rax
jne 0x7feeffa5ac2
mov rcx, rbp
call fcn.7feeff311e0
cmp qword [rsp + 0x50], 0
je 0x7feeffa5b91
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov ecx, eax
mov edx, 0xffffffff
xor ecx, edx
mov edx, 2
sub edx, eax
lea ebp, [rax + rax]
sub ebp, ecx
inc ebp
xor ebp, edx
shl rbp, 0x3e
movabs rcx, 0x4000000000000000
add rbp, rcx
test rax, rbp
jne 0x7feeffa5b91
mov rcx, qword [rsp + 0x50]
call fcn.7feeff311e0
jmp 0x7feeffa5b91
lea rcx, [rsp + 0x40]
mov rdx, rbp
call fcn.7feeff9d560
mov rdi, qword [rsp + 0x48]
cmp byte [rbx], 0
jne 0x7feeffa5bb7
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdi
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.7feeff5b4b4
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x7feeffa5b91
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [0x7feeffd26a0]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.7feeff5b307
mov rcx, qword [rsp + 0x28]
cmp byte [rcx], 0
je 0x7feeffa5c0b
cmp qword [rsp + 0x60], 0
je 0x7feeffa5bb7
movabs rax, 0x4000000000000000
mov rcx, qword [rsp + 0x60]
test qword [rcx], rax
jne 0x7feeffa5bb7
mov rcx, qword [rsp + 0x60]
call fcn.7feeff311e0
test rdi, rdi
je 0x7feeffa5bd6
mov rcx, rdi
movabs rax, 0x4000000000000000
test qword [rdi], rax
jne 0x7feeffa5bd6
mov rcx, rdi
call fcn.7feeff311e0
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x28]
test rcx, rcx
je 0x7feeffa59e0
movabs rax, 0x4000000000000000
test qword [rcx], rax
jne 0x7feeffa59e0
call fcn.7feeff311e0
jmp 0x7feeffa59db
test al, al
jne 0x7feeffa5a99
lea rcx, [rsp + 0x40]
mov rdx, rbp
call fcn.7feeff9d560
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x7feeffa5ac2
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.7feeff5b4b4
mov rbp, qword [rsp + 0x48]
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x7feeffa5aa5
mov qword [rsp + 0x48], rbp
movups xmm0, xmmword [0x7feeffd26b0]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x70]
call fcn.7feeff5b307
mov rcx, qword [rsp + 0x28]
cmp byte [rcx], 0
jne 0x7feeffa5aa5
test al, al
jne 0x7feeffa5aa2
test rbp, rbp
je 0x7feeffa5cc1
movabs rax, 0x4000000000000000
test qword [rbp], rax
jne 0x7feeffa5cc1
mov rcx, rbp
call fcn.7feeff311e0
cmp qword [rsp + 0x50], 0
je 0x7feeffa5ce7
movabs rax, 0x4000000000000000
mov rcx, qword [rsp + 0x50]
test qword [rcx], rax
jne 0x7feeffa5ce7
mov rcx, qword [rsp + 0x50]
call fcn.7feeff311e0
mov esi, 0xffffffff
cmp qword [rsp + 0x60], 0
je 0x7feeffa5d3f
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov ecx, eax
xor ecx, esi
lea ecx, [rcx + rcx*2]
lea edx, [rax + rax]
add ecx, eax
inc ecx
xor ecx, edx
movabs rdx, 0x5408a344c9f363e6
xor rdx, rcx
lea rbp, [rsi - 1]
xor rbp, rcx
add rbp, rdx
movabs rcx, 0xebf75cbbc9f363e8
add rcx, rbp
test rax, rcx
jne 0x7feeffa5d3f
mov rcx, qword [rsp + 0x60]
call fcn.7feeff311e0
test rdi, rdi
je 0x7feeffa5d83
mov rax, qword [rdi]
mov ecx, eax
xor ecx, esi
lea ecx, [rcx + rcx*2]
mov edx, eax
not edx
add edx, esi
lea ecx, [rcx + rax*2]
inc ecx
xor ecx, edx
movabs rdx, 0xc000000000000000
or rdx, rcx
movabs rcx, 0xde33f426d0f7fcaf
imul rcx, rdx
test rax, rcx
jne 0x7feeffa5d83
mov rcx, rdi
call fcn.7feeff311e0
cmp qword [rsp + 0x58], 0
je 0x7feeffa5da9
movabs rax, 0x4000000000000000
mov rcx, qword [rsp + 0x58]
test qword [rcx], rax
jne 0x7feeffa5da9
mov rcx, qword [rsp + 0x58]
call fcn.7feeff311e0
test r12, r12
je 0x7feeffa5dc6
movabs rax, 0x4000000000000000
test qword [r12], rax
jne 0x7feeffa5dc6
mov rcx, r12
call fcn.7feeff311e0
mov rcx, qword [rsp + 0x30]
jmp 0x7feeffa5de8
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x88]
add rax, rcx
movzx edi, word [rsp + 0x38]
movsxd rsi, dword [rax + rdi*4]
call fcn.7feeffa6526
cmp byte [rbx], 0
mov rbp, qword [rsp + 0x20]
jne 0x7feeffa5f4e
mov rcx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x68]
add rbp, rcx
mov edx, 1
xor r8d, r8d
call rbp
mov rbp, qword [rsp + 0x20]
cmp byte [rbx], 0
jne 0x7feeffa5f4e
test eax, eax
je 0x7feeffa5ef7
add rsi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
call fcn.7feeff4447a
mov rcx, rax
call rsi
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp byte [rcx], 0
jne 0x7feeffa5f4e
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov rdx, rax
call fcn.7feeff4574e
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov r8d, 0x8000
call qword [reloc.KERNEL32.dll_VirtualFree]
mov esi, eax
movaps xmm0, xmmword [rbx]
mov rax, qword [rsp + 0x90]
movups xmmword [rax], xmm0
mov rcx, rbx
call fcn.7feeff3fc2a
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x7feeffa5f4e
lea eax, [rsi + rdi]
mov edx, esi
xor edx, edi
sub eax, edx
and esi, edi
add esi, esi
xor esi, eax
movabs rax, 0x50f85545fb6cd1e2
add rax, rsi
movabs rdx, 0x10f85545fb6cd1e2
xor rdx, rax
test qword [rcx], rdx
jne 0x7feeffa5f4e
call fcn.7feeff311e0
jmp 0x7feeffa5f49
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov r8d, 0x8000
call qword [reloc.KERNEL32.dll_VirtualFree]
mov ecx, 0x40
mov edx, 8
call fcn.7feeff3fbf8
lea rcx, [0x7feeffe2610]
mov qword [rax], rcx
lea rdx, str.CatchableError
mov qword [rax + 0x10], rdx
movups xmm0, xmmword [0x7feeffd26c0]
movups xmmword [rax + 0x18], xmm0
mov qword [rax + 8], 0
mov rcx, rax
call fcn.7feeff3fc31
mov rbp, qword [rsp + 0x20]
mov rcx, rbp
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.7feeff33cbb