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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, 0x20
jle 0x4ea4ea
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push edi
mov edi, ebx
sar edi, 2
sub eax, edi
lea edx, [ecx + eax*4]
push edx
mov eax, esi
mov ecx, ebx
call fcn.004ec10c
add esp, 4
cmp ebx, 0x200
jle 0x4ea4a9
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push edi
call fcn.004ece0c
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
push eax
lea ecx, [esi + edi*4]
push ecx
push edi
call fcn.004ecebc
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
push eax
lea ecx, [esi + edi*8]
push ecx
push edi
call fcn.004ece0c
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
lea ecx, [edi + edi*2]
push eax
lea edx, [esi + ecx*4]
push edx
push edi
call fcn.004ece0c
add esp, 0x40
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004eab8c
cmp edi, 0x20
jle 0x4ea4cc
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push ebx
call fcn.004ecf5c
add esp, 0x10
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004eab8c
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push edx
push ebx
mov edx, esi
call fcn.004ee41c
add esp, 8
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004eab8c
cmp ebx, 8
jle 0x4ea51d
cmp ebx, 0x20
jne 0x4ea50c
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
lea ecx, [eax + ecx*4 - 0x20]
mov eax, esi
call fcn.004ee49c
pop ebx
pop ebp
jmp fcn.004eb29c
mov ecx, dword [ebp + 0x10]
mov eax, esi
call fcn.004ef68c
pop ebx
pop ebp
jmp 0x4eb40c
jne 0x4ea5e0
movss xmm4, dword [esi + 0x10]
movss xmm2, dword [esi]
movss xmm5, dword [esi + 0x14]
movss xmm3, dword [esi + 4]
movss xmm6, dword [esi + 0xc]
movss xmm7, dword [esi + 0x1c]
movaps xmm1, xmm3
subss xmm3, xmm5
addss xmm1, xmm5
movaps xmm0, xmm2
addss xmm0, xmm4
subss xmm2, xmm4
movss xmm4, dword [esi + 8]
movss dword [ebp + 8], xmm3
movss xmm3, dword [esi + 0x18]
movaps xmm5, xmm4
addss xmm5, xmm3
movaps xmm3, xmm6
addss xmm3, xmm7
movss xmm7, dword [esi + 0x18]
subss xmm4, xmm7
movss xmm7, dword [esi + 0x1c]
subss xmm6, xmm7
movaps xmm7, xmm5
addss xmm7, xmm0
subss xmm0, xmm5
movss dword [esi + 0x10], xmm0
movss dword [esi], xmm7
movaps xmm7, xmm3
addss xmm7, xmm1
subss xmm1, xmm3
movaps xmm0, xmm6
addss xmm0, xmm2
movss dword [esi + 0x14], xmm1
movss dword [esi + 8], xmm0
movss xmm0, dword [ebp + 8]
movaps xmm1, xmm0
subss xmm1, xmm4
subss xmm2, xmm6
addss xmm4, xmm0
movss dword [esi + 4], xmm7
movss dword [esi + 0xc], xmm1
movss dword [esi + 0x18], xmm2
movss dword [esi + 0x1c], xmm4
pop ebx
pop ebp
ret
cmp ebx, 4
jne 0x4ea621
movss xmm4, dword [esi]
movss xmm5, dword [esi + 4]
movss xmm0, dword [esi + 8]
movss xmm1, dword [esi + 0xc]
movaps xmm2, xmm4
subss xmm2, xmm0
movaps xmm3, xmm5
subss xmm3, xmm1
addss xmm0, xmm4
addss xmm1, xmm5
pop eax
int 0xf3
movups xmmword [esi], xmm0
fld dword [eax + 0x38]
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
fstp dword [eax + 8]
fld dword [eax + 0x3c]
movss xmm2, dword [eax + 0x10]
movss xmm3, dword [eax + 0x14]
fstp dword [eax + 0xc]
fld dword [eax + 0x18]
movss xmm4, dword [eax + 0x20]
movss xmm5, dword [eax + 0x24]
fstp dword [eax + 0x10]
fld dword [eax + 0x1c]
movss dword [eax + 0x20], xmm0
fstp dword [eax + 0x14]
movss dword [eax + 0x24], xmm1
fld dword [eax + 0x28]
movss dword [eax + 0x38], xmm4
fstp dword [eax + 0x18]
movss dword [eax + 0x3c], xmm5
fld dword [eax + 0x2c]
fstp dword [eax + 0x1c]
fld dword [eax + 0x30]
movss dword [eax + 0x30], xmm2
fstp dword [eax + 0x28]
fld dword [eax + 0x34]
movss dword [eax + 0x34], xmm3
fstp dword [eax + 0x2c]
ret