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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov ebx, ecx
push esi
mov esi, edx
push edi
mov dword [ebx], 0x3f800000
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0x3f800000
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
cmp byte [esi], 0
je 0x100250df
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
push 6
push str.matrix
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x10024c2a
mov dword [esp + 0x10], eax
lea edx, [esp + 0x68]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 6
call fcn.10024ac0
add esp, 8
mov edi, eax
cmp dword [esp + 0x10], 6
jne 0x10025007
movups xmm0, xmmword [esp + 0x68]
movups xmmword [esp + 0x50], xmm0
movq xmm0, qword [esp + 0x78]
movq qword [esp + 0x60], xmm0
jmp 0x10025007
push 9
push str.translate
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x10024c96
mov dword [esp + 0x10], eax
lea edx, [esp + 0x34]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 2
call fcn.10024ac0
add esp, 8
mov edi, eax
cmp dword [esp + 0x10], 1
jne 0x10024c7b
movss xmm1, dword [esp + 0x34]
xorps xmm2, xmm2
movaps xmm0, xmmword [0x100ddc90]
movss dword [esp + 0x38], xmm2
unpcklps xmm1, xmm2
jmp 0x10024ffc
movss xmm2, dword [esp + 0x38]
movss xmm1, dword [esp + 0x34]
movaps xmm0, xmmword [0x100ddc90]
unpcklps xmm1, xmm2
jmp 0x10024ffc
push 5
push str.scale
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x10024d01
mov dword [esp + 0x10], eax
lea edx, [esp + 0x3c]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 2
call fcn.10024ac0
movss xmm1, dword [esp + 0x44]
add esp, 8
cmp dword [esp + 0x10], 1
mov edi, eax
jne 0x10024cda
movaps xmm0, xmm1
movss dword [esp + 0x40], xmm0
jmp 0x10024ce0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x68], xmm1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
movss dword [esp + 0x74], xmm0
jmp 0x10024f69
push 6
push str.rotate
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x10024efd
mov dword [esp + 0x10], eax
lea edx, [esp + 0x44]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 3
call fcn.10024ac0
add esp, 8
mov edi, eax
cmp dword [esp + 0x10], 1
xorps xmm0, xmm0
jne 0x10024d4f
xorps xmm2, xmm2
xorps xmm3, xmm3
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x48], xmm3
jmp 0x10024d5b
movss xmm2, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x48]
xorps xmm1, xmm1
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm1
jle 0x10024d80
subss xmm1, xmm2
subss xmm0, xmm3
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x44]
divss xmm0, dword [0x100dd5ec]
mulss xmm0, dword [0x100dd534]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x1c], xmm0
movsd xmm0, qword [esp + 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cmp dword [esp + 0x10], 1
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x1c]
xorps xmm3, xmm3
cvtsd2ss xmm1, xmm0
movss xmm7, dword [esp + 0x14]
movaps xmm5, xmm2
movaps xmm0, xmm1
mulss xmm5, xmm3
xorps xmm0, xmmword [0x100dde20]
movaps xmm6, xmm7
movaps xmm4, xmm0
mulss xmm6, xmm2
mulss xmm4, xmm3
mulss xmm7, xmm1
addss xmm4, xmm2
movss dword [esp + 0x1c], xmm4
movaps xmm4, xmm0
addss xmm4, xmm5
addss xmm5, xmm1
movss dword [esp + 0x20], xmm4
movss xmm4, dword [esp + 0x18]
mulss xmm0, xmm4
mulss xmm4, xmm2
addss xmm6, xmm0
movss dword [esp + 0x6c], xmm5
addss xmm4, xmm7
movss xmm7, dword [esp + 0x20]
movss dword [esp + 0x70], xmm7
addss xmm6, xmm3
addss xmm4, xmm3
movss dword [esp + 0x18], xmm6
movaps xmm6, xmm1
movss xmm1, dword [esp + 0x18]
mulss xmm6, xmm3
movss dword [esp + 0x7c], xmm4
movss dword [esp + 0x78], xmm1
addss xmm6, xmm2
movss xmm2, dword [esp + 0x1c]
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x74], xmm6
jle 0x10024ee2
movaps xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm5
mulss xmm5, xmm3
addss xmm5, xmm2
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm7
mulss xmm0, xmm3
movss dword [esp + 0x68], xmm5
addss xmm0, xmm6
mulss xmm6, xmm3
addss xmm6, xmm7
movss dword [esp + 0x74], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
movss dword [esp + 0x70], xmm6
addss xmm0, xmm4
mulss xmm4, xmm3
addss xmm4, xmm1
addss xmm0, dword [esp + 0x4c]
addss xmm4, dword [esp + 0x48]
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x78], xmm4
movups xmm0, xmmword [esp + 0x68]
movups xmmword [esp + 0x50], xmm0
movq xmm0, qword [esp + 0x78]
movq qword [esp + 0x60], xmm0
jmp 0x10025007
push 5
push str.skewX
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x10024f87
mov dword [esp + 0x20], eax
lea edx, [esp + 0x2c]
lea eax, [esp + 0x20]
mov ecx, esi
push eax
push 1
call fcn.10024ac0
movss xmm0, dword [esp + 0x34]
add esp, 8
divss xmm0, dword [0x100dd5ec]
mov edi, eax
mov dword [esp + 0x68], 0x3f800000
mov dword [esp + 0x6c], 0
mulss xmm0, dword [0x100dd534]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_tan_precise
cvtsd2ss xmm0, xmm0
mov dword [esp + 0x74], 0x3f800000
movss dword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x68]
xorps xmm1, xmm1
movups xmmword [esp + 0x50], xmm0
xorps xmm0, xmm0
unpcklps xmm0, xmm1
movq qword [esp + 0x60], xmm0
jmp 0x10025007
push 5
push str.skewY
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x100250c9
mov dword [esp + 0x20], eax
lea edx, [esp + 0x30]
lea eax, [esp + 0x20]
mov ecx, esi
push eax
push 1
call fcn.10024ac0
movss xmm0, dword [esp + 0x38]
add esp, 8
divss xmm0, dword [0x100dd5ec]
mov edi, eax
mov dword [esp + 0x68], 0x3f800000
mulss xmm0, dword [0x100dd534]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_tan_precise
movaps xmm1, xmmword [0x100dd7b0]
cvtsd2ss xmm0, xmm0
movups xmmword [esp + 0x70], xmm1
movss dword [esp + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x68]
unpckhpd xmm1, xmm1
movq qword [esp + 0x60], xmm1
movups xmmword [esp + 0x50], xmm0
test edi, edi
je 0x100250c9
movss xmm7, dword [ebx + 4]
movss xmm5, dword [ebx + 0xc]
movss xmm3, dword [esp + 0x50]
movss xmm2, dword [esp + 0x54]
movaps xmm1, xmm3
movss xmm6, dword [ebx + 8]
movaps xmm0, xmm2
movss xmm4, dword [ebx]
mulss xmm2, xmm5
mulss xmm1, xmm4
mulss xmm3, xmm7
mulss xmm0, xmm6
addss xmm2, xmm3
movss xmm3, dword [esp + 0x58]
addss xmm1, xmm0
movss dword [ebx + 4], xmm2
movss xmm2, dword [esp + 0x5c]
movss dword [ebx], xmm1
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm2, xmm5
mulss xmm1, xmm4
mulss xmm3, xmm7
mulss xmm0, xmm6
addss xmm2, xmm3
movss xmm3, dword [esp + 0x60]
addss xmm1, xmm0
movss dword [ebx + 0xc], xmm2
movss xmm2, dword [esp + 0x64]
movss dword [ebx + 8], xmm1
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm2, xmm5
mulss xmm1, xmm4
mulss xmm0, xmm6
mulss xmm3, xmm7
addss xmm1, xmm0
addss xmm2, xmm3
addss xmm1, dword [ebx + 0x10]
addss xmm2, dword [ebx + 0x14]
movss dword [ebx + 0x10], xmm1
movss dword [ebx + 0x14], xmm2
jmp 0x100250ce
mov edi, 1
add esi, edi
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp byte [esi], 0
jne 0x10024bd8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret