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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, 0x20
jle 0x4b5c7a
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.004b789c
add esp, 4
cmp ebx, 0x200
jle 0x4b5c39
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push edi
call fcn.004b859c
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.004b864c
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.004b859c
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.004b859c
add esp, 0x40
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b631c
cmp edi, 0x20
jle 0x4b5c5c
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push esi
push ebx
call fcn.004b86ec
add esp, 0x10
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b631c
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push edx
push ebx
mov edx, esi
call fcn.004b9bac
add esp, 8
pop edi
mov ecx, ebx
mov eax, esi
pop ebx
pop ebp
jmp fcn.004b631c
cmp ebx, 8
jle 0x4b5cad
cmp ebx, 0x20
jne 0x4b5c9c
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
lea ecx, [eax + ecx*4 - 0x20]
mov eax, esi
call fcn.004b9c2c
pop ebx
pop ebp
jmp fcn.004b6a2c
mov ecx, dword [ebp + 0x10]
mov eax, esi
call fcn.004bae1c
pop ebx
pop ebp
jmp 0x4b6b9c
jne 0x4b5d70
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 0x4b5db1
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