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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
cmp byte [edi + 0x44], 0
jne 0x10170b13
mov eax, dword [edi]
push esi
call dword [eax + 8]
jmp 0x10170d67
lea ecx, [esp + 0x48]
call fcn.10046670
lea eax, [esp + 0x48]
mov ecx, edi
push eax
push dword [esi + 0x1c]
call fcn.10170f10
test al, al
mov ecx, edi
mov eax, dword [edi]
push esi
jne 0x10170b3c
call dword [eax + 8]
jmp 0x10170d5e
mov eax, dword [eax + 4]
mov bl, byte [esi + 0x18]
call eax
test al, al
jne 0x10170b50
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 8]
cmp bl, 0xff
jne 0x10170b58
mov bl, byte [edi + 0x34]
mov byte [esi + 0x18], bl
cmp bl, 3
jne 0x10170b64
mov byte [esi + 0x18], 1
mov ebx, dword [esp + 0x48]
cmp byte [ebx + 0x54], 0
je 0x10170b83
push dword [ebx + 0x1c]
lea ecx, [ebx + 4]
push dword [ebx + 0x14]
call fcn.1003b710
mov byte [ebx + 0x55], al
mov byte [ebx + 0x54], 0
movss xmm0, dword [ebx + 0x10]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x78], xmm0
fld qword [esp + 0x78]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
movss xmm1, dword [0x1038683c]
add esp, 8
movss xmm0, dword [0x10386844]
fstp dword [esp + 0x44]
movss xmm2, dword [esp + 0x44]
comiss xmm1, xmm2
ja 0x10170bc7
movaps xmm2, xmm1
jmp 0x10170bcf
comiss xmm2, xmm0
ja 0x10170bcf
movaps xmm2, xmm0
movss xmm0, dword [ebx + 0xc]
sub esp, 8
cvtps2pd xmm0, xmm0
cvttss2si eax, xmm2
movsd qword [esp + 0x78], xmm0
fld qword [esp + 0x78]
fstp qword [esp]
mov dword [esp + 0x4c], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
movss xmm0, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x40]
movss xmm1, dword [esp + 0x40]
comiss xmm0, xmm1
jbe 0x10170c1b
movss xmm0, dword [0x10386844]
comiss xmm1, xmm0
ja 0x10170c1e
movaps xmm1, xmm0
movss xmm0, dword [ebx + 8]
sub esp, 8
cvtps2pd xmm0, xmm0
cvttss2si eax, xmm1
movsd qword [esp + 0x78], xmm0
fld qword [esp + 0x78]
fstp qword [esp]
mov dword [esp + 0x48], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm0, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x3c]
movss xmm1, dword [esp + 0x3c]
comiss xmm0, xmm1
jbe 0x10170c6a
movss xmm0, dword [0x10386844]
comiss xmm1, xmm0
ja 0x10170c6d
movaps xmm1, xmm0
movss xmm0, dword [ebx + 4]
sub esp, 8
cvtps2pd xmm0, xmm0
cvttss2si eax, xmm1
movsd qword [esp + 0x78], xmm0
fld qword [esp + 0x78]
fstp qword [esp]
mov dword [esp + 0x44], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm0, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x70]
movss xmm1, dword [esp + 0x70]
comiss xmm0, xmm1
jbe 0x10170cb9
movss xmm0, dword [0x10386844]
comiss xmm1, xmm0
ja 0x10170cbc
movaps xmm1, xmm0
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x70]
cvttss2si ebx, xmm1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], ebx
call sym.skottie.dll_public:_bool___thiscall_SkIRect::isEmpty_void_const
test al, al
jne 0x10170e35
lea eax, [esp + 0x70]
push eax
call fcn.1016f2f0
add esp, 4
test al, al
je 0x10170e35
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
sub eax, ebx
mov edx, dword [esp + 0x44]
sub edx, ecx
movzx eax, ax
movzx edx, dx
mov word [esi + 6], bx
mov word [esi + 4], cx
mov word [esi], ax
mov word [esi + 2], dx
test ax, ax
je 0x10170d5e
cmp byte [esi + 0x18], 4
jne 0x10170d5e
mov ecx, 0x200
test word [edi + 0x36], cx
mov ecx, dword [esp + 0x3c]
je 0x10170d51
lea eax, [edx + 2]
mov word [esi + 2], ax
lea eax, [ecx - 1]
mov word [esi + 4], ax
jmp 0x10170d5e
add eax, 2
mov word [esi], ax
lea eax, [ebx - 1]
mov word [esi + 6], ax
lea ecx, [esp + 0x48]
call fcn.10046740
xor eax, eax
cmp ax, word [esi]
je 0x10170e2c
cmp ax, word [esi + 2]
je 0x10170e2c
cmp dword [edi + 0x40], eax
je 0x10170e4b
lea eax, [esp + 0x54]
mov ecx, esi
push eax
call fcn.100ca0e0
lea ecx, [esp + 0x94]
mov dword [esp + 0x70], 0
call sym.skottie.dll_public:_void___thiscall_SkMatrix::constructor_void_
lea eax, [esp + 0x94]
push eax
lea ecx, [edi + 4]
call fcn.10170a80
mov ecx, dword [edi + 0x40]
lea edx, [esp + 0x94]
push 0
push edx
mov dword [esp + 0x5c], 0
lea edx, [esp + 0x5c]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x10170e4b
lea ecx, [esp + 0x74]
call sym.skottie.dll_public:_bool___thiscall_SkIRect::isEmpty_void_const
test al, al
jne 0x10170e3e
lea eax, [esp + 0x74]
push eax
call fcn.1016f2f0
add esp, 4
test al, al
je 0x10170e3e
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
sub eax, ecx
mov word [esi], ax
mov eax, dword [esp + 0x80]
sub eax, edx
mov word [esi + 6], cx
mov word [esi + 2], ax
mov al, byte [esp + 0x88]
mov word [esi + 4], dx
jmp 0x10170e48
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
jmp 0x10170e48
lea ecx, [esp + 0x48]
call fcn.10046740
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], eax
mov al, byte [edi + 0x34]
mov byte [esi + 0x18], al
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret 4