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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
movss xmm4, dword [0x1038cbcc]
mov dword [esp + 0x1c], eax
movss xmm1, dword [eax]
mulss xmm1, dword [0x10386830]
push ebx
movss xmm0, dword [edx]
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x10386830]
subss xmm0, xmm1
push ebp
push esi
mov ebx, dword [esp + 0xa8]
push edi
mulss xmm0, xmm4
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x18], edx
movss dword [esp + 0x28], xmm1
cvttss2si ecx, xmm0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0x1039aa88
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], 0x1039af64
movss xmm0, dword [edx + 4]
subss xmm0, xmm2
mov dword [esp + 0x14], ecx
sar ecx, 8
movss dword [esp + 0x24], xmm2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mulss xmm0, xmm4
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0x1039af98
cvttss2si eax, xmm0
movss xmm0, dword [edx + 8]
addss xmm0, xmm1
mov dword [esp + 0x10], eax
sar eax, 8
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], eax
mulss xmm0, xmm4
cvttss2si esi, xmm0
movaps xmm0, xmm2
addss xmm0, dword [edx + 0xc]
lea eax, [esi + 0xff]
sar eax, 8
mulss xmm0, xmm4
mov dword [esp + 0x40], eax
cvttss2si ebp, xmm0
lea eax, [ebp + 0xff]
sar eax, 8
mov dword [esp + 0x44], eax
test edi, edi
je 0x101789e2
cmp dword [edi + 0x10], 0xffffffff
je 0x10178d01
lea ecx, [esp + 0x38]
call sym.skottie.dll_public:_bool___thiscall_SkIRect::isEmpty_void_const
test al, al
jne 0x10178d01
lea eax, [esp + 0x38]
push eax
push edi
lea ecx, [esp + 0x90]
call fcn.1003b460
test al, al
je 0x10178d01
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.100ba790
test al, al
jne 0x101789d6
lea eax, [esp + 0x38]
push eax
push edi
push ebx
lea ecx, [esp + 0x54]
call fcn.10162b90
mov ebx, eax
mov edx, dword [esp + 0x18]
movss xmm4, dword [0x1038cbcc]
mov eax, dword [esp + 0x2c]
movss xmm0, dword [edx]
movss xmm3, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm1, xmm3
subss xmm1, dword [esp + 0x28]
movaps xmm2, xmm5
subss xmm2, dword [esp + 0x24]
addss xmm0, xmm1
mulss xmm0, xmm4
cvttss2si eax, xmm0
movaps xmm0, xmm2
addss xmm0, dword [edx + 4]
mov dword [esp + 0x1c], eax
mulss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [edx + 8]
subss xmm0, xmm1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mulss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [eax + 0xc]
subss xmm0, xmm2
mov dword [esp + 0x20], edx
mulss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [0x10386834]
comiss xmm0, xmm3
mov dword [esp + 0x2c], ecx
ja 0x10178a69
comiss xmm0, xmm5
jbe 0x10178ae5
mov edi, dword [esp + 0x1c]
mov eax, edi
sar eax, 8
cmp dword [esp + 0x34], eax
jne 0x10178a8d
mov eax, dword [esp + 0x14]
movzx eax, al
sub edi, eax
and dword [esp + 0x14], 0xffffff00
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x24]
mov eax, edi
sar eax, 8
cmp dword [esp + 0x30], eax
jne 0x10178ab1
mov eax, dword [esp + 0x10]
movzx eax, al
sub edi, eax
and dword [esp + 0x10], 0xffffff00
mov dword [esp + 0x24], edi
mov eax, edx
xor eax, esi
test eax, 0xffffff00
jne 0x10178acb
movzx eax, dl
sub esi, eax
and edx, 0xffffff00
mov dword [esp + 0x20], edx
mov eax, ecx
xor eax, ebp
test eax, 0xffffff00
jne 0x10178ae5
movzx eax, cl
sub ebp, eax
and ecx, 0xffffff00
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x10]
push 0
push ebx
push ebp
push esi
push eax
mov eax, dword [esp + 0x28]
push eax
call fcn.10179130
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
lea ecx, [ecx + 0xff]
sar ebp, 8
lea edx, [edx + 0xff]
sar ecx, 8
sar edx, 8
sar esi, 8
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], ebp
cmp edi, eax
jge 0x10178cea
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
cmp edx, ebp
jge 0x10178ce2
add eax, 0xff
sar edi, 8
sar eax, 8
mov dword [esp + 0x28], edi
mov edi, edx
mov dword [esp + 0x18], eax
lea eax, [ebp + 0xff]
sar eax, 8
sar edi, 8
mov dword [esp + 0x10], eax
cmp ecx, esi
jge 0x10178ba5
cmp dword [esp + 0x14], edi
jge 0x10178ba5
mov edx, dword [ebx]
mov eax, edi
sub eax, dword [esp + 0x14]
sub esi, ecx
push eax
push esi
push dword [esp + 0x1c]
push ecx
mov ecx, ebx
call dword [edx + 0x10]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
cmp ecx, dword [esp + 0x28]
jge 0x10178bca
cmp edi, eax
jge 0x10178bca
mov edx, dword [ebx]
sub eax, edi
push eax
mov eax, dword [esp + 0x2c]
sub eax, ecx
push eax
push edi
push ecx
mov ecx, ebx
call dword [edx + 0x10]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x18], esi
jge 0x10178bfb
cmp edi, edx
jge 0x10178bfb
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [ebx]
sub eax, edi
push eax
mov eax, dword [esp + 0x1c]
sub esi, eax
push esi
push edi
push eax
call dword [edx + 0x10]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
cmp ecx, esi
jge 0x10178c1f
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
cmp edx, eax
jge 0x10178c1f
sub dword [esp + 0x18], edx
sub esi, ecx
push dword [esp + 0x18]
mov eax, dword [ebx]
push esi
push edx
push ecx
mov ecx, ebx
call dword [eax + 0x10]
lea eax, [ebp - 1]
sar eax, 8
cmp edi, eax
mov eax, dword [esp + 0x24]
jne 0x10178c53
sub eax, ebp
add eax, 0x100
je 0x10178d01
mov esi, dword [esp + 0x1c]
push ebx
push eax
push dword [esp + 0x28]
push edi
push esi
call fcn.10179d80
add esp, 0x14
jmp 0x10178d01
mov esi, dword [esp + 0x1c]
movzx eax, al
test eax, eax
je 0x10178c6f
push ebx
push eax
push dword [esp + 0x28]
push edi
push esi
call fcn.10179d80
add esp, 0x14
inc edi
mov eax, ebp
sar eax, 8
mov ebp, eax
mov dword [esp + 0x30], eax
sub ebp, edi
test ebp, ebp
jle 0x10178cdc
mov ecx, dword [esp + 0x1c]
test cl, cl
je 0x10178c96
mov eax, dword [ebx]
push ecx
push ebp
push edi
push dword [esp + 0x34]
mov ecx, ebx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x20]
test cl, cl
je 0x10178cb9
mov edx, dword [ebx]
mov al, cl
not al
movzx eax, al
push eax
push ebp
mov eax, ecx
mov ecx, ebx
push edi
sar eax, 8
push eax
call dword [edx + 0xc]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
test al, al
je 0x10178d01
push ebx
not eax
movzx eax, al
push eax
push ecx
push dword [esp + 0x3c]
push esi
call fcn.10179d80
add esp, 0x14
jmp 0x10178d01
mov ecx, dword [esp + 0x20]
jmp 0x10178cbd
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
cmp ecx, esi
jge 0x10178d01
cmp edx, ebp
jge 0x10178d01
mov eax, dword [ebx]
sub ebp, edx
push ebp
sub esi, ecx
push esi
push edx
push ecx
mov ecx, ebx
call dword [eax + 0x10]
lea ecx, [esp + 0x74]
call fcn.101622b0
lea ecx, [esp + 0x54]
call fcn.101622b0
lea ecx, [esp + 0x48]
call fcn.101622b0
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x8c
ret