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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, 0x20
jle 0x4b5b92
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.004b77b4
add esp, 4
cmp ebx, 0x200
jle 0x4b5b51
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push edi
call fcn.004b84b4
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.004b8564
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.004b84b4
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.004b84b4
add esp, 0x40
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b6234
cmp edi, 0x20
jle 0x4b5b74
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push ebx
call fcn.004b8604
add esp, 0x10
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b6234
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push edx
push ebx
mov edx, esi
call fcn.004b9ac4
add esp, 8
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b6234
cmp ebx, 8
jle 0x4b5bc5
cmp ebx, 0x20
jne 0x4b5bb4
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
lea ecx, [eax + ecx*4 - 0x20]
mov eax, esi
call fcn.004b9b44
pop ebx
pop ebp
jmp fcn.004b6944
mov ecx, dword [ebp + 0x10]
mov eax, esi
call fcn.004bad34
pop ebx
pop ebp
jmp 0x4b6ab4
jne 0x4b5c88
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 0x4b5cc9
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