Function at 0x1401ad020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov rsi, r9
mov r14, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rax, qword [rcx + 0x120]
mov r13, qword [rax + 0x28]
cmp byte [r13 + 0x54], 0
je 0x1401ad0b6
lea r15, [r13 + 0x40]
lea rdx, str.skgpu::ganesh::Device::drawViewLattice
lea r12, [rsp + 0xc0]
mov rcx, r12
call fcn.140048160
movsd xmm2, qword [0x140598970]
mov rcx, r15
mov edx, 1
call fcn.140003cb0
movsxd rcx, dword [r13 + 0x48]
lea eax, [rcx + 1]
shl rcx, 3
add rcx, qword [r13 + 0x40]
mov dword [r13 + 0x48], eax
mov rdx, r12
call fcn.1400482e0
mov rcx, r12
call fcn.1400483d0
mov r12, qword [0x1406ab760]
test r12, r12
jne 0x1401ad0e2
call fcn.140047ea0
mov r8, qword [rax]
lea rdx, str.disabled_by_default_skia.gpu
mov rcx, rax
call qword [r8 + 8]
mov r12, rax
mov qword [0x1406ab760], rax
mov r15, qword [rsp + 0x1c0]
mov qword [rsp + 0x120], 0
test byte [r12], 5
je 0x1401ad16a
call fcn.140047ea0
mov r10, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r13, str.skgpu::ganesh::Device::drawViewLattice
mov rcx, rax
mov dl, 0x58
mov r8, r12
mov r9, r13
call qword [r10 + 0x18]
lea rcx, [rsp + 0x128]
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0xc0], r15
mov byte [rsp + 0x118], 0
mov eax, dword [r14 + 0x10]
cmp rax, 0x20
ja 0x1401ad490
movabs r13, 0x1ff3bbffd
bt r13, rax
jae 0x1401ad221
lea rcx, [r15 + 0x30]
call fcn.14005f160
not eax
test eax, 0xffffff
je 0x1401ad221
lea r12, [rsp + 0xc8]
mov rcx, r12
mov rdx, r15
call fcn.14000ef60
mov byte [rsp + 0x118], 1
mov qword [rsp + 0xc0], r12
movss xmm0, dword [r15 + 0x3c]
mulss xmm0, dword [0x140599760]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1406908e8]
call fcn.14056f630
cvtsd2ss xmm0, xmm0
minss xmm0, dword [0x140599e80]
maxss xmm0, dword [0x140599e84]
cvttss2si edx, xmm0
shl edx, 0x18
or edx, 0xffffff
mov rcx, r12
call fcn.14000f5f0
mov r15, qword [rsp + 0xc0]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xa8], 1
movups xmm0, xmmword [0x1405b7a9c]
movups xmmword [rsp + 0xac], xmm0
mov rdx, qword [rbx + 0x138]
lea rax, [rdx + 0x50]
mov qword [rsp + 0x88], 0
lea r12, [rbx + 0xf0]
add rdx, 0x20
mov rcx, qword [rbx + 0x120]
lea r8, [rsp + 0x90]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r8, r15
mov r9, r12
call fcn.140142450
test al, al
je 0x1401ad390
mov eax, dword [r14 + 0x10]
cmp rax, 0x20
ja 0x1401ad490
mov ebp, dword [rsp + 0x1b8]
mov r15, qword [rsp + 0x1b0]
bt r13, rax
jae 0x1401ad469
mov r8, qword [rbx + 0x138]
add r8, 0x20
lea rcx, [rsp + 0x78]
mov rdx, r14
call fcn.14012c540
mov rcx, qword [rbx + 0x138]
mov rax, qword [rsi]
mov qword [rsi], 0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x68], rax
mov eax, dword [r14 + 0x14]
mov rdx, qword [rdi]
mov qword [rdi], 0
mov qword [rsp + 0x58], rdx
mov edx, dword [rdi + 8]
mov dword [rsp + 0x60], edx
movzx edx, word [rdi + 0xc]
mov word [rsp + 0x64], dx
add rbx, 0x140
mov qword [rsp + 0x48], r15
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], ebp
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x90]
mov rdx, rbx
mov r9, r12
call fcn.140086ad0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401ad390
lock dec dword [rcx + 8]
jne 0x1401ad390
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x1401ad3a7
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1401ad3be
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
cmp byte [rsp + 0x118], 0
je 0x1401ad3d5
lea rcx, [rsp + 0xc8]
call fcn.14000f060
cmp qword [rsp + 0x120], 0
je 0x1401ad414
mov rax, qword [rsp + 0x128]
cmp byte [rax], 0
je 0x1401ad414
call fcn.140047ea0
mov r9, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
mov r10, qword [rax]
mov rcx, rax
call qword [r10 + 0x20]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401ad42c
lock dec dword [rcx + 8]
jne 0x1401ad42c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rsi, qword [rsi]
test rsi, rsi
je 0x1401ad444
mov rcx, rsi
call fcn.1400887a0
mov rcx, rsi
call fcn.1405602d0
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1405602f0
nop
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x1405b79aa]
lea r13, [rsp + 0x80]
mov rcx, r13
call fcn.140138b90
mov rcx, rdi
mov rdx, r13
call fcn.14012f520
jmp 0x1401ad2d1
ud2