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

Disassembly:
sub esp, 0xb4
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
mov ebx, dword [esp + 0xbc]
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x28]
mov edx, dword [eax + 0x20]
test esi, esi
jle 0x10048ec8
nop
mov al, byte [edx]
cmp al, 1
je 0x10048f04
cmp al, 2
je 0x10048f04
cmp al, 3
je 0x10048f04
cmp al, 4
je 0x10048f04
inc ecx
inc edx
cmp ecx, esi
jl 0x10048eb0
mov byte [esp + 0xf], 1
mov eax, dword [ebx + 0x30]
cmp eax, 1
je 0x10049344
test eax, eax
je 0x10049344
cmp eax, 2
jne 0x10048f0b
mov ecx, dword [esp + 0xcc]
shr ecx, 1
push ecx
push dword [esp + 0xcc]
mov ecx, edi
push ebx
call fcn.100484a0
jmp 0x1004935e
mov byte [esp + 0xf], 0
jmp 0x10048ecd
mov ecx, edi
call fcn.1004c370
mov ecx, dword [esp + 0xc8]
test al, al
movzx ecx, cl
mov edx, 2
cmovne edx, ecx
lea ecx, [esp + 0xa4]
push ebx
push edi
mov byte [edi + 9], dl
call fcn.10046510
mov al, byte [edi + 9]
xor edx, edx
cmp dword [esp + 0xc8], edx
mov ecx, dword [esp + 0xcc]
movzx eax, al
sete dl
mov dword [esp + 0x2c], eax
mov eax, ecx
and eax, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
xor eax, edx
add eax, 9
test eax, eax
jle 0x10048f7d
push eax
push eax
push edi
lea ecx, [esp + 0x3c]
call fcn.10044ed0
mov ecx, dword [esp + 0xcc]
movss xmm4, dword [ebx]
mov esi, ecx
movss xmm0, dword [ebx + 0x10]
and esi, 7
movss xmm2, dword [ebx + 8]
addss xmm0, xmm4
movss xmm1, dword [ebx + 4]
mov eax, 1
movss xmm3, dword [ebx + 0xc]
mov edx, dword [esp + 0xc8]
test edx, edx
push ebp
movss dword [esp + 0x60], xmm0
mov ebp, 7
movaps xmm0, xmm2
mov dword [esp + 0xa0], esi
subss xmm0, dword [ebx + 0x18]
cmove ebp, eax
movss dword [esp + 0x64], xmm1
mov eax, ecx
mov dword [esp + 0xa4], ebp
mov ecx, edi
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x68], xmm0
movss xmm0, dword [ebx + 0x1c]
addss xmm0, xmm1
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x84], xmm3
movss dword [esp + 0x8c], xmm3
movss dword [esp + 0x90], xmm4
movss dword [esp + 0x98], xmm4
movss dword [esp + 0x74], xmm0
movaps xmm0, xmm3
subss xmm0, dword [ebx + 0x24]
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [ebx + 0x20]
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x80], xmm0
movss xmm0, dword [ebx + 0x28]
addss xmm0, xmm4
movss dword [esp + 0x88], xmm0
movaps xmm0, xmm3
subss xmm0, dword [ebx + 0x2c]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [ebx + 0x14]
xor ebx, ebx
test edx, edx
addss xmm0, xmm1
setne bl
shr eax, 1
add ebx, eax
xor eax, eax
and ebx, 3
test edx, edx
movss dword [esp + 0x9c], xmm0
setne al
mov dword [esp + 0x58], ebx
lea eax, [eax*2 + 1]
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x60]
lea eax, [eax + esi*8]
push eax
call sym.skottie.dll_public:_class_SkPath____thiscall_SkPath::moveTo_struct_SkPoint_const__
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jne 0x10049201
mov dword [esp + 0x14], 3
add ebx, dword [esp + 0x18]
sub esp, 0x14
add esi, ebp
and ebx, 3
and esi, 7
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xb4], esi
mov ecx, edi
mov dword [esp + 0x10], 0x3f3504f3
movss xmm0, dword [esp + esi*8 + 0x78]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + esi*8 + 0x74]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + ebx*8 + 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + ebx*8 + 0x4c]
movss dword [esp], xmm0
call fcn.1004b1f0
add esi, ebp
mov ecx, edi
and esi, 7
mov dword [esp + 0xa0], esi
call fcn.1004c3c0
push 0
push 0
push edi
lea ecx, [esp + 0x2c]
call fcn.10044ed0
push ecx
mov ecx, dword [esp + 0x24]
mov dword [esp], 0
push 1
call fcn.10045dc0
sub dword [esp + 0x14], 1
mov ecx, dword [esp + esi*8 + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + esi*8 + 0x64]
mov dword [eax + 4], ecx
mov byte [edi + 8], 0
mov byte [edi + 9], 2
jne 0x100490f5
mov ecx, dword [esp + 0x18]
lea eax, [esi + ebp]
sub esp, 0x14
and eax, 7
mov dword [esp + 0xb4], eax
add ecx, ebx
and ecx, 3
mov dword [esp + 0x6c], ecx
movss xmm0, dword [esp + eax*8 + 0x78]
mov dword [esp + 0x10], 0x3f3504f3
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + eax*8 + 0x74]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + ecx*8 + 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + ecx*8 + 0x4c]
mov ecx, edi
movss dword [esp], xmm0
call fcn.1004b1f0
jmp 0x100492bc
mov dword [esp + 0x14], 4
nop dword [eax]
add esi, ebp
mov ecx, edi
and esi, 7
mov dword [esp + 0xa0], esi
call fcn.1004c3c0
push 0
push 0
push edi
lea ecx, [esp + 0x30]
call fcn.10044ed0
push ecx
mov ecx, dword [esp + 0x28]
mov dword [esp], 0
push 1
call fcn.10045dc0
mov ecx, dword [esp + esi*8 + 0x60]
sub esp, 0x14
add ebx, dword [esp + 0x2c]
and ebx, 3
mov dword [eax], ecx
mov ecx, dword [esp + esi*8 + 0x78]
add esi, ebp
and esi, 7
mov dword [esp + 0x10], 0x3f3504f3
mov dword [esp + 0xb4], esi
mov dword [esp + 0x6c], ebx
mov dword [eax + 4], ecx
mov ecx, edi
movss xmm0, dword [esp + esi*8 + 0x78]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + esi*8 + 0x74]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + ebx*8 + 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + ebx*8 + 0x4c]
mov byte [edi + 8], 0
mov byte [edi + 9], 2
movss dword [esp], xmm0
call fcn.1004b1f0
sub dword [esp + 0x14], 1
jne 0x10049210
mov eax, dword [edi]
pop ebp
mov ecx, dword [eax + 0x28]
test ecx, ecx
jle 0x100492f1
mov eax, dword [eax + 0x20]
cmp byte [eax + ecx - 1], 4
ja 0x100492f1
push 0
push 0
push edi
lea ecx, [esp + 0x30]
call fcn.10044ed0
push ecx
mov ecx, dword [esp + 0x28]
mov dword [esp], 0
push 5
call fcn.10045dc0
mov ecx, dword [edi + 4]
not ecx
push 0
sar ecx, 0x1f
xor dword [edi + 4], ecx
lea ecx, [esp + 0x2c]
push 0
push edi
call fcn.10044ed0
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0xf]
cmp dword [esp + 0xc8], 1
mov byte [ecx + 0x57], al
sete al
mov byte [ecx + 0x58], al
mov eax, dword [esp + 0xcc]
and al, 7
mov byte [ecx + 0x59], al
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0x2c]
mov byte [edi + 9], al
call fcn.100466a0
jmp 0x1004935e
mov eax, dword [esp + 0xcc]
mov ecx, edi
inc eax
shr eax, 1
push eax
push dword [esp + 0xcc]
push ebx
call fcn.100493a0
mov ecx, dword [esp + 0xbc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0xb4
ret 0xc